The most valuable thing is an experienced team who thoroughly understand both the specifications and the implementation as well as the reasoning behind both. Written specifications are great as onboarding and reference material but there will always be gaps between the specifications and the code. (“The map is not the territory.”) Even with solid specifications you can’t just turn over maintenance of a codebase to a new team and expect them to immediately be productive with it.
The most valuable thing is an experienced team who thoroughly understand both the specifications and the implementation as well as the reasoning behind both. Written specifications are great as onboarding and reference material but there will always be gaps between the specifications and the code. (“The map is not the territory.”) Even with solid specifications you can’t just turn over maintenance of a codebase to a new team and expect them to immediately be productive with it.