3 Essence in a Nutshell
The goal of this chapter is to present key ideas resulting in Essence as a common ground for all software engineering methods. Basic concepts of Essence, the notion of a method, and the entire architecture of Essence are featured. Thus, the specific goals for this short chapter are for the reader to attain the ability to
- identify the key ideas resulting in Essence and explain why they are important for software engineering;
- identify the concept of composition as a way to combine practices into a
method to guide a software development endeavor;
- identify the common ground Essence as consisting of a language and a kernel of essential elements;
- understand that practices and methods are built on top of Essence, forming a method architecture;
- identify the concepts of cards as a means to give the abstract elements of Essence an attractive and tangible user experience; and
- explain why Essence focuses on the essentials only.
The chapter also shows that the main idea behind Essence is to focus on the most important things to think about when developing software.
In this chapter, we will present some key ideas used as input when designing Essence. We will also separately motivate each idea and describe how it has been realized with Essence.
After studying this chapter, you should be able to
- name the key elements of Essence;
- distinguish between a practice and a method (give some examples of both);
- explain the concept of composition as a key technique to build methods using practices (and to support extensibility in Essence);
- explain the concept of tacit vs. explicit practices;
- explain the role of capability and background in deciding how explicit a practice should be;
- explain the layered architecture of Essence and its elements;
Given that those aims have been reached, the reader is equipped with knowledge to distinguish essential (i.e., the important) steps/aspects/decisions from those which are of minor importance. This means that more knowledge is gained by proceeding in a given project and by working on the project with the other people/stakeholders involved.