Architecture-Centered Software Project Planning (ACSPP) is an important software development methodology for planning software projects. By utilizing software architecture when managing projects, practitioners experience better success completing projects on time and within budget, while effectively fulfilling the project's requirements.
Written for project managers and software architects, Architecture-Centric Software Project Management demonstrates how to draw on software architecture to design schedules, generate estimates, make scope decisions, and manage the development team for a successful outcome. The book addresses each cornerstone of effective project management—planning, organizing, implementing, and measuring.
Dan Paulish provides a wealth of practical, experience-based advice on such topics as:
- Using architecture to define project organization
- Developing realistic schedules
- Using global analysis for project and test planning
- Managing expectations and deciding when to commit
- Building a project culture and an effective team
- Managing tradeoffs and making project decisions
- Risk management and avoiding unpleasant surprises
- Defining project success
- Using architecture for global development
In addition, real-world case studies illustrate the book's strategies, approaches, and techniques. These case studies help the reader fully comprehend the challenges and struggles inherent in software development, and demonstrate how common obstacles can be more easily avoided using an architecture-centric approach.
Dan Paulish provides a wealth of practical, experience-based advice on such topics as: using architecture to define project organization; developing realistic schedules; using global analysis for project and test planning; managing expectations and deciding when to commit; building a project culture and an effective team; managing tradeoffs and making project decisions; risk management and avoiding unpleasant surprises; defining project success; and, using architecture for global development. In addition, real-world case studies illustrate the book's strategies, approaches, and techniques. These case studies help the reader fully comprehend the challenges and struggles inherent in software development, and demonstrate how common obstacles can be more easily avoided using an architecture-centric approach.
I. MOTIVATION. 1. Motivation.
What is Project Management?
What is Software Architecture?
Project Management Process.
Architecture-Centric Project Management.
II. PLANNING. 2. Architecture-Centered Software Project Planning.
Developing Realistic Schedules.
Rules of Thumb.
Summary. 3. Global Analysis.
What is Global Analysis?
Global Analysis Activities.
Using GA for Project Planning.
Using GA for Test Planning.
Benefits. 4. Managing Expectations.
When to Plan and When to Commit.
Using the Software Development Plan.
III. ORGANIZING. Chapter 5: The Project Organization.
Using Software Architecture to Define the Project Organization.
Architecture Team Roles during Development.
Project Functions that Support Development.
Responsibilities, Roles, Authority, and Ownership.
Summary. 6. Global Development.
Why Global Development?
Architectures for Supporting Global Development.
Development Processes for Global Development.
Recommendations for Global Development Teams.
Conclusions. 7. Building a Project Culture <38> Team.38>
Establishing Project Goals.
Characteristics of Good Teams.
Building a Project Culture.
Setting the Amount of Direction.
Summary. 8. The Role of the Software Project Manager.
Creating a Vision.
Working with Your Project Team.
Software Project Management as a Career.
IV. IMPLEMENTING. 9. Tradeoffs <38> Project Decisions.38>
Using the Project Goals to Make Decisions.
Managing Creeping Functionality <38> Architecture Drift.
When to Accept or Reject Changes.
Ethical Decisions of the Project Manager.
Summary. 10. Incremental Development.
Baselining the Software Development Plan.
Build Planning <38> Management.
Getting Everyone Involved.
Release Criteria Meeting.
Summary. 11. Creating Visibility <38> Avoiding Surprises.38>
Communicating Status and Issues.
Building Credibility with Management.
Recognizing and Celebrating Success.
Summary. 12. Staying Calm in the Heat of Battle.
Cheerleading, Micro-management, <38> Discipline.
Playing the Quality Card.
Providing Support <38> Removing Obstacles.
Handling Problem Employees.
Emotions <38> Avoidance.
Quality of Work Life.
V. MEASURING. 13. Measures to Pay Attention To.
Global Metrics for Project Managers.
Phase Metrics for High-Level Design.
Watching the Test Results.
Summary. 14. What is a “Good Job”?
Trading off Schedule, Functionality, <38> Quality.
Defining Project Success.
Measuring Team Member's Contributions.
VI. CASE STUDIES. 15. IS2000.
Lessons Learned. 16. DPS2000.
Product Line Design Strategies.
Lessons Learned. 17. Conclusions.
Sharing Best Practices.
VII. APPENDIX. Appendix - Forms.