Documentation In Agile Development
Agile methodology are being implemented in company to provide a better environment for software development incremental work, frequent feedback an adaptation to change are accepted values. While agile methodologies have been analyzed in a number of publications, the creation and maintenance of software documentation is rarely addressed in them.
Agile development
Types of documentation
Product vision
A description of the basic nature of the product and a summary of current cost estimates, expected benefits, risks, headcount estimates and planned milestones.
Design decisions
This is an overview of the critical design and architecture decisions the team made on the project. Document your design decisions through additional artifacts such a system overviews and source code.
Operations documentation
This is usually a description of the dependencies your system is involved links a backup procedure, troubleshooting instructions. The operations department probably has a standard format for this type of documentation.
Required documents
An overview of the system does, including use cases, user stories, or basic ui prototypes.
Support documentation
This includes training materials specific to support staff and a troubleshooting guide. A department, the support team may have standard templates or you can work from them.
System documentation
A system overview, including technical architecture, business architecture, and high-level requirements. It helps ensure that if the development team leaves, critical information remains.
Advantages
Change is accepted
With shorter planning cycles, is always a opportunity to refine and re prioritize backlogs to accommodate changes a project progresses.
End goal may be unknown
Agile is beneficial for a project the end goal is not clearly defined. A project progresses, the goals will become clear and the team can adapt.
Faster, high quality delivery
Dividing the project into iterations allows the team to focus on high quality development, testing, and collaboration. Carrying out testing during each iteration means a identified and fixed more quickly.
Strong
Agile team interaction involves frequent a communication and face to face interactions.
Customers are heard
Customers have a opportunities to see the work being delivered their input and influence the final product.
Continuous improvement
Feedback from users and team members is encouraged throughout a project so that lessons learned are used to improve future iterations.
Disadvantages
A difficult to establish a firm delivery date, documentation may be neglected, or the final product may be a very different from what was originally intended.
Planning can be less specific
A project managers have ten tasks that change priorities, it is possible that some items scheduled for delivery may not be a completed-on time.
Team must be knowledgeable
Agile teams are usually small a team members must be highly skilled in different areas and a understand the agile methodology.
Time commitment from developers
Active involvement and a collaboration is required throughout the agile process, which is a time consuming the traditional approach.
Documentation can be neglected
Agile prioritizes work a deliverables over comprehensive documentation. While documentation alone a lead to success, teams should find the right between a documentation and discussion.
Conclusion
Agile development methodology is by no means anti documentation. The goal is to choose a format and level of detail that allows for change and provides just a value to keep the team moving in the right direction.


