Discovery is the process gathering the requirements of a solution. Just as you wouldn’t build a house without defining the house to be built, you wouldn’t start a new custom software development project without going through a discovery process. This process will differ between solutions, but the end result is the same: vital information about the solution to be built.
The discovery process will vary with the complexity of the solution. Too often the gap between planning and execution is a result of inaccurate assumptions made during discovery. When the discovery process is over, you should be able to visualize the solution, how much it will cost to build, and determine whether the benefits outweigh the costs.
The discovery process should address all of the most important questions before writing a single line of code. This includes user needs, design considerations, core value propositions, features, and the target customer’s persona. This “customer persona”, as it’s called, is critical to understanding the target audience, and forms the basis of your market research.
The discovery process is the “secret sauce” in custom software development. Not only does it de-risk your investment, but it’s fundamental in developing software as efficiently and as effectively as possible. You can define any problems, identify the users and document the functionality all in the process. It’s been the solid foundation behind some of our great success stories, because it works!