Agile Maintenance

 Introduction

The purpose of this document is to explore suitable maintenance metrics for agile methods. Software maintenance defined as ‘the process of modifying a software system or component after delivery to correct faults, improve performance or other attributes, or adapt to a changed environment’, comprises of four kinds of software maintenance, e.g.:

  1. Corrective maintenance corrects faults in hardware or software.
  2. Adaptive maintenance makes a computer programme usable in a changed environment.
  3. Perfective maintenance improves the performance, maintainability, or other attributes of a computer programme.
  4. Preventative maintenance prevents problems before they occur.

 Agile Methods

General

Relatively new, light weight software development methods and processes, Agile methods attempt to reduce the bureaucracy of the software development process, so as to minimize time to market. 

Adaptive rather than predictive, agile methods welcome change and are people-oriented rather than process-oriented engineering methods.  The Agile model is about small projects, bug reports and story cards, developer estimate, customer prioritisation of bugs, bug tracking database, QA test and writing functional acceptance and failing unit tests, fixing unit and functional tests, regression testing before release.

Maintenance

Designed to handle changing requirements, so that the product can be maintained right from the start, Agile maintenance methods have been successfully used.  Since, maintainability is dependent on product environment; both product and documentation need to be maintained.  And, as product structure predicts the effectiveness of a maintenance process, it proves itself to be a far more practical method, as internal measures are available earlier than external process measures. 

Maintenance process is about making product changes i.e. to codes, documents, etc. whenever necessary, with maintenance done using agile methods validated, based on the same measures as other processes. 

Conclusions

Being less dependent on documentation processes, Agile methods usually produce less documentation, making the development process more dynamic, with product design evolving during implementation.  Therefore, it is but natural to doubt the maintainability of products produced using Agile methods.  However, it has been proved that it is possible by offshore firms like AgileCollab and XCbia.  With sufficient experience in using Agile methods in client projects, they know how to maintain end products these methods produce.

Advertisements

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


%d bloggers like this: