The complexity of a software effort is mostly a function of the number of human-generated artifacts. Making the solution smaller reduces management complexity.
4. Establish a change management environment. The dynamics of iterative development, including concurrent workflows by different teams working on shared artifacts, necessitate highly controlled baselines.
5. Enhance change freedom through tools that support round-trip engineering. Automation enables teams to spend more time on engineering and less time on overhead tasks.
6. Capture design artifacts in rigorous, model-based notation. An engineering notation for design enables complexity control, objective assessment, and automated analyses.
7. Instrument the process for objective quality control and progress assessment. Progress and quality indicators are derived directly from the evolving artifacts, providing more-meaningful insight into trends and correlation with requirements.
8. Use a demonstration-based approach to assess intermediate artifacts.
Integration occurs early and continuously throughout the life cycle. Intermediate results are objective and tangible.
9. Plan intermediate releases in groups of usage scenarios with evolving levels of detail. Requirements, designs, and plans evolve in balance. Useful software releases are available early in the life cycle.
10. Establish a configurable process that is economically scalable. Methods, techniques, tools, and experience can be applied straightforwardly to a broad domain, providing improved return on investment across a line of business.
Throughout this book I have emphasized the importance of balance. From numerous perspectives, the software project manager's paramount objective is to maintain the proper balance of emphasis across the 10 principles. Figure 15-4 summarizes this balance theme in the context of the fundamental software economics equation.
Was this article helpful?
What you need to know about… Project Management Made Easy! Project management consists of more than just a large building project and can encompass small projects as well. No matter what the size of your project, you need to have some sort of project management. How you manage your project has everything to do with its outcome.