Corporate and commercial software-development teams all want solutions for one important problem—how to get their high-pressure development schedules under control. In RAPID DEVELOPMENT, author Steve McConnell addresses that concern head-on with overall strategies, specific best practices, and valuable tips that help shrink and control development schedules and keep projects moving. Inside, you’ll find:
A rapid-development strategy that can be applied to any project and the best practices to make that strategy work
Candid discussions of great and not-so-great rapid-development practices—estimation, prototyping, forced overtime, motivation, teamwork, rapid-development languages, risk management, and many others
A list of classic mistakes to avoid for rapid-development projects, including creeping requirements, shortchanged quality, and silver-bullet syndrome
Case studies that vividly illustrate what can go wrong, what can go right, and how to tell which direction your project is going
RAPID DEVELOPMENT is the real-world guide to more efficient applications development.
EFFICIENT DEVELOPMENT
Chapter 1 Welcome to Rapid Development
What Is Rapid Development?
Attaining Rapid Development
Chapter 2 Rapid-Development Strategy
General Strategy for Rapid Development
Four Dimensions of Development Speed
General Kinds of Fast Development
Which Dimension Matters the Most?
An Alternative Rapid-Development Strategy
Further Reading
Chapter 3 Classic Mistakes
Case Study: in Classic Mistakes
Effect of Mistakes on a Development Schedule
Classic Mistakes Enumerated
Escape from Gilligan's Island
Further Reading
Chapter 4 Software-Development Fundamentals
Management Fundamentals
Technical Fundamentals
Quality-Assurance Fundamentals
Following the Instructions
Further General Reading
Chapter 5 Risk Management
Elements of Risk Management
Risk Identification
Risk Analysis
Risk Prioritization
Risk Control
Risk, High Risk, and Gambling
Further Reading
RAPID DEVELOPMENT
Chapter 6 Core Issues in Rapid Development
Does One Size Fit All?
What Kind of Rapid Development Do You Need?
Odds of Completing on Time
Perception and Reality
Where the Time Goes
Development-Speed Trade-Offs
Typical Schedule-Improvement Pattern
Onward to Rapid Development
Further Reading
Chapter 7 Lifecycle Planning
Pure Waterfall
Code-and-Fix
Spiral
Modified Waterfalls
Evolutionary Prototyping
Staged Delivery
Design-to-Schedule
Evolutionary Delivery
Design-to-Tools
Commercial Off-the-Shelf Software
Choosing the Most Rapid Lifecycle for Your Project
Further Reading
Chapter 8 Estimation
The Software-Estimation Story
Estimation-Process Overview
Size Estimation
Effort Estimation
Schedule Estimation
Estimate Refinement
Further Reading
Chapter 9 Scheduling
Overly Optimistic Scheduling
Beating Schedule Pressure
Further Reading
Chapter 10 Customer-Oriented Development
Customers' Importance to Rapid Development
Customer-Oriented Practices
Managing Customer Expectations
Further Reading
Chapter 11 Motivation
Typical Developer Motivations
Using the Top Five Motivation Factors
Using Other Motivation Factors
Morale Killers
Further Reading
Chapter 12 Teamwork
Software Uses of Teamwork
Teamwork's Importance to Rapid Development
Creating a High-Performance Team
Why Teams Fail
Long-Term Teambuilding
Summary of Teamwork Guidelines
Further Reading
Chapter 13 Team Structure
Team-Structure Considerations
Team Models
Managers and Technical Leads
Further Reading
Chapter 14 Feature-Set Control
Early Project: Feature-Set Reduction
Mid-Project: Feature-Creep Control
Late Project: Feature Cuts
Further Reading
Chapter 15 Productivity Tools
Role of Productivity Tools in Rapid Development
Productivity-Tool Strategy
Productivity-Tool Acquisition
Productivity-Tool Use
Silver-Bullet Syndrome
Further Reading
Chapter 16 Project Recovery
General Recovery Options
Recovery Plan
Further Reading
BEST PRACTICES
Introduction to Best Practices
Organization of Best-Practice Chapters
Summary of Best-Practice Candidates
Summary of Best-Practice Evaluations
Chapter 17 Change Board
Chapter 18 Daily Build and Smoke Test
Using the Daily Build and Smoke Test
Managing the Risks of the Daily Build and Smoke Test
Side Effects of the Daily Build and Smoke Test
The Daily Build and Smoke Test's Interactions with Other Practices
The Bottom Line on the Daily Build and Smoke Test
Keys to Success in Using the Daily Build and Smoke Test
Further Reading
Chapter 19 Designing for Change
Using Designing for Change
Managing the Risks of Designing for Change
Side Effects of Designing for Change
Designing for Change's Interactions with Other Practices
The Bottom Line on Designing for Change
Keys to Success in Using Designing for Change
Further Reading
Chapter 20 Evolutionary Delivery
Using Evolutionary Delivery
Managing the Risks of Evolutionary Delivery
Side Effects of Evolutionary Delivery
Evolutionary Delivery's Interactions with Other Practices
The Bottom Line on Evolutionary Delivery
Keys to Success in Using Evolutionary Delivery
Further Reading
Chapter 21 Evolutionary Prototyping
Using Evolutionary Prototyping
Managing the Risks of Evolutionary Prototyping
Side Effects of Evolutionary Prototyping
Evolutionary Prototyping's Interactions with Other Practices
The Bottom Line on Evolutionary Prototyping
Keys to Success in Using Evolutionary Prototyping
Further Reading
Chapter 22 Goal Setting
Chapter 23 Inspections
Chapter 24 Joint Application Development (JAD)
Using JAD
Managing the Risks of JAD
Side Effects of JAD
JAD's Interactions with Other Practices
The Bottom Line on JAD
Keys to Success in Using JAD
Further Reading
Chapter 25 Lifecycle Model Selection
Chapter 26 Measurement
Using Measurement
Managing the Risks of Measurement
Side Effects of Measurement
Measurement's Interactions with Other Practices
The Bottom Line on Measurement
Keys to Success in Using Measurement
Further Reading
Chapter 27 Miniature Milestones
Using Miniature Milestones
Managing Risks of Miniature Milestones
Side Effects of Miniature Milestones
Miniature Milestones' Interactions with Other Practices
The Bottom Line on Miniature Milestones
Keys to Success in Using Miniature Milestones
Further Reading
Chapter 28 Outsourcing
Using Outsourcing
Managing the Risks of Outsourcing
Side Effects of Outsourcing
Outsourcing's Interactions with Other Practices
The Bottom Line on Outsourcing
Keys to Success in Using Outsourcing
Further Reading
Chapter 29 Principled Negotiation
Chapter 30 Productivity Environments
Using Productivity Environments
Managing the Risks of Productivity Environments
Side Effects of Productivity Environments
Productivity Environments' Interactions with Other Practices
The Bottom Line on Productivity Environments
Keys to Success in Using Productivity Environments
Further Reading
Chapter 31 Rapid-Development Languages (RDLs)
Using RDLs
Managing the Risks of RDLs
Side Effects of RDLs
RDLs' Interactions with Other Practices
The Bottom Line on RDLs
Keys to Success in Using RDLs
Further Reading
Chapter 32 Requirements Scrubbing
Chapter 33 Reuse
Using Reuse
Managing the Risks of Reuse
Side Effects of Reuse
Reuse's Interactions with Other Practices
The Bottom Line on Reuse
Keys to Success in Using Reuse
Further Reading
Chapter 34 Signing Up
Using Signing Up
Managing the Risks of Signing Up
Side Effects of Signing Up
Signing Up's Interactions with Other Practices
The Bottom Line on Signing Up
Keys to Success in Using Signing Up
Further Reading
Chapter 35 Spiral Lifecycle Model
Chapter 36 Staged Delivery
Using Staged Delivery
Managing the Risks of Staged Delivery
Side Effects of Staged Delivery
Staged Delivery's Interactions with Other Practices
The Bottom Line on Staged Delivery
Keys to Success in Using Staged Delivery
Further Reading
Chapter 37 Theory-W Management
Using Theory-W Management
Managing the Risks of Theory-W Management
Side Effects of Theory-W Management
Theory-W Management's Interactions with Other Practices
The Bottom Line on Theory-W Management
Keys to Success in Using Theory-W Management
Further Reading
Chapter 38 Throwaway Prototyping
Using Throwaway Prototyping
Managing the Risks of Throwaway Prototyping
Side Effects of Throwaway Prototyping
Throwaway Prototyping's Interactions with Other Practices
The Bottom Line on Throwaway Prototyping
Keys to Success in Using Throwaway Prototyping
Further Reading
Chapter 39 Timebox Development
Using Timebox Development
Managing the Risks of Timebox Development
Side Effects of Timebox Development
Timebox Development's Interactions with Other Practices
The Bottom Line on Timebox Development
Keys to Success in Using Timebox Development
Further Reading
Chapter 40 Tools Group
Chapter 41 Top-10 Risks List
Chapter 42 User-Interface Prototyping
Using User-Interface Prototyping
Managing the Risks of User-Interface Prototyping
Side Effects of User-Interface Prototyping
User-Interface Prototyping's Interactions with Other Practices
The Bottom Line on User-Interface Prototyping
Keys to Success in Using User-Interface Prototyping
Further Reading
Chapter 43 Voluntary Overtime
Using Voluntary Overtime
Managing the Risks of Voluntary Overtime
Side Effects of Voluntary Overtime
Voluntary Overtime's Interactions with Other Practices
Steve McConnell is recognized as one of the premier authors and voices in the development community. He is Chief Software Engineer of Construx Software and was the lead developer of Construx Estimate and of SPC Estimate Professional, winner of Software Development magazine's Productivity Award. He is the author of several books, including Code Complete and Rapid Development, both honored with Software Development magazine's Jolt Award.