The DSP2000 software development was planned
as a sequence of incremental engineering releases, the first of which consisted of a “vertical slice” of the architecture, which functioned as a prototype of the architecture. The last planned release was the first set of functionality that was sold as a package to a customer.
We found that a six to eight week cycle time for each iteration worked best. Some of the release dates were driven by trade shows, at which time a new release with the latest functionality was required. Particularly in light of our global development, we found that one of the best means of communication was via the system itself. It was difficult to fully understand and discuss the explicit and implicit requirements without an appropriate prototype. The system itself turned into the common language for all involved, facilitated by the web-based GUI.
The planning process itself was complicated by the distributed nature of the project. What ended up working well was to distribute drafts of the proposed schedule and task assignments for each incremental release to the team members. Often, we would get feedback in the form “This feature cannot be achieved in the time frame provided”, or “I am