From waterfall style having extensive documentation for each SDLC phase till the Extreme programming / SCRUM with very basics like user stories
I must add here, when teams say we’re going ‘Agile’, so don’t need anything except for user stories, that does not make me happy
Too much we run into problems of maintaining them,
Too little, and as soon as one or two key people leave their position, everyone is in trouble
It should be enough to sustain development, and keep the process lean enough
I guess everyone would agree on all the aforementioned, the problem is “Striking the right balance”..
I’d like to propose the following as a yard stick:
– Anyone wishing to understand any part of the code should not have the need to hunt down people to understand. Sufficient commenting and coding practices should be used
– Anyone wishing to learn about how the system should behave in a certain scenario, can find that info without bugging every single developer.
For application domain, one can utilize user stories, gherkin feature files (BDD), mind maps, test cases, client specifications
For code understanding, code documentation, commenting, coding practices, architecture documents