Essence Framework

58 downloads 367 Views 3MB Size Report
Oct 25, 2016 - Ref: Mark Kennaley, SDLC 3.0: Beyond a Tacit Understanding of Agile, Fourth Medium Press, 2010. • 32 methods emerged in the last 20 years.
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.)