This chapter discusses the essential purposes and roles of software engineering processes. It begins with criticism of existing models and general proposals that have been made for assessing and evaluating models. The critical role of time as a factor in development is considered, including not only the various scheduling constraints on time to develop but also the business-driven parameter of time to market. The lack of adequate integration between software and hardware technology, on the one hand, and business and social disciplines, on the other, is identified as a persistent shortcoming undermining the ability of the development process to attack real-world problems optimally.
Next, a series of questionable assumptions that have affected the historical development of software process models are considered, including suppositions about the primacy of the role of internal software factors; the relative independence of software development from the business process; separation of the software project as management enterprise from the software process; and a choice between process-centered versus architecture-centered development. These assumptions have illegitimately constrained and reduced the fundamental role that must be played by people, money, interdisciplinary knowledge, and business goals in terms of their impact on effective problem solutions.
At the end of this unit the student should be able to understand:
- Overview of the Assessment of Process & dimension of time
- Need for a business model in software engineering
- Classic invalid assumptions
- Implication of the new business model & roll of the problem-solving process