One of the most misunderstood aspects of agile software development is how to initiate an agile project. Little has been written about this subject, perhaps because it's a "phase" that we just get through on the way to starting the interesting development work, perhaps because it's fairly straightforward to people with agile experience, and perhaps because many traditionalists seem to struggle with the overall concept no matter how we explain it. To initiate an agile project successfully we must:
- Determine the economic, technical, operational, and political feasibility of the project.
- Begin to build the team.
- Do initial, high-level, requirements modeling.
- Do initial, high-level, architectural modeling.
- Answer basic questions such as "How much is this going to cost?", "How long is this going to take?", and "What am I going to get?".
In short, the laws of "project physics" still seem to apply to agile projects.