Essence Framework Dr. Görkem Giray 25 October 2016 Çanakkale
Software Development Methods • 32 methods emerged in the last 20 years. • About 15% originated from academia.
Ref: Mark Kennaley, SDLC 3.0: Beyond a Tacit Understanding of Agile, Fourth Medium Press, 2010.
What are the Problems? Share experience
Compare methods Build a body of knowledge Teach Software Engineering Lack of common terminology More details: Görkem Giray, Yazılım Geliştirme Süreci Uyarlama İçin Bir Çerçeve Önerisi, UYMS 2015, İzmir, http://ceur-ws.org/Vol1483/4_Bildiri.pdf.
What is the Main Problem?
“Everyone of use knows how to develop our own software, but as a community we have no widely accepted common ground.” Ivar Jacobson
Ref: Dr. Ivar Jacobson - The Essence of Software Engineering: the SEMAT Approach, Google Zürich Tech Talk, July 17, 2014.
Method Architecture
Ref: Object Management Group, “Essence - Kernel and Language for Software Engineering Methods,” OMG, no. Version 1.1, 2015.
Essence OMG Specification
Ref: http://www.omg.org/spec/Essence/
Essence Language
Essence Kernel Alphas the things to work with
Activity spaces the things to do
Competencies the abilities needed
Alpha • is the acronym of Abstract-Level Progress Health Attribute • are subjects whose evolution we want to understand, monitor, direct, and control • shows a progression towards achieving the objectives through its states
Alphas The Essential Things to Work With
Ref: Object Management Group, “Essence - Kernel and Language for Software Engineering Methods,” OMG, no. Version 1.1, 2015.
Alpha States
Checklists
• • • • • • •
The criteria to be used when selecting the architecture have been agreed on. Hardware platforms have been identified. Programming languages and technologies to be used have been selected. System boundary is known. Significant decisions about the organization of the system have been made. Buy, build, and reuse decisions have been made. Key technical risks agreed to.
Activity Space • is a high-level abstraction representing “something to be done” • are containers for activities • has completion criteria expressed in terms of states the output alphas should have reached
Activity Spaces The Essential Things to Do
Ref: Object Management Group, “Essence - Kernel and Language for Software Engineering Methods,” OMG, no. Version 1.1, 2015.
An Example Activity Space
Description
Understand Stakeholder Needs Engage with the stakeholders to understand their needs and ensure that the right results are produced. This includes identifying and working with the stakeholder representatives to progress the opportunity. Understand stakeholder needs to: Ensure the right solution is created. Align expectations. Collect feedback and generate input. Ensure that the solution produced provides benefit to the stakeholders.
Entry Criteria
Stakeholders::Recognized, Opportunity::Value Established
Completion Criteria
Stakeholders::In Agreement, Opportunity::Viable
Ref: Object Management Group, “Essence - Kernel and Language for Software Engineering Methods,” OMG, no. Version 1.1, 2015.
Competency The Abilities Needed
Ref: Object Management Group, “Essence - Kernel and Language for Software Engineering Methods,” OMG, no. Version 1.1, 2015.
Conceptual Overview of Essence Language
Ref: Object Management Group, “Essence - Kernel and Language for Software Engineering Methods,” OMG, no. Version 1.1, 2015.
Work Product • enables to represent Alphas concretely • can be of many different types such as models, documents, specifications, code, tests, executable, spreadsheets, as well as other types of artifacts
Activity • describes some work to be performed • can recommend to perform actions on alphas and/or work products • can belong to one or more Activity Space(s)
Extending Kernel Alpha (Kernel)
Work
SubAlpha
Sprint
Activity Space (Kernel)
Sprint Backlog
Work Product
Activity
Meta-Level Hierarchy Level 2
LanguageElement
Level 1
isConcrete RepresentationOf
BasicElement
Alpha
WorkProduct
instanceOf
instanceOf
Requirements
SprintBacklog
instanceOf
Level 0
A Kernel Alpha
Essence Language Elements
SprintBacklog1 : SprintBacklog instanceName = "SprintBacklog1" currentLevelOfDetail = "User Level"
A Work Product in a specific method A Work Product instance in a specific project
Tailored Method
derived from Jacobson, I., Ng, P., McMahon, P. E., Spence, I., and Lidman, S. 2013. The Essence of Software Engineering. Addison-Wesley. p. 47
Tools and Techniques Cards
Serious Games • • • • • • •
Ref: Alpha State Card Games, Ivar Jacobson International, 2015.
Progress Poker Chase the State Objective Go Checkpoint Construction Lifecycle Layout Milestone Mapping Health Monitoring
Using Kernel: Agree on what to monitor Requirements
Requirement Item
Ref: Object Management Group, “Essence - Kernel and Language for Software Engineering Methods,” OMG, no. Version 1.1, 2015.
Using Kernel: Agree on what to check
Approval from the government is in place.
Using Kernel: Assess current state and define next state
Using Kernel: Assess current state and define next state Application Opportunity Application Stakeholders
Viable
Work In Agreement Solution Needed Represented
Conceived
Way of Working
Team
Coherent
Application Requirements
Software System
What is different? Other Metamodel Specifications
ISO/IEC 24744 Software Engineering — Metamodel for Development Methodologies
Essence Framework • A standard Kernel (common ground) • Alpha concept • State-based tracking
Software & Systems Process Engineering Meta-Model Specification (SPEM)
Ref: Brian Elvesæter, Gorka Benguria, and Sylvia Ilieva. 2013. A comparison of the Essence 1.0 and SPEM 2.0 specifications for software engineering methods. In Proceedings of the Third Workshop on Process-Based Approaches for Model-Driven Engineering (PMDE '13). ACM, New York, NY, USA
Sources of Information
Sources of Information www.semat.org
SEMAT • Software Engineering Method and Theory • founded in 2009 by Ivar Jacobson, Bertrand Meyer, Richard Soley • is a community of people, some companies, and some universities around the world supporting an initiative to create a common ground, a kernel or a foundation for software engineering. Ref: http://semat.org/what-is-it-and-why-should-you-care-
SEMAT Organization
Ref: http://semat.org/organigramm
SEMAT Turkey Chapter – Members
Dr. Görkem Giray
Dr. Eray Tüzün
Prof. Dr. Bedir Tekinerdoğan
Yagup Macit
SEMAT Turkey Chapter – Publications
http://ceur-ws.org/Vol-1483/4_Bildiri.pdf
http://dl.acm.org/citation.cfm?doid=2897134.2897139
SEMAT Turkey Chapter – Join Us! to:
[email protected];
[email protected]
• your name, affiliation • your plan(s) to contribute (conduct a research, write a paper, etc.)