Chapter 1. Software Development Life Cycles
The problem with software development, as an intellectual activity, is that you can’t manage development projects in the same way you can other projects. With a project like building a house, adding more people to the project (as long as they can operate construction tools) can shorten the overall time it takes to complete the house. In software development, the relationship between people and time to complete is much more complex.
In this chapter, we’ll take a quick look at the origins of software development. We will examine the process’s benefits and the essential stages that any methodology must include. Then we’ll dive a little deeper into the pros and cons of several of the most popular methodologies.
The Value of Processes
Why bother with a methodology? Developers and project managers have learned a lot since the early days of serious software development projects of the 1960s. They’ve created a variety of methodologies to help get large-scale software projects (and even small ones) done faster, more efficiently, and with higher quality. Sometimes the new methodologies spring from a desire to solve a problem the developer experienced with another methodology.
Different methodologies have different goals and different problems. A methodology that works wonderfully for one organization might be a bad fit for another. One thing is clear, though: having a methodology is vital.
Repeatability and Consistency
One goal of any process ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access