The Unified Process Inception Phase: Best Practices for Completing the Unified Process

Christine Comaford, in "What's Wrong with Software Development" (November 1995, Section 5.5.17), looks at common problems experienced during software development and presents a collection of best practices for solving them. She believes that developers need to:
Better understand how to develop software.
Better understand our users.
Better manage our development staff.
Create and maintain an application development infrastructure.
Understand what rapid application development (RAD) really means.
Produce reliable estimates.
Control prototyping efforts better.
Build better architectures.
Test effectively.
To complement Comaford's insights, we end this chapter with Larry Constantine's "Scaling Up Management" (November 1998, Section 5.5.18), a look at the valuable lessons learned on large-scale development projects. Constantine argues that a "large" project is any project that is sufficiently bigger than anything you have done before, so that you have no idea how you are going to manage it. The question of scale is partly a matter of numbers, such as the number of people participating in a project, but a large part of the question is really about complexity. Why are large projects important? If you look at the big picture, it can help you manage a software project of almost any size. This article reviews the lessons learned during the making of Boeing's 777, created by a team of 10,000 people scattered around the globe. Insiders describe the 777 as two-and-a-half million lines of Ada code flying in close formation not so much an airplane as a complex software system packaged and...