This chapter provided some basic background information to prepare you for the rest of the book. Agile approaches are important because of the increasing burden of complexity and quality and the formidable constraint of a decreasing time to market. Following the discussion of the need for agility, the context of real-time systems was presented. The basic concepts of timeliness, such as execution time, deadline, blocking time, concurrency unit, criticality, and urgency, are fundamental to real-time systems. Understanding them is a prerequisite to understanding how agile methods can be applied to the development of such systems. The discussion went on to the actual benefits of agile methods, such as lowered cost of development, improved project control, better responsiveness to change, and improved quality. Finally, agile and traditional methods were briefly compared and contrasted. Agile methods provide a depth-first approach that embraces change and provides a continual focus on product quality.
The next chapter will introduce the concepts of model-driven development. Although not normally considered “agile,” MDD provides very real benefits in terms of conceptualizing, developing, and validating systems. MDD and agile methods work synergistically to create a state-of-the-art development environment far more powerful than either is alone.
Chapter 3 introduces the core principles and practices of the Harmony/ESW process. These concepts form the repeated themes that help define and understand the actual roles, workflows, tasks, and work products found in the process.
Then, in Chapter 4, the Harmony/ESW process itself is elaborated, including the roles, workflows, and work products. Subsequent chapters detail the phases in the Harmony/ESW microcycle and provide detailed guidance on the implementation of those workflows.