What is a Discovery project?

Estimating the cost of building software is much like estimating the construction of a house. Both start with the vision of the owner; appearance, size, function and about how much they can spend. These constitute the initial overall system requirements. Of course the owner's vision may be quite detailed. Regardless, unless the owner is also an architect and building contractor, these overall system requirements are almost always insufficient to project the time and materials, and hence the cost of construction.

At some point an architect is needed to design the complete structure (the blueprints). The blueprints match the function, appearance and flow of each room to the overall system requirements. The blueprints show the doors and windows but do not state where to put the outlets, pipes or heating ducts. Many choices that can affect the cost still remain.

In software, the blueprints consist of some form of "Component and Interaction Architecture", "Information Model", "UI Wire Frame", and "Use Cases" (in terms of the Wire Frame) that fulfill discrete "Usage Goals" for each type of user. The Use Cases, Wire Frame and Usage Goals constitute a usage and behavioral model that should be sufficient to evaluate the usability of the design prior to construction.

A Discovery project typically takes from 2-4 weeks and produces:

  1. Overall System Requirements [if not pre-existing]
  2. Component and Interaction Architecture (including context diagrams)
  3. Information Model,
  4. UI Wire Frame,
  5. Use Cases based on the Wire Frame and Usage Goals for each type of user
  6. A Statement of Work (SOW) showing estimated time, material and cost to design, develop, deploy and maintain the software system

Discovery projects typically require; access to pre-existing documents, meetings with the owner(s) and meetings with potential (or current) users. If the project is a technology migration, the current system needs to be understood to produce a Phased Migration Plan.