Documentation is considered pretty un-Agilish in the Agile development world. However based on my short tryst with Agile, I feel its a necessary evil. Without adequate documentation, debugging; bug fixing and maintenance tend to become nightmares. Infact I have seen more time getting consumed by developers trying to understand other developers code than it would take to document it.
I definitely DO NOT support the elaborate documentation style that comes with Waterfall - High level designs, Low level designs and more but should be minimal enough to support the needs.
One way to do so is to add more comments than lines of code you write. This way your code would look like a beautiful story - easy to read, understand and maintain. Block comments, method comments and class level comments - all add to the readability of your code. Also this needs to be done while you are coding and not at a later stage (because that time never comes).
To document business aspect of your application you can maintain a running technical design document where in developments done in a Sprint can be jotted down for reference later on.
In these two ways you can keep your application maintenance low-cost even as it expands and still adhere to Agile's short timelines.
This post is based on my experience with Agile. Any thoughts or recommendations are welcome. Please feel free to comment.
I definitely DO NOT support the elaborate documentation style that comes with Waterfall - High level designs, Low level designs and more but should be minimal enough to support the needs.
One way to do so is to add more comments than lines of code you write. This way your code would look like a beautiful story - easy to read, understand and maintain. Block comments, method comments and class level comments - all add to the readability of your code. Also this needs to be done while you are coding and not at a later stage (because that time never comes).
To document business aspect of your application you can maintain a running technical design document where in developments done in a Sprint can be jotted down for reference later on.
In these two ways you can keep your application maintenance low-cost even as it expands and still adhere to Agile's short timelines.
This post is based on my experience with Agile. Any thoughts or recommendations are welcome. Please feel free to comment.






