Remember the fairy tale of Hansel & Gretel? Hansel had a plan to keep them from getting lost in the woods, by leaving breadcrumbs in order for them to trace their way back later. Unfortunately the breadcrumbs were eaten by the birds and they got horribly lost.
How often I wonder do we get lost during software development projects, because we use a “breadcrumb” approach to keep track of what we are developing and why…
How important is it to keep track of requirements throughout a software development life cycle?
“Obviously its important!… why do you even ask?!!! ” you might reply. I wonder however how frequently this really happens…
During my career as Business Analyst and especially while working on software development projects, it has been my experience that requirements are very seldom traced throughout the complete cycle of development. This is however critical in my opinion to ensure that a solution is delivered that truly meets the needs of the organisation and to do so in a manner that is most cost effective.
Typically there needs to be a “golden thread” between all of the following elements:
|Organisational Visions and Goals||Is linked to…||Achieve 20 % market share in the next 12 months|
|The Identified Project Need (Based on Cost Benefit Analysis & Business Case)||Is linked to…||Need CRM solution to manage and track sales process and improve customer relationship management|
|Project Goals||Is linked to…||Implement Ms CRM in 3 months across the country to all 100 sales people|
|Business Requirement||Is linked to…||Be able to on-board a customer within 10 minutes|
|Functional Requirement||Is linked to…||Validate captured personal customer information accuracy by performing a validation|
|Design||Is linked to…||Create interface to ID database|
|Code/Solution||Is linked to…||Web screen developed where system does not allow the ID number to be captured if it is incorrect)|
|Test Acceptance Criteria||Is linked to…||Test that ID field validation functions as specified|
|End Product (Value)||The CRM System, including all specified business requirements have been met and adds value by helping achieve the sales goals and therefore increasing the market share|
If traceability is kept between these major steps, it should easily be visible whenever there is deviation from the actual solutions.
How does one however ensure that this happens? One simple solution is to enforce traceability via a modeling approach, where all of the above items are mapped out and linked together. A deviation in any of these modeled elements, will then very quickly show you everything that is associated to that specific element.
This means that if one were to change a project goal, you would have the ability to see which related Goals, business requirements, functional requirements, code, etc will be affected. From here you will then be able to further analyse the impact of such a change. But it would be an informed change, where all affected surrounding elements have been taken into considerations.
This is one of the key advantages of modelling your business domain.
There are various approaches available and numerous approaches available to achieve the above-mentioned approach. (E.g. Rational Unified Process has a very rigorous approach and accompanying toolset that facilitates such a process). Also google Tracability Matrix to see practicle ways to ensure traceability via either tools or even via simple spreadsheets.
What is however key, is that traceability needs to be actively managed throughout the life cycle in order to truly meet the goals set by business in order to meet and address the core needs.
How do you manage traceability in your organisation?