Development

Why requirements discovery is the foundation of your project

Evan Morris 18 January 2023
Article

“Plan for what is difficult while it is easy, do what is great while it is small.”
– Sun Tzu

The ancient Chinese sage Sun Tzu probably wasn’t thinking about your company’s website or back-office systems when he spoke these words, yet his message is surprisingly applicable to the modern tech industry and the process of requirements discovery. A long-standing software development guideline follows the same principle: “every cent you spend on analysis saves you a hundred cents in rework later on”.

Imagine you are planning to build your family a house. You call up the architect and his engineering partner and invite them to an empty plot. “I need a house,” you say. Would you be confident in their ability to move forward with construction if they simply replied, “Sure, that’ll be one gazillion dollars and we’ll see you in a few months”? No follow-up questions about how many bedrooms you need, office space, parking garage or swimming pool.

Of course, the more questions they asked about your grand vision, and the more detailed their designs and plans became, the more confident you will be in their capability to provide you with the house of your dreams (or, at least, your budget). This is what requirements discovery is all about. In order to build quality software that does what it’s supposed to do, you need to know the key requirements it needs to achieve. Who is it for? Why is it beneficial? What value will it provide? How is that value created and measured?

This all might sound obvious, but there are many software development companies that are willing to spend your hard-earned money diving into software projects with vaguely defined scope and poorly articulated requirements. You might be tempted to save time by “getting moving” and “crossing that bridge when we get to it” but there is good reason to implement Agile Software Development methodologies.

Issues associated with poor requirements discovery

Cost overruns

Your CFO’s worst nightmare. You find yourself months into a software project, beyond the point of no return, when newly surfaced complexities lead to the project costing twice as much as the agreed-upon budget.

Time overruns

You thought you would be able to launch your exciting new eCommerce site in time for Christmas, only to discover that some poorly understood piece of integration is going to take three more months to figure out and implement.

Broken relationships

Arguments, frustration, and mistrust – within your team and between you and your service provider – are a common and highly destructive consequence of bad planning. In the worst case, you might find yourself having to get your attorneys on the line.

Unnecessary pressure on you and your staff

Nothing demoralises your employees more than unforeseen delays and unplanned-for complexity. Their nights and weekends disappear into the stomach of the project monster, and pretty soon their CVs are circulating on LinkedIn.

Unrealized value

Arguably the biggest problem of them all: the money you thought you were going to make and/or the time and expense you thought you were going to save with this ambitious undertaking has turned into a disappointing shadow of your expectations.

If you recognise any of these from your own software projects, whether internally resourced or outsourced to a development partner, then Realm Digital can help. In our two decades of building a variety of bespoke software solutions for clients, ranging in size from mom-and-pop to JSE-listed blue chip, we’ve seen every kind of badly articulated requirement in existence, and we have developed a bullet-proof method for making all of these problems go away. We believe in going as slowly as is needed in the beginning, to make sure we can go fast and deliver quality later on.

The Realm Way

Understanding your business. We’re software experts, but you’re the business expert. Our first job is to fully understand how you create value.

Understanding you, your employees, your customers, and your other stakeholders. Value doesn’t exist in a vacuum, value is for humans. Whether they work for you, work with you, or make use of your goods and services, we want to find out who they are and how they contribute to the value chain.

Drilling into the detail and surfacing what really matters, and which features will make the difference in delivering real value. Not everything you can think of building is necessarily worth building. Our years of experience will help you cut through the clutter and focus on those features that will have the biggest impact.

Keeping you in the room. We are not aloof gurus. Our requirements discovery method is a hyper-collaborative process, and your subject matter experts will be designing the solution alongside ours.

Delivering robust, well-articulated scope, documented the way you need it, before a line of code is written. Our analysis is organised into easily readable diagrams and clearly written feature descriptions and stories. There is no ambiguity about what will and what won’t be built.

Along with Sun Tzu, one of the most enduring strategists in human history, we believe in solving problems when they’re small. In software development, this means identifying requirements accurately and spending the right amount of time on analysis, when it is still easy and cheap enough to change our minds.

If Realm Digital’s requirements discovery methodology speaks to how you would like to address your software needs… let’s talk!