Essence - The Art of Software Engineering
Just as human DNA captures our essential nature, so too Essence captures the essential nature of software engineering.
Essence is a language for defining methods and practices common to all software engineering. Essence was created by Software Engineering Method and Theory (SEMAT) and approved by The Object Management Group as a standard in 2014.
It stands for Software Engineering Method and Theory, the initiative was launched in December 2009 by Ivar Jacobson, Bertrand Meyer, and Richard Soley with a call for action statement and a vision statement.
The purpose of SEMAT is to bring the rigor of engineering discipline back into software development. If the project involves developing a driverless car or a health monitoring systems based on Artificial Intelligence (AI) it is important that failure modes are considered as part of the design, the boundary conditions, reliability and critical to quality (CTQ) parameters.
SEMAT can help in bridging the gap between current methods and theory.
The most interesting part that caught my attention while studying SEMAT was "Essance" - it is the kernel or a foundation on top which any method or framework can be expressed. It is based on three principles. it is actionable; it is extensible, and it is practical.
The kernel provides a simple language to express methods and practice, in line with the three principles.
"being" and Agile
This is the topic close to my heart, exploring the world of being. I'm exploring the "being" part of "being Agile"
This takes me back to study of Ontology (I have written blogs and spoken at Global Scrum Gathering and in Capability Counts conference on this topic), It is a branch of philosophy(in particular meta-physics) focusing on study and nature of ‘being’, this term is also widely used in social science, computer science /artificial intelligence, information science and in many other fields.
The term is derived from Greek words, “Onto” for existence and “logia” for study, science. The Latin derivative ontologia means science of being.
In general, ontology focuses on nature of 'being'. For example, let’s consider an apple. The existence of apple can be experienced by sight, touch, smell, and taste. In an apple juice, though the form is changed the existence can be experienced in the form of smell and taste. The “essence” or the being of an apple can be experienced.
In the case of living beings the concept of “being” is different, especially for human beings. Human beings have a wide range of 'beings' in which they express themselves. Normally they are expressed as emotions like “being happy”, “being sad”, “being angry”, “being enthusiastic” and so on. The being is not just the emotional state but it is much more than that. It is a combination of mental state (attitude and state of mind), emotional state (feelings and emotions), bodily state (body sensation), thoughts and thought process (logic and memory) in a given moment of time or in a given situation.
This also includes mind-set (frame of reference) and worldview (model of reality).
In fact, one can’t write/read about “being” then it becomes “knowing”.
There is a work to be done to express all these ideas as well to study the existing methods and theory. The concept of common ground and Kernel is fundamental and fascinating, it helps to connect the dots with so many interesting topics.
Outline/Structure of the Talk
- Understand the core concepts
- Simplify the process (by separating practices from methods)
Agile coaches, Scrum Masters, Methods and Tools teams
Prerequisites for Attendees