Thoughts on Technology Leadership

We Review Code. Why Not Requirements?

Every line of production code is reviewed. Requirements all too often are not.

Code reviews are a standard part of software engineering; another developer checks the work, approves it, or sends it back for changes, often using tools like GitHub to manage the process. But the requirements that drive those changes rarely go through the same level of review.

If the requirements are wrong, the software created from them will be wrong. Rewriting requirements is quicker and easier than fixing software. A requirements review process that mirrors code reviews is an important part of writing requirements that can be used to generate the right code.

We review the implementation rigorously. We should apply the same discipline to the intent.

A suggested process using Jira as an example.

Create a work item in Jira.
Write the requirements
Move the ticket to a status of “Requirements Ready for Review”, assign to another person
The other person reviews the requirements and either:
Returns it with comments and suggested improvements, or
Approves it and updates the status to “Ready for Development”

The reviewer can be someone else from the product team, a software engineer, or a QA engineer. Since people in these different roles may be looking at the requirements in different ways, it might be advisable to require review from each team.

A good requirements review should ask:
Are the requirements clear and unambiguous?
Are they complete?
Are edge cases covered?
Are they compatible with the current system design?
Are they the minimum needed to deliver the functionality?

AI agents can help with this process. Given the right context, they can perform a first pass to catch obvious issues before a human review. They won’t replace domain knowledge or engineering judgment. They can make the process faster and more effective.

Bad requirements produce bad software. The earlier you catch the problem, the cheaper it is to fix. Treating requirements with the same rigor as code is one of the simplest ways to improve both quality and speed.

Back