Thursday, May 26, 2016

The Agile Manifesto in English - 3

Values




The four values of agile manifesto are modeled as comparative statements.  These comparisons introduces desired and less desired behaviors not the desired and not desired.

2.     Working software over comprehensive documentation

The main objective of software development and maintenance is working software. The working software implies software which delivers the value to its sponsors and users.

In plan heavy methodologies, software development is a set of sequential activities. Sequencing of activities assumes that previous activities have completed before starting of current one. This assumption requires before development to start all requirements are known and frozen in time. Information (as well as knowledge) collected in requirement phase need to be passed to development phase. Persons doing requirement collection and development are different. This segregation of skills require massive amount of documentation. To reduce the risk any change in requirement is discouraged once development commence.  I hope you are not missing design documentation which is passed from architecture and design team to development team. Similar flow is repeated from development to testing teams.

Plan heavy methodologies assume static business and technical environment. It is also assumed that team has static skill set. But in reality this assumption does not hold good. During the course of project not only business and technical environment changes but individuals also learn. These individuals are not only part of software development & maintenance teams but sponsors and users of software as well. 

Agile way of working accepts the truth of evolution and models software development and maintenance around this reality. Agile way of software delivery takes incremental approach and relies on embedded short and frequent feedback cycles. Also agile way of working insists on small teams of generalists which can create small piece of system end to end – vertically.  Due to these factors agile way of working relies less on documentation and focuses on incremental delivery. 

This value is more focused on internal facing documentation. Teams certainly be devoting great amount of time and efforts in developing external facing documentation such as user manuals.
In light of above discussion, it does not mean that teams do not require documentation but sufficient, so work can continue to progress unhindered. Agile way of working ensures that short and frequent feedback loops diminishes the tendency of baton passing. In agile way of working teams can focus on main objective – delivery of working software.



No comments:

Post a Comment