You are on page 1of 75

Essence

June Sung Park


Professor, ISE & CS, KAIST
Chairman and President, SEMAT Inc.
December 2014

This work was supported by the ICT R&D programs of MSIP/IITP of Korea: Development of Cloud Services for Software Engineering Method Enactment
Based on the OMG Essence Standard [2014-044-033-001] , and Development of Device Collaborative Giga-Level Smart Cloudlet Technology [391104004] .

Table of Content
I.
II.
III.
IV.

Software Engineering Methods Today


Introduction to Essence
Method Description and Enactment
Essence Use Cases and Case Studies
1.

Method-Agnostic Project Steering


Example 1
Case Study 1

2.

Method Description
Example 2
Case Study 2, 3, 4

3.

Practice Library and Orchestration


Example 3

4.

V.

Project Support Environment

SEMAT Yesterday, Today & Tomorrow

The views or opinions expressed in this talk are solely the authors own
and do not necessarily represent the views or opinions of SEMAT Inc.
IIIT-B / Sasken / EAIT 2014 - India

I. Software Engineering Methods


Today

IIIT-B / Sasken / EAIT 2014 - India

Evolution of Software Engineering Methods


Spiral
Process

Waterfall

Process
(Method)

Unified
Agile

Object-Oriented

Practice

Component
-Based

Structured

XP
ServiceOriented

Information Engineering

1950

1960

1970

1980

1990

2000

2010

IIIT-B / Sasken / EAIT 2014 - India

Evolution of SE Methods: Capgemini


Waterfall Process

Process
(Method)

SDM

1970

1980

1990

AUP

RUP

Information
Engineering for
Structured ADP for Client/Server Apps
Mainframe Apps

Windahl Finnigan, The Life Cycle of the


Agile Unified Process, Capgemini, 2012.
(http://www.youtube.com/watch?v=X
19IVn4qkC8)

1960

SDM2

ComponentBased Dev for


Web Apps

Practice

1950

Iterative Process

2000

ServiceOriented Dev
for CloudEnabled Apps

2010

IIIT-B / Sasken / EAIT 2014 - India

Software Engineering Practices


Service
IS

Architecting

Development

Operation

BPM

Business
Model

Application

Strategy
Planning

UX
Business Analysis
UI

Logic

Analytics /Big Data


EA

Web 2.0 / Mobility

MDD SOA
XP
MDM
App Platform / PaaS
Virtualization / IaaS

Data
Technical
Infrastructure
Management of
IT Service

SaaS

Project Mgmt

IT Service Mgmt

IIIT-B / Sasken / EAIT 2014 - India

Software Engineering Method Enactment

OMG, Software & System Process Engineering Metamodel Specification (SPEM) Version 2.0, April 2008.

IIIT-B / Sasken / EAIT 2014 - India

II. Introduction to Essence

IIIT-B / Sasken / EAIT 2014 - India

