5 The Language of Software Engineering

The goal of this chapter is to present how the concepts discussed in the previous chapter are expressed as a language similar to how a programming language is expressed in computer science. Thus, we learn the concepts of alpha, alpha state, work product, activity, activity space, competency, and pattern, and how these concepts are expressed. We will show in this chapter

  • the language constructs of Essence;
  • the role of alpha states in two alphas and related checklists;
  • the meaning and benefits of essentializing a practice; and
  • the concept of cards as a practical way to use the various language elements of Essence.

What you learn here provides the necessary handles to use Essence in practice!

After studying this chapter, you should be able to:

  • explain the concepts of alpha, alpha state, and work product, and how they are expressed;
  • identify the concepts of activity and activity space (how they are expressed is shown in later chapters);
  • identify the concepts of competency and pattern (how they are expressed will be shown in later chapters);
  • explain the difference between an alpha and work product;
  • explain the concept of alpha with an example (e.g., the Requirements alpha and its states) and the way these are expressed;
  • explain the type of information present in Essence cards;
  • explain the benefits of checklists in software engineering; and
  • list the steps of essentializing a practice.