This book blazes the way toward the next generation of software management practice. Many organizations still cling to the waterfall model because, even with its shortfalls, it provides the most fully elaborated management guidelines on how to proceed in a given software situation.
It has been difficult to find a fully articulated alternative management approach for dealing with such issues as commercial component integration, software reuse, risk management, and evolutionary/incremental/spiral software processes. This book provides a new experience-tested framework and set of guidelines on how to proceed.
Walker Royce developed and tested this software management approach during his inception-to-delivery participation in the large, successful CCPDS-R project performed by TRW for the U.S. Air Force. He then refined and generalized it across a wide spectrum of government, aerospace, and commercial software development experiences at Rational.
Chapters 1 through 4 of the book motivate the approach by showing how it gives you management control of the key software economics leverage points with respect to traditional software management. These are (1) reducing the amount of software you need to build, (2) reducing rework via improved processes and teamwork, and (3) reducing the labor-intensiveness of the remaining work via automation.
Chapters 5 through 10 present the specifics of a new organization of the software life cycle, which also forms the management basis for Rational's Unified process. It combines the flexibility of the spiral model with the discipline of risk management and a set of major life-cycle phases and milestones. These milestones are focused on major management commitments to life-cycle courses of action.
As with our Anchor Point approach at USC, the life-cycle objectives milestone involves a management commitment to engage in a software architecting effort based on a business case analysis (or not to engage, in which case the project is mercifully killed). The life-cycle architecture milestone involves a management commitment to proceed into full-scale development based on establishing and demonstrating a sound architecture and resolving all major risk items. The initial operational capability milestone involves a management commitment to proceed to beta testing the product with outside users, or its equivalent.
In these chapters, Royce provides a set of views showing how these milestones differ from conventional document-oriented or code-oriented milestones. Instead, the key product artifact sets (requirements, design, implementation, deployment) concurrently evolve and coalesce in a manner consistent with the project's objectives and its strategies for controlling risk.
In Chapters 10 through 14, Royce addresses how to ensure that the software project's management artifacts are also concurrently evolving and coalescing. These include the project's plans and associated cost and schedule estimates, the project's organization and team-building activities, and the project's metrics, instrumentation, and control processes. Chapter 14 is particularly noteworthy. It not only emphasizes that the management solutions are situation-dependent, it also provides guidelines for tailoring them to the project's scale, team culture, process maturity, architectural risk, and domain experience.
In Chapters 15 through 17, Royce looks forward to where the best software developers are going with their practices: toward product line management, round-trip engineering, and smaller teams with managers as performers and quality assurance as everyone's job. Appendixes relate his software management approach to the current state of the practice, to the COCOMO and COCOMO II family of cost models, and to the SEI Capability Maturity Model. Appendix D provides a convincing case study of how the approach was successfully used on the large, technically challenging CCPDS-R project.
Royce has a refreshing candor about some of the fads, follies, and excesses in the software field. This comes out particularly in several "pragmatic" sections that address such topics as software cost estimation, inspections, artifacts, planning, and metrics. Not everyone will agree with all of his assessments, particularly on inspections, but they are incisive and thought-provoking.
I feel extremely fortunate to have been able to work with both Walker Royce and his equally insightful father, Winston Royce; to have learned from their experiences; and to have interacted with them as they evolved their path-breaking ideas.
Director, USC Center for Software Engineering
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.