What is Essence?
Prior to Essence, natural languages or SPEM 2.0, a
domain-specific language, have been used to
describe software engineering methods.
Essence provides standard kernel and language to
prescribe and enact software engineering methods,
which was adopted as OMG standard in June 2014.
The Essence kernel provides a minimal set of
essential elements that prevail in any software
engineering project.
Object Management Group, Essence-Kernel And Language For Software Engineering
Methods 1.0-Beta 2, 2014. (http://www.omg.org/spec/Essence/1.0/)
IIIT-B / Sasken / EAIT 2014 - India

10

Essence Kernel
Alpha
Activity Space
Competency

IIIT-B / Sasken / EAIT 2014 - India

11

<fulfills

Software
System
<produces

Work

Stakeholders

<performs and plans

Support>

Requirements
scopes and
constraints>

Solution

<provide

focuses>

<set up to address

Endeavor

Opportunity

use and
consume>

Customer

Alpha

Team

Way of
Working
IIIT-B / Sasken / EAIT 2014 - India

12

Alpha
Alpha represents
things to deal with
in any software
engineering project.
Essence takes the
systems approach
to
software
engineering.
June Sung Park, Software Engineering in the
Context of Business Systems, in Ivar Jacobson
and Harold Lawson (ed.) Software Engineering
in the Systems Context, College Publications:
London (forthcoming)

Software Systems used in a Business System

Work
Way of Working

Opportunity
Requirements

Team

Stakeholders

Software
System

Osterwalder, A. et al. Business Model


Generation, 2010.
(http://www.businessmodelgeneration.com/)
IIIT-B / Sasken / EAIT 2014 - India

13

Alpha
Alpha (as an acronym
of
Abstract-Level
Progress
Health
Attribute) represents
dimensions of the
state of a software
engineering project.

Project State with Direction and Goals for a Software System

Essence prescribes a
state machine for
software engineering.

Cecile Peraire and Todd Sedano, "State-Based Monitoring and Goal-Driven Project Steering: Field Study of the
SEMAT Essence Framework", International Conference on Software Engineering, Hyderabad, India, 2014.
IIIT-B / Sasken / EAIT 2014 - India

14

Alpha State and Checklist

Ivar Jacobson, Pan-Wei Ng, Paul E.


McMahon, Ian Spence and Svante
Lidman, The Essence of Software
Engineering: Applying the SEMAT
Kernel, Addison-Wesley, 2013.

IIIT-B / Sasken / EAIT 2014 - India

15

Alpha Decomposition and Extension


An alpha may have lower-level, more
granule sub-alphas whose states
contribute to and drive the state of
the super-alpha.

Alpha

Sub-Alpha

Alpha

Extended Alpha

Association between super-alphas


and sub-alphas can be many-to-many.
Extension allows local changes to be
made to the values of the attributes
of an element (e.g. alpha) in the
context of an element group (e.g.
practice).

IIIT-B / Sasken / EAIT 2014 - India

16

Alpha and Work Product


An alpha is manifested in terms of a
collection of work products.

Different methods may use different


collections of work products to
document the same alpha.

Alpha

Work Product

IIIT-B / Sasken / EAIT 2014 - India

17

Customer

Explore
Possibilities

Solution

Understand
the
Requirements

Endeavor

Activity Space

Prepare to
do the Work

Ensure
Stakeholder
Satisfaction

Understand
Stakeholder
Needs

Shape the
System

Coordinate
the Activity

Implement
the System

Test the
System

Support
Team

Use the
System

Deploy the
System

Track
Progress

Operate
the System

Stop the
Work

IIIT-B / Sasken / EAIT 2014 - India

18

Activity Space and Activity


Activity
spaces
are
containers of activities
performed in a project
method.
An activity may be a part of
another activity forming a
work breakdown structure.

Activity Space

Activity

The association between


activity
spaces
and
activities can be many-tomany.

IIIT-B / Sasken / EAIT 2014 - India

19

Activity Space and Alpha State


Work Product

Alpha State

produces
/ updates>

<has

Alpha

targets>

Activities may change the alpha


states of the software engineering
project.
Activities can be assigned target
alpha states or checkpoints (i.e.
criteria of done).
Pre and post conditions of each
activity space are suggested in
terms of alpha states in the kernel.
Essence enables a semi-Markovian
decision process for software
engineering.
A Target-State to Activity Mapping
Algorithm can be used to determine
the next action.

Activity
Activity Space

Competency
June Sung Park, Essence-Based, Goal-Driven Adaptive Software Engineering, KAIST, 2014.

IIIT-B / Sasken / EAIT 2014 - India

20

Activity Space and Alpha State


Satisfied
in Use

Satisfied for
Deployment

In Agreement

Involved

Benefit
Accrued

Addressed

Viable

Value
Established

Solution
Needed

Activity Spaces

Identified

Alpha States

Represented

Stakeholder
Recognized

Opportunity

Explore Possibilities
Understand Stakeholder Needs
Ensure Stakeholder Satisfaction
Use the System

IIIT-B / Sasken / EAIT 2014 - India

21

Endeavor

Solution

Customer

Competency
Stakeholder Representation

Analysis

Development

Leadership

Testing

Management

IIIT-B / Sasken / EAIT 2014 - India

22

Competency
Essence kernel suggests
five levels of competency:

Level 1 Assists
Level 2 Applies
Level 3 Masters
Level 4 Adapts
Level 5 Innovates

SFIA Foundation, SFIA 5 Framework


Reference, 2011.

IIIT-B / Sasken / EAIT 2014 - India

23

Competency and Role

produces
/ updates>

<has

Alpha State
Activity
Is qualified
to perform>

A role may be defined by


referencing
required
competencies,
having
responsibility
of
work
products, and participation
in activities.

Alpha

organizes>

targets>

Patterns
can
arrange
language elements into
arbitrary
meaningful
structures.

Work Product

Activity Space
profiles>

Competency

Role
IIIT-B / Sasken / EAIT 2014 - India

24

Software Talent Management

B. Curtis, S. A. Miller and W. E. Hefley, The People CMM: A


Framework for Human Capital Management, Addison-Wesley, 2009.

IIIT-B / Sasken / EAIT 2014 - India

25

Kernel Extension
Patterns
can
arrange
language elements into
arbitrary
meaningful
structures.
Resources can be attached
to any language element.
Tags add user defined
information
to
any
language element.
User-Defined Types detail,
explain, and constrain the
proper usage of particular
patterns, resources, or tags.
IIIT-B / Sasken / EAIT 2014 - India

26

III. Method Description and Enactment

IIIT-B / Sasken / EAIT 2014 - India

27

Method Description in Essence


There are about 300
well known practices
reusable
across
projects.
Those practices can
be described using
Essence kernel and
language.
A project method (i.e.
process) is defined
as a composition of
software engineering
practices.

Methods

Custom Method A

Custom Method B

are composed of

Practices
are defined
in terms of

Essence Kernel

OMG
Standard

are described using

Essence Language
IIIT-B / Sasken / EAIT 2014 - India

28

Practice Description in Essence


A practice is described in
Essence by mapping its work
products, activities and roles to
Essence alphas and activity
spaces and competencies,
respectively.

Essence Kernel
Alpha

Practice

Work Product

Alpha State

Activity Space

Activity

Competency

Role

IIIT-B / Sasken / EAIT 2014 - India

29

Scrum Practice

Development Team
Task
Breakdown

Product Increment

Jeff Sutherland and Ken Schwaber, The Scrum Guide, 2013. (http://www.scrumguides.org/)

IIIT-B / Sasken / EAIT 2014 - India

30

Scrum Practice in Essence


Scrum
Practice
Requirements

Product
Backlog

Software System

Definition of
Done

Sprint
Backlog

Product
Increment
Work

Team
Way of Working

Release Plan

Scrum Team
Improvement
Plan

Understand the
Requirements

Product Backlog
Refinement

Ensure Stakeholder
Satisfaction

Sprint Review

Sprint Goal
Sprint Plan

Coordinate the
Activity

Sprint Planning

Total Work
Remaining

Support Team

Daily Scrum

Track Progress

Sprint Retrospective

June Sung Park, Paul E. McMahon and Barry Myburgh, Scrum Powered by Essence, SEMAT, 2014.
Ivar Jacobson, Ian Spence and Pan-Wei Ng, Agile and SEMAT-Perfect Partners, Communications of the ACM 56:11, 2013, pp. 53-59.
IIIT-B / Sasken / EAIT 2014 - India

31

Method Composition
Explore Possibilities
Stakeholder
Opportunity

Scrum
Practice

Agile
Modeling

Ambler, S. and M.
Lines, Disciplined
Agile Delivery: A
Practitioners Guide
to Agile Software
Delivery in the
Enterprise, IBM
Press, 2012.

Requirements

Product Backlog

Software System

Definition of
Done

Business
Requirements

Understand Stakeholder
Needs

Understand the
Requirements

Sprint
Backlog

Business Analysis

Product Backlog
Refinement

Shape the System

Software Requirement
Model

Spike
Model Storming

Software Architecture
Ensure Stakeholder
Satisfaction

Sprint Review

Product
Increment
Work

Release Plan

Team

Scrum Team

Way of Working

Improvement
Plan

Sprint Goal

Coordinate the
Activity

Sprint Planning

Sprint Plan

Support Team

Daily Scrum

Total Work
Remaining

Track Progress

Sprint Retrospective

June Sung Park, Software Engineering in the Context of Business Systems, in Ivar Jacobson and Harold
Lawson (ed.) Software Engineering in the Systems Context, College Publications: London (forthcoming)

IIIT-B / Sasken / EAIT 2014 - India

32

Method Composition
L. Williams, G. Brown, A. Meltzer and N. Nagappan, Scrum
+ Engineering Practices: Experiences of Three Microsoft
Teams, International Symposium on Empirical Software
Engineering and Measurement, Banff, Canada, 2011.

Kernel elements covered by Scrum


Kernel elements additionally covered by Agile Modeling

Add XP

Add
Dev
Ops

Add
SPM

IIIT-B / Sasken / EAIT 2014 - India

33

Process Enactment
The practice activities
included in the project
method are mapped to
the
activities
to
constitute the project
workflow.
Workflow
activities
can be orchestrated
using a BPM engine.
A project method can
be
re-composed
adaptively to address
critical issues that may
occur
during
the
project.

Essence Kernel
Alpha

Practice

Work Product

Project Workflow
Gateway

Event

Activity

Alpha State

Activity Space

Activity

Competency

Role

Actor

IIIT-B / Sasken / EAIT 2014 - India

34

Process Enactment

June Sung Park, Essence Kernel-Based Enterprise Method Architecture,


Essence Workshop, OMG Technical Meeting, Berlin, June 20, 2013.
(http://semat.org/?page_id=193)

Jin Young Jang, Essencia: Open Source Project for Developing an


Essence-Based Method Enactment Tool, SEMAT Korea Workshop, Seoul,
November 13, 2014 (In Korean).
IIIT-B / Sasken / EAIT 2014 - India

35

IV. Essence Use Cases and


Case Studies

IIIT-B / Sasken / EAIT 2014 - India

36

Essence Maturity Model

1. Method-Agnostic
Project State
Monitoring and
Activity Planning

2. Practice
Description in
Essence and
Method
Composition

3. Essence-Based
Practice Library
and Process
Orchestration

4. Essence-Powered
Project Support
Environment

IIIT-B / Sasken / EAIT 2014 - India

37

1. Method-Agnostic Project Steering

Assess the current states of


those alphas.
Set the target states of the
alphas to relieve the pain
points.
Determine
activities
to
perform to move the project
state to the target alpha
states.

Help
the
least
experienced developers
before experts.

Alpha

Help
practitioners
before
process
engineers.

<has

Given the pain points of the


project underway, identify
the alphas that are related.

<aligns a set of

Alpha State

Checklists

Intuitive,
concrete
graphical syntax before
formal semantics.
Method
use
before
method definition.

C. Peraire, P. McMahon, M. Kajko-Mattsson, W. Menezez, B. Myburgh and B. Palank, A Scenario on Solving Pain Points, SEMAT Practice Area, Nov. 2014.
IIIT-B / Sasken / EAIT 2014 - India

38

Example 1
Project Synopsis
A team with 5 developers is
working on the 2nd release of
a
Web-based
Leaning
Management System for a
university.

Current Pain Point


Faculty members are resisting
migration to the new system
and giving no or negative
feedback.

Alpha Selection
Stakeholder alpha state cards
are looked at.

IIIT-B / Sasken / EAIT 2014 - India

39

Example 1
Current State Identification
The stakeholders have already
been recognized.
They
are Administrators,
Faculty, and Students.

Target State Selection


However,
no
faculty
representatives have been
appointed.
Assumption
that
faculty
members would provide
feedback spontaneously was
wrong.
The
team
agrees
that
represented becomes the
target
state
for
the
stakeholder alpha.
IIIT-B / Sasken / EAIT 2014 - India

40

Example 1
Next Action Selection
Activity
1:
Appoint
stakeholder representatives
for
the
faculty
group,
including supportive and
unsupportive
faculty
members.
Activity 2:
Agree on or
modify the existing definition
of
responsibilities
and
collaboration approaches with
the faculty representatives.
Because of the iterative nature
of
the
endeavor,
the
stakeholders need to agree on
providing feedback on a
regular basis.

IIIT-B / Sasken / EAIT 2014 - India

41

Example 1
Current State Identification
Four faculty representatives
have been appointed: two
supportive
and
two
unsupportive.
Negative
feedback
was
received
from
faculty
members saying they do not
see the value of the new
system.

Alpha Selection
Opportunity alpha state cards
are investigated.

IIIT-B / Sasken / EAIT 2014 - India

42

Example 1
Target State Selection
The team agrees that the
opportunity has already been
identified and a need for a
software solution has been
identified.
However, there is clearly a need
for
articulating
and
communicating the solution value
to all faculty members.

Next Action Selection


Activity 3: Prepare a short
demonstration of the new solution
key features while articulating
their value, including value over
the legacy solution.
Activity 4: Present solution value
to faculty during weekly faculty
meeting.

IIIT-B / Sasken / EAIT 2014 - India

43

Case Study 1
A presentation on ESSENCE was given by Ivar
Jacobson and Ian Spence at Google in Zurich in
July 2014.
In order to explore Essence in a practical
setting, a 2-day workshop was hosted at
Google Switzerland in October 2014 by Martin
Landers, an engineering manager for YouTube.

He and his team of five engineers took a look


at Essence and its serious games.
Martin Landers said: Playing progress poker, reviewing health indicators and defining
checkpoints triggered some good conversations in the team and helped crystallize some
risks that I thought the team wasnt aware of or vice-versa.
Google Tech Talk (http://www.youtube.com/watch?v=WNlERrVxYjs&list=UUtXKDgv1AVoG88PLl8nGXmw)

IIIT-B / Sasken / EAIT 2014 - India

44

Benefits
Enables
multidimensional
thinking
and
empowers team
reflections
Allows adaptive,
situational project
planning
and
monitoring
Prevents losing
sight of the value
to be created for
customers

Step Back &


Look at Project
Holistically
(Alphas)
Perform
Activities

Decide How to
Reach Goals
(Activity)

Opportunity
6
5
4
3
2
1
0

Work

Monitor Progress
(Alpha State
Checklists)

Set Project Goals


(Target Alpha
States)

Way of
Working

Stakeholders

Requirements

Team

Software
System

C. Peraire, Introduction to the SEMAT Essence Framework, Carnegie Mellon University, 2013.
IIIT-B / Sasken / EAIT 2014 - India

45

2. Method Description

Help practitioners define the


project method by merging
selected practices resolving
overlaps and conflicts.

produces
/ updates>

<has

Alpha State
Activity
Is qualified
to perform>

Help practitioners compare


and select practices to use in a
project.

Alpha

organizes>

targets>

Help process engineers to


describe different software
engineering practices using the
common Essence kernel and
language.

Work Product

Activity Space
profiles>

Competency
June Sung Park, Paul E. McMahon and Barry Myburgh, Scrum Powered by Essence, SEMAT, 2014.

Role
IIIT-B / Sasken / EAIT 2014 - India

46

Example 2
EA

Business Architecture
App Architecture

BPM
BPMN Modeling
BPEL4SWS Implementation
Process Performance Mgmt
BPR Project Management

Data Architecture
Technical Architecture

EA Management
Project Portfolio Mgmt

June Sung Park, New IT Paradigms and Software Engineering Methods,


Software Engineering Standards Summit, Weifang, China, April 2013.

SOA
Service Identification
Service Specification
Service Realization
Service Governance

IIIT-B / Sasken / EAIT 2014 - India

47

Example 2
BPM
Modeling
Opportunity

Process Goals aligned with Business Strategy

Stakeholder

Process Owner and Actors

Requirements

Business Requirements and KPIs

Software
System

BPMN 2.0 Models executable on the Process Engine

Work

As-Is Process Analysis, To-Be Process Design and


Simulation

Team

Cross-Functional Team
with Process Actors and Process Engineers

Way of
Working

Process Modeling Heuristics, Patterns and Tool


IIIT-B / Sasken / EAIT 2014 - India

48

Example 2
BPM
Modeling
Explore Possibilities

Conduct Benchmarking of Global Best Practices

Understand
Stakeholder Needs

Analyze Business Strategies and


Process Capabilities to Improve

Understand the
Requirements

Analyze the Current Process and


Set Improvement Goals and KPIs

Shape the System

Design and Simulate the To-Be Process and


Develop the Implementation Plan

Prepare to Do the Work

Justify ROI of the Process Modeling Project,


Organize and Train the Team

Coordinate Activities

Develop the Process Modeling Project Plan

Track Progress

Track the Process Modeling Project


IIIT-B / Sasken / EAIT 2014 - India

49

Example 2
BPM
Modeling
Explore
Possibilities

Conduct
Benchmarking of
Global Best Practices

Understand
Stakeholder
Needs

Analyze Business
Strategies and
Process Capabilities
to Improve

Understand
the
Requirements

Analyze the Current


Process and Set
Improvement Goals
and KPIs

Shape the
System

Design and Simulate


the To-Be Process
and Develop the
Implementation Plan

Requirements

Business
Requirements
and KPIs

Conceived

Bounded

Coherent

Acceptable

IIIT-B / Sasken / EAIT 2014 - India

50

Example 2
BPM
Modeling
Conduct
Benchmarking of
Global Best Practices
Analyze Business
Strategies and
Process Capabilities
to Improve
Analyze the Current
Process and Set
Improvement Goals
and KPIs
Design and Simulate
the To-Be Process
and Develop the
Implementation Plan

Requirements

Conceived

Bounded

Coherent

Acceptable

Business
Requirements
and KPIs
Checklist
Process goals are
determined.
As-Is process is
described.
Process problems
are identified.
Root causes of the
problems are
identified.
Process KPIs are
defined.
Target KPIs are set.

IIIT-B / Sasken / EAIT 2014 - India

51

Case Study 2
Munich Re defined a pool
of practices used in
different IT service lines
using
the
common
Essence
kernel
and
language.
Munich Re provided a
starter pack of methods
to each type of IT service
lines, and allowed each
project team to add or
delete
practices
as
needed.
B. Perkens-Golomb, Applying SEMAT Concepts at Munich Re, Essence Workshop, OMG Technical Meeting, Berlin, June 20, 2013.
(http://semat.org/wp-content/uploads/2013/07/Applying-SEMAT-at-Munich-REBerlin-Burkhard.pdf)
IIIT-B / Sasken / EAIT 2014 - India

52

Case Study 2
According to PerkensGolomb, Munich Re was
experiencing a Tower of
Babel wherewith no
common languageit was
nearly
impossible
to
discuss and plausibly agree
on a healthy course for a
project.
With the introduction of
alphas, teams were able to
verbally
describe
the
lifecycle of a healthy project.

Julie Pike, Munich Re and EssenceKernel and Language for Software


Engineering Methods: A Case Study, 2014. (http://bit.ly/1GaJcu8)

IIIT-B / Sasken / EAIT 2014 - India

53

Case Study 3
One
of
the
worlds
largest
telecommunications equipment and
services companies in Asia
Internal IT Division began a new
journey towards a modern, agile
development method.
Essence was utilized as a model to drive
continuous improvement of working
practices, and to capture and
communicate new working practices as
modular
units
of
capability
improvement.
Ivar Jacobson International, Asian Telecommunications Equipment Vendor Successfully Achieves Rapid and Sustainable Agile Transformation, 2014.
(http://bit.ly/1BF3vAr)
IIIT-B / Sasken / EAIT 2014 - India

54

Case Study 3
Scrum practice for small
teams
Super Scrum practice for
large teams 50+
Requirements practice for
agile collaboration with
business reps
Continuous integration and
delivery
Practice to automate
integration and deployment
Contracting practice for
sourcing and collaboration
with contractors
Architecture practice
Testing practice and defect
prevention
Integration across the
product teams running agile
or traditional approaches.

Different development scenarios


e.g. single product development,
multi-product development,
new product development
using a combination of the
practices.
The practices mapped to
physical entities to help teams
understand the changes to their
current way of working and
organizational structure
Organizational siloes were torn
down and we were able to
shorten our end-to-end delivery
cycle. SEMATs Essence kernel
brought our teams back to
basics and laid the foundation
for this agile transformation.

Ivar Jacobson International, Asian Telecommunications Equipment Vendor Successfully Achieves Rapid and Sustainable Agile Transformation, 2014.
(http://bit.ly/1BF3vAr)
IIIT-B / Sasken / EAIT 2014 - India

55

Case Study 4
Current Service Delivery Methods Common Practice Extraction Essence-Based Description
ISP


IT

PI


Biz

Chang Sub Shin, Application of Essence to Information Systems ConsultingWhy 2e Consulting


Adopted Essence? SEMAT Korea Workshop, Seoul, November 13, 2014 (In Korean).

Opportunity

Requirement

Biz Goal

Work

Analytic

Way of
Working

Theory

Explore
Possibilities

Understand
Stakeholder Needs

Understand the
Requirements

Shape the System

Biz

Coordinate Activity

Track Progress

IIIT-B / Sasken / EAIT 2014 - India

56

Benefits
Provides a common language
with
which
to
express,
understand
and
compare
different practices and methods
Share common practices across
multiple product or service lines
and many projects.

Provides a systematic way to


assemble reusable practices into a
coherent project method.
Provides a uniform framework to
assess progress and health of
projects that follow different
methods.
IIIT-B / Sasken / EAIT 2014 - India

3. Practice Library and Orchestration


Practices to be applied to
the activities in the
software
engineering
process of a project are
selected from the practice
library.
Target states are defined
for activities.
Progress of an activity is
assessed using the alpha
state checklists.
Depending on the current
state, the activity is
continued, competed, or
repeated.

57

June Sung Park, Activity-Centric Mapping of Software Engineering Practices to Essence Kernel, KAIST, 2013.
Jin Young Jang, Essencia: Open Source Project for Developing an Essence-Based Method Enactment Tool,
SEMAT Korea Workshop, Seoul, November 13, 2014 (In Korean).

Software Product Management

IIIT-B / Sasken / EAIT 2014 - India

58

Example 3
Project Synopsis*
A research institution (KAIST
Institute) and a private company
(Reakosys) conducted a collaborative
software project called Mobile
Cloudlet R&D Project to develop a
group photo curation service based
on Wi-Fi Direct technology.
* Project titled Development of Device
Collaborative Giga-Level Smart Cloudlet
Technology supported by the ICT R&D
program [391104004] of MSIP/IITP of Korea.

June Sung Park, Essence-Based, Goal-Driven Adaptive Software Engineering, KAIST, 2014.
IIIT-B / Sasken / EAIT 2014 - India

59

Example 3
Project Phase I
An extended Scrum method was used.
After an initial system architecture
was designed, an initial product
backlog consisting of user stories was
produced together with supporting
requirement models including UML
use case diagrams and class diagrams.
Developers conducted test-driven
development to implement the sprint
backlog.

IIIT-B / Sasken / EAIT 2014 - India

60

Example 3
Project Phase II
After the system architecture was
stabilized, the product backlog was
expanded
to
enhance
the
marketability of the software
services.
During the first phase, a significant
amount of rework was observed
because requirements were not
detailed enough for the developers.
To address this problem additional
requirement modeling practices were
employed
including
use
case
scenarios, sequence diagrams and UI
wireframes.

IIIT-B / Sasken / EAIT 2014 - India

61

Example 3
Activity
Product
Envisioning
Release
Planning
Product
Backlog Dev &
Refinement
Architecture
Design
Sprint
Planning
Daily Scrum
Test-Driven
Development
Sprint
Review
Increment
Release
Sprint
Retrospective

Activity Space
Activity Goal States
Practices
Explore Possibilities; Understand
Stakeholder::Recognized; Opportunity:: IdentifiedSolution
Stakeholder Needs; Understand
I
I Software Product Management (SPM)
NeededValue Established; Requirements:: ConceivedBounded
the Requirements
Understand Stakeholder Needs;
Stakeholder:: Represented; Opportunity:: Viable; Team:: Seeded
Project Management; Essence-Based Method
Prepare to Do the Work;
I Formed; Work:: Initiated; Way of Working:: Principles Established I
Enactment;
Coordinate Activity
Foundation Established
Understand Stakeholder Needs;
I User Story; UML Use Case; UML Class
I Stakeholder:: InvolvedIn Agreement; Requirements::Coherent
Understand the Requirements;
User Story; UML Use Case; Use Case Scenario;
II Acceptable
II
Shape the System
UI Wireframe; UML Class
I Software System:: Architecture Selected
I Service-Oriented Architecture (SOA)
Shape the System
II Software System:: Architecture SelectedDemonstrable
II SOA; Event-Driven Architecture
I
I
Prepare to Do the Work
Work:: Prepared
Planning Poker
II
II
I Work:: Started; Team:: Collaborating; Way of Working:: In Use
I Task Board
Coordinate Activity; Track
Work:: StartedUnder Control; Team:: CollaboratingPerforming;
Progress; Support the Team
II
II Task Board; Burn Down Chart
Way of Working::In Use
Implement the System; Test
I
I CRC; XP; Configuration Management
Software System:: DemonstrableUsable
the System
II
II CRC; XP; CM; Bug Management;
Ensure Stakeholder Satisfaction;
I Stakeholders:: Satisfied for Deployment; Opportunity:: Addressed;
I
Product Demo
Test the System; Track Progress
II Requirements:: Addressed; Work:: Concluded
II
I
I
Test the System
Software System:: Ready
Release Management
II
II
I
I
Support the Team
Way of Working:: In Place
Essence-Based Method Adaptation
II
II
IIIT-B / Sasken / EAIT 2014 - India

62

Benefits
The project may add or replace
the practices employed in the
project method dynamically and
adaptively based on actual
development of the project
situation.

Software Product Management

Project team members can use


convenient activity cards to
understand the goal and current
state of the activity in progress,
and take appropriate actions.

IIIT-B / Sasken / EAIT 2014 - India

4. Project Support Environment


The Essence-based project method
is imported to a project
management tool to define the
project WBS.

Modeling
& Dev
Tool

The practices associated with


project activities are linked to the
practice-specific tools (such as
modeling tool, testing tool, etc.).
The project dashboard displays
the Essence-based state progress
and health that can be drilled
down to activity-level check points.

63

Project
Mgmt
Tool

Project
Dashboard

Essence-Based
Method
Enactment Tool

Likely to be available in a few


years.
IIIT-B / Sasken / EAIT 2014 - India

64

V. SEMAT
Yesterday, Today & Tomorrow

IIIT-B / Sasken / EAIT 2014 - India

65

SEMAT in the Beginning

Software Method Crisis


Abundance of unique methods that are hard to compare in the lack of a theoretical basis

Vision (2009)
Create the kernel allowing people to describe their current and future practices and methods using
a common vocabulary and framework
So that they can be compared, evaluated, composed, simulated, applied, measured, taught and
researched.

June Sung Park, Ivar Jacobson, Barry Myburgh, Pontus Johnson and Paul E. McMahon, SEMAT Yesterday, Today and Tomorrow, SEMAT, 2014.
(http://semat.org/wp-content/uploads/2014/12/SEMAT-Yesterday-Today-and-Tomorrow-v1.0.pdf)
IIIT-B / Sasken / EAIT 2014 - India

66

Essence Design Principles


Extensible
Actionable
Composable
Adaptable
Scalable

IIIT-B / Sasken / EAIT 2014 - India

67

SEMAT Today
What do you think are benefits from using
Essence?
I may check the progress health of a software project
independent of the software engineering practices
used.
I may describe various software engineering practices
using the common Essence kernel and language so
that they become comparable and integrated into a
coherent project method.
I may use Essence kernel as the common quality gates
in monitoring the progress of multiple projects under
way in my organization.
I may use Essence kernel in teaching the foundation of
software engineering and show differences and
similarities among different software engineering
practices.
I don't see any benefits from learning and using
Essence.

June Sung Park, SEMAT Essence User Survey, March 2014 (https://www.surveymonkey.net/results/ SM-PRLY3P2L/).

Respondents: 123

IIIT-B / Sasken / EAIT 2014 - India

68

SEMAT Today
OMG Essence 1.0 Beta 1 released in June 2013, Beta 2 in June 2014.
Level of Achievement
3

Over-achieved

Sufficiently Achieved

Insufficiently Achieved
1

Not started
0

June Sung Park, SEMAT Essence User Survey, March 2014 (https://www.surveymonkey.net/results/ SM-PRLY3P2L/).

IIIT-B / Sasken / EAIT 2014 - India

69

SEMAT Organization
4 work areas
100+ participants
2000 supporters
7 regional chapters
(+Malaysia under dev)
75 signatories

IIIT-B / Sasken / EAIT 2014 - India

70

SEMAT Activities
Theory Area
General Theory of Software Engineering Workshop: 20~30 papers
submitted

Practice Area
Early adopters of Essence: Fujitsu Services, Munich Re, KPN, UK
government,
Japanese
consumer
electronics,
Chinese
telecommunication product, Chinese Internet media company, etc.
and many more global companies considering adoption
Essence User Guide and Practice Development Guide under
development (Initial versions to appear by year end)
A few books and several papers published in CACM, etc.
Case study reports (Munich Re, Asian Telco, Global Internet Service
Provide, etc.)
Essence tools being offered free from IJI (Practice Workbench,
EssWork, iOS app for Alpha State Cards), and being developed by
uEngine Solutions and a couple of others
IIIT-B / Sasken / EAIT 2014 - India

71

SEMAT Activities
Education Area
Essence tutorial in ICSE 2013 and 2014
One-Day Essence Workshop in OMG Meeting in
2013, and the second forthcoming in Reston in
March 2014.
Regional chapters holding Essence workshops:
China, Korea, Latin America, Russia, South
Africa
IJI certified as SEMAT-authorized Essence
training institution
University courses: CMU SV, Florida Atlantic U,
Free U Bozen, KTH RIT, NU Columbia, U
Duisburg-Essen, U Oslo

IIIT-B / Sasken / EAIT 2014 - India

72

SEMAT Activities
Community Area

SEMAT Inc. established in Florida


SEMAT Newsletter published bimonthly
SEMAT All Hands meeting
SEMAT on Wikipedia and LinkedIn
(http://en.wikipedia.org/wiki/SEMAT, https://www.linkedin.com/groups/Semat-2848533)

SEMAT Website being rebuilt


(http://semat.org/)

IIIT-B / Sasken / EAIT 2014 - India

73

SEMAT Activities
Regional Chapters
China Software Industry Association (CSIA)
adopted SEMAT as a pivotal component of its Q
Plan.
Korea Chapter received government grants for
R&D on Essence ($0.9M).
Russia Chapter is working on an extension of
the Essence kernel for Systems Engineering
Latin America and South Africa held Essence
workshops.

IIIT-B / Sasken / EAIT 2014 - India

74

SEMAT Tomorrow
Broaden
Other areas than software engineering will be addressed: for instance, system engineering,
business engineeringmaybe anything that has to do with human endeavors.

Deepen
Other possible ways of getting to a General Theory of Software Engineering will be pursued. We
dont want to restrict research in any way, and for that matter doesnt want to restrict any
constructive work in our sphere of interest.

Reach Out

Practice library and marketplace.


Curricula, texts and reference materials for teaching software engineering including high schools.
Certification of Essence training institutions and trainers and Essence-enabling tools
Metrics for measuring users success with Essence
Regional chapters in U.S.A., Europe and other regions
Help 20M software practitioners worldwide take advantage of the output of SEMAT

IIIT-B / Sasken / EAIT 2014 - India

75

SEMAT Tomorrow
Watts Humphrey may have shown real forethought
ahead of the first SEMAT meeting in Zurich, March
2010, when he said:
This meeting in Zurich is likely to be a historic
occasion much like the 1968 NATO session in
Garmish.
SEMAT results are a collective effort from the
community for the community.
Working together, we are refounding software
engineering.

IIIT-B / Sasken / EAIT 2014 - India

You might also like