The project manager is responsible for implementing the project in accordance with the software development plan. Often, you will need to react to unforeseen situations, since plans are rarely implemented as they were conceived earlier in the project. How you react to these situations, the decisions you make, what you replan, and so on will affect the outcome of the project. The major steps involved with implementing an architecture-centric software project are summarized in Figure 1.4.
Figure 1.4 Project Implementing.
The module view that comes from the architecture design provides inputs for organizing the development team. Risk analysis produces mitigation actions that are used to do the release planning, that is, the sequence in which the components and features will be implemented. The build plan, along with the effort estimates for each component, gives some of the inputs for creating the software development plan. The project manager implements the project in accordance with the development plan. Progress is monitored via weekly status meetings and other communications with team members. As the project is implemented, mid-course corrections will be made to meet the release dates. Release delivery will plan the details of each software release, including its functionality and quality. Each incremental release will be delivered to a system testing function. Later releases will be delivered as a product to customers from the time that a minimal useful set of features is implemented.