The goal of an inception is to create a common understanding of the product and define a high-level execution plan of how we can deliver it. Align product and engineering on what you are building and how. Communicate basic scope of the product.
This is a very important step because it helps everyone on the team understand the scope of the product, assumptions and constraints.
This stage usually involves a number of activities that depend on a context a lot. For example, activities for starting the "greenfield" project may differ from "brownfield".
We'll dive deeper into the activities below.
Where we are at now and where do we want to go from here?
The goal of this activity is to understand whether the project is possible taking into account technical (questions below) and financial (can this type of project be achieved within the budget and on schedule?) sides of the story.
Investigating feasibility requires information from multiple sources: tech audit, code review, interviews, analysis of the situation.
Here are some of the questions we ask when we investigate feasibility:
It is important to communicate all these findings, as they can be tedious and complex to discover.
Below are few techniques we found useful when preparing to run an Inception.
Designs that schematically illustrate the ideas in response to the issues raised during feasibility and code assessment stages may lack details, but describe the high-level situation.
Feasibility gives the initial constraints while initial schematic design will explore what’s possible within those constraints.