Chapter 13
A Beginner's Guide to the Software Development Life Cyclea
Let's imagine two scenarios. In the first, you are asked to host Thanksgiving dinner for your entire family less than one week before the event, and you have never cooked for more than five people in your entire life. In the second, you are invited to attend your neighbor's Thanksgiving meal, a tradition the family has happily participated in for more than a decade.
Of course, you try to do the best you can in the first scenario, given your other time commitments and your limited budget, with much of the work tackled at the last minute with numerous urgent trips to the store for missing ingredients, utensils, napkins. The results are somewhat entertaining but far too chaotic, with too much anxiety and not enough turkey, overcooked stuffing, and relatives who plan to find a restaurant after they leave your house. In the second scenario, you sit down at the precise time on the invitation to a well-organized menu (even an alternate dish for the vegetarian cousins) including two different salads, coordinated wines for each stage of the meal, and a perfectly timed baked Alaska for dessert. The hosts are relaxed and charming, without a single stain on their clothing, and the biggest crisis of the evening involves their cat and some spilled soup. (They had soup!)
It should not be difficult to identify the reasons why one meal was successful and the other was a nightmare that in-laws will find amusing ...