There are a few traits that help to make a good Business Analyst or Product Development Manager: attention to detail, ability to clearly communicate concepts, an understanding of objectives, etc. I have recently come to realize just how important it is to be well organized.
Organization was always something that I took for granted…as you define the software requirements, you put them into an order and logical groupings begin to form. I was recently on a project where we had a few people working on the same requirements, and it’s amazing how critical organization becomes when you have several people working on the same information.
When it got down to crunch time, we couldn’t figure out what state the requirements were in…were they all captured? Did we miss requirements? What happened to that feature? Chaos ensued, people running in the streets, women and children crying…okay, I am getting a little dramatic, but we did have a big mess on our hands. Next thing you know, we are digging through past notes and emails, on the hunt for missing requirements and making sure that the ones we had were accurate. I felt like Nancy Drew in The Case of the Missing Requirements.
As we gathered the requirements, we were getting them down onto paper, but we weren’t effectively managing the traceability of those requirements. We had business objectives, process flows, features, business requirements, functional requirements, etc. But, they didn’t relate to each other…at least not in any manner that a person could quickly understand. It also made reviewing the documentation with stakeholders and SME’s a challenge.
So, what can you do to keep your requirements organized and prevent a mess down the road?
1. Ensure there is traceability between all your requirements and models. Each object in a model should relate to a requirement…for example if you have process flows, organize the requirements by process step. This will ensure that you are not missing requirements for a particular step.
2. Tie requirements to business objectives. If a requirement does not relate to an objective, should it really be in scope? This will also help you to ensure that all business needs are being met. Of course, the key to this is to have clearly defined objectives.
Business Objectives > Features > Requirements
3. Establish traceability early in the project in order to avoid re-work down the line.
4. Use a requirements management tool to keep everything in order. This also helps reduce the amount of work required to manage Word versus Excel versus Visio.
5. Carry traceability through the design and implementation phases. Functional specifications should relate to requirements, design elements, and test plans.
By defining traceability in your software requirements, you will 1) ensure that the requirements are organized, 2) identify holes or missing requirements, and 3) manage scope by ensuring that each requirement meets a business need.