Problem
Consider the following two examples of software projects: developing a conventional compiler for a known programming language (e.g., C) for a new machine and developing an application to automate a doctor's office. Which of the two is likely to call for a water-fall life cycle development style? Why? What are the likely risks in the two examples, and how can the chosen development life cycle model face the risks?