Agile methods seem to be at odds with the use of traceability.  The defining attributes of Agile processes begin with breaking development work into smaller pieces (terms used might include time boxing or iterations).  An integral component in Agile methods is the use of real time communication over written documents.  Techniques such as team co-location are leveraged to enhance intimate, constant communication and the team esprit de corp.  Projects using Agile methods typically measure progress through the creation of working software rather than status reports and documentation. (See http://en.wikipedia.org/wiki/Agile_methods for further descriptions).  The attributes of Agile software development and the occasional inappropriate application of the methods can cause the groups using Agile methods to be viewed as less disciplined (when implemented poorly this view is less a perception than a fact).  This perception is put more eloquently in the WIKIPEDIA entry, which ends with the following comment, “Combined with the preference for face-to-face communication, agile methods produce very little written documentation relative to other methods. This has resulted in criticism of Agile methods as being undisciplined”.  The question presented to organizations is whether traceability can be pursued when a project is using Agile processes? 

The principles behind the Agile manifesto focus on the satisfying customers though early and continuous delivery of software. As noted before, the Agile manifesto stipulates that the most efficient and effective method of conveying information to and within a development team is face-to-face conversation. Assuming the primacy of satisfying the customer, the process for each project must be assessed and tailored to most effectively and efficiently deliver functional software.  The level of business customer involvement is a determinant of whether Agile methods can be useful.  The levels of complexity and criticality affect the requirements for communication and the ability to simplify (maximize the amount of work not done). Traceability becomes a tool that can be leveraged to bridge the gaps caused by less than perfect involvement, complex project and increased criticality.  The model provides a means to recognize to apply traceability in a scaled manner that fits a projects need rather than inflicting a one size fits all approach. 

Advertisements