The software development process is always evolving. Everyone does it a little differently. The discovery phase is an especially fluid and, at times, a controversial step in the process. Some folks skip it entirely while others invest heavily in discovery. At the end of the day it comes down to this schism: some people think the discovery process is valuable and some don’t.
But what even is a Discovery? When, why, how are they valuable? How do you know what kind of Discovery is right for you and how much to invest in the process?
This what paper starts by clarifying what, at a fundamental level, a Discovery is and explores the different variables that contribute to many possible outcomes and deliverables of a Discovery should be based on the scope and complexity of a project. Here we also explain the many obvious and less obvious benefits of the discovery process and some of the many best practices picked up over decades of bringing software to life.