The Critical Step in Tech Project Planning: Mastering Requirements
How to Save Time, Money, and Headaches in Your Digital Transformation Journey
Are you considering leveraging technology to solve your business problem - but worry about spiraling costs and bugs?
You may be wasting your budget before the project even starts.
This critical part of the process has the most significant impact on your project’s success.
Taking care of the foundation
Imagine you are planning a new building. Excited to see your vision come to life, you quickly write a spec indicating desired square footage, jot a general shape and location of doors and windows, and hand it off to a builder. After moving in, you discover that:
- The planned warehouse space is not wide enough for the desired shelf spacing.
- The conference room sits unused, but your lunch break room is too small.
- The critical equipment is too far from the nearest cable drop.
- You don’t have enough bathrooms. Consider the cost of correcting these defects. Of course, in real life, the design will be verified and double-checked before your foundation is poured.
Investing in a tech project for your business is challenging enough, and it’s natural to want to see some progress fast. But before a single line of code is written, evaluate the quality of your requirements.
Writing a project spec feels deceptively simple because you know what you need and how the solution should behave.
Yet, the entire discipline of requirement engineering focuses on gathering, interpreting, validating, and testing requirements.
The Cost of Missing a Step
Think back to our building example. Correcting the error on paper takes significantly less time and money than when construction is complete.
The best strategy to keep the project on time and within budget is to minimize requirement errors.
Due diligence during the requirements phase helps to avoid these pitfalls, each costing progressively more.
- You don’t get what you want.
- You get what you want, but it doesn’t behave properly, doesn’t solve the problem entirely, is missing critical features, and is disliked by your users.
- You get what you want, but it’s not what you actually need.
An additional consideration is the opportunity cost. Investing in the projects that bring the most significant return makes business sense.
Gathering requirements
Gathering requirements is a critical step in project planning that helps catch potential issues early.
While various frameworks exist, creating user flows is an effective and accessible method, particularly when combined with input from all participants.
This process can be as simple as using a whiteboard and marker or a collection of sticky notes. Start by writing down each step your end users—or processes—will take. Then, validate by “walking” through the flow and inviting others to do the same.
This visual approach helps identify missing assumptions or potential problems that might not be apparent when simply listing requirements on paper.
Avoiding Common Mistakes
Here are just a few issues to watch out for:
Not identifying all interested parties
A good rule to follow is “no surprises.” Imagine implementing new tax management software without informing your accountant beforehand or asking for their input.
This oversight could lead to significant problems during implementation or usage. The same goes for your system’s users. While the project may make perfect sense to you, if users refuse to adopt it or if it increases their workload, it has failed—even if it was delivered on time and within budget.
To avoid this, create a stakeholder list and regularly discuss with all identified parties.
Not managing priorities
When a new project is planned, there’s often a feeling of excitement and assumptions that old problems will be resolved. However, not all requirements are high priorities, and conflicting requirements need to be resolved.
It’s easy to get caught up in scope creep and keep adding up new features.
Instead, be ruthless. For each requirement, ask if it moves the needle on solving the business problem in a significant way and if skipping it means the project will fail. Cut down to the most critical list. You can always add more features after the project is completed.
Sort in the priority order from highest to lowest - this way, the most impactful items are completed first.
This approach safeguards your project budget and allows real-world testing sooner, catching wrong assumptions early.
Assuming domain knowledge is universally known
Who will be implementing your project?
Are there specific assumptions that everybody in your industry knows but are not so obvious to the outside world? Do you adopt particular terminology that may mean different things between companies in the same field?
To avoid misunderstandings, create a glossary for sector-specific terms and concepts and spell out precisely what should and should not be done.
Not able to test the requirements
Once you have written a requirement, is there a way to tell if it was met after the project is delivered?
Conducting a mental exercise by asking yourself, “How would we test this?” will help to clarify ambiguous items and remove the ones that are impossible to validate.
Creating measurable success criteria is especially important for non-functional requirements, which describe the system’s quality.
For example, when defining how fast the system needs to respond, instead of saying, “It should be fast,” specify the acceptable time range.
Want to check out your requirements?
Use this checklist to review your requirements and quickly find the blind spots.
John Wooden once said, “If you don’t have time to do it right, when will you have the time to do it over?”
Let’s get your project right the first time.