Monday, November 30, 2009

Importance of Traceability

With the fast pace industry – it becomes imperative to understand how any change impacts you. I am sure most of us try to calculate this mentally and can narrate most of the impacts. In daily life we do this subconsciously and intuitively that seldom we notice this. And since humans perform the actions off of his brains – there is a chance of human error. The way to avoid the margin of error is to define a process. A process will be based on a methodology and guidelines that will help us derive outcomes which sometimes go overlooked and cause disasters.

In software world – methodology is what helps maintain a discipline. We were pitching in at a new client who is in the business of oil trading. They implemented complex trading system and the implementation was Rapid Application Development. A flip side of the implementation approach was that it sometimes overlooks the documentation. Documentation has been a secondary priority and in the process to keep showing progress, they are always neglected by developers, designers and testers.

Let’s think about a few scenarios:

  1. Sometimes a good project execution will ensure right amount of relevant documentation is in place but documents produced at the end of the project execution is voluminous enough to be unmanageable
  2. Sometimes the application will change hands between implementation and maintenance team. New people join team old people leave team and KT for a few hours during the hand off process is not sufficient enough to provide coverage for every document produced during implementation.
  3. Sometimes documentation is present but one needs to identify which is the area where the documentation is missing or can be improved.
  4. A new requirement is being introduced half way thru the implementation and one needs to determine where all places the change will impact and what all documentation will have to be changed
  5. Software upgrade is scheduled in 3rd year of implementation and impact analysis is required

Unless there is a map that leads from and links all the requirements to the configuration / implementation details – the task will become rather manual and time consuming and unreliable.

These pain points bring us to Traceability of change in an application. Traceability becomes all-the-more important once the application enters maintenance phase. There has to be a matrix which will explain the requirements and map it back to low level technical requirements, design, implementation, configuration artifacts associated with it including the coverage of QA on different environment.

I have noticed tremendous help a matrix like this provides to the Clients, maintenance team, the developers and testers.

Please feel free to get in touch if you need to learn more about traceability to me.

No comments:

Post a Comment