A good requirements process iterates to produce requirements quality and completeness sufficient to permit design and development work to be carried out with acceptable risk.
These are the basic steps:
Identify the stakeholders and needs
Determine the requirements
Analyze the requirements
Document, communicate, and get feedback
Review and revise the requirements
We need to know the stakeholders, who they are, and what they need. Requirements management is a people problem. We could spend months designing and building something perfectly, but it would be for nothing if it’s not what the stakeholders want. They have the final say. It is critical to understand their problems and motivations. We have to adopt their perspective and vision as the reference point for determining and deriving requirements.
Determine the Requirements
We need to determine the requirements by digging. They may only exist in the mind of the client, and they may be limited. Projects are critically vulnerable at the stage where requirements are poorly defined and sometimes clients need help exploring the details. It can be dramatically cheaper to refine the requirements than to build the wrong thing and fix it. It is always better if the engineers aren’t guessing, and we can’t rely solely on our experience and assume we know what is best because we’ve done something like it before. Invoking curiosity, asking lots of open-ended questions, interviewing, hypothetical “what if” scenarios, user stories, prototypes, diagrams, simulations, and demos can be powerful. It is part art, part science.
Analysis of Requirements
Analysis and conceptual mastery before making anything will reduce schedule and cost risk. Nothing can replace critical thinking. Our goal is complete and consistent requirements. It is an iterative activity, balanced between “top-down” and “bottom-up” thinking. We need to listen to nagging doubts, and also be aware that we can reach a point of diminishing returns. Analysis paralysis is real, and it takes judgment to know when to stop.
Documenting the Requirements
Requirements, assumptions, conditions, and constraints should be documented as a basis for conversation and feedback. Words, block diagrams, flow charts, illustrations, and hand sketches count. Expensive or elaborate requirements management tools and processes don’t always produce better outcomes, but a requirements baseline and change-control procedure to identify, track, and communicate changes can be very helpful. We need to tailor the approach based on the people, project, and level of risk involved. Just like requirements analysis, requirements documentation and review can become an endless cycle. At some point, we must start building.
Revising the Requirements
We should expect requirements to evolve during a project. Proactive review and revision can prevent rework and promote efficiency. Change is inevitable, and incompleteness becomes apparent during implementation. Timely revision, even if it’s just in time, and agreement are key. A lot of change early is much better than change later during development, which can be orders of magnitude more costly in terms of budget and schedule. Requirements should be reviewed individually and as a complete set, often, among the project team and with stakeholders. Revisions and additions can be proposed and approved as needed, tracked, and re-baselined.
Iterating through this requirements management process takes discipline and may not feel like progress but the feeling will be much worse if requirements are neglected and the schedule and budget targets are missed due to rework. If we are disciplined early, we may be free from budget and schedule woes later. The results may seem simply miraculous.
About Indesign, LLC
Indesign, LLC uses a proven process for new product development and electrical engineering to deliver your projects on schedule, with high product quality, and within your budget requirements. Our product development process was designed for complete product development projects, beginning with product concept development & ending with design introduction into manufacture. Contact us at (317) 377-5450 today to get started!