The Discovery Phase
This is where we begin sizing the project and it’s parts. We determine what a natural division or unit of work is for the project (e.g. pages for a web app, web services for a back end system, or tables for a big database) and size them using the “t-shirt sizing” approach . Finally, we identify risks associated with these units of work and prioritize them by largest potential impact on the project.
What is T-Shirt Sizing? While developers often have difficulty estimating tasks in hours, they tend to be very good at estimating the relative size of a task. T-shirt sizing takes advantage of this by starting with a unit of work that represents an average amount of effort, and labeling rest of the units in relation: Small, Medium, Large, or Extra Large.
During the development spike, we will pick one to three units of work with good learning potential and attempt to complete them, while keeping careful notes on issues encountered, environment setup needed, and time taken to complete each step. We prioritize high-risk units of work in order to learn as much as possible.
Using the measurements collected during the development spike, we assemble evidence-based estimates for each of the units of work. These estimates feed into a rough order of magnitude (ROM) document which will inform project leadership of the relative size of the project. These estimates and the ROM, combined with the experience of completing at least one unit of work, enable the existing requirements to be reviewed and improved where necessary. All of these materials then allow a realistic project recommendation and plan to be assembled.
Deliverables. At the completion of the discovery phase we will deliver: A ROM document; evidence-based estimates for all identified and in-scope units of work; recommendations for the project plan to cover the subsequent implementation phases; suggested updates to the requirements document, where appropriate; and all code, documentation, prototypes, and mockups generated during the phase.