Professional Documents
Culture Documents
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.
2.
Method Description
Example 2
Case Study 2, 3, 4
3.
4.
V.
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
Waterfall
Process
(Method)
Unified
Agile
Object-Oriented
Practice
Component
-Based
Structured
XP
ServiceOriented
Information Engineering
1950
1960
1970
1980
1990
2000
2010
Process
(Method)
SDM
1970
1980
1990
AUP
RUP
Information
Engineering for
Structured ADP for Client/Server Apps
Mainframe Apps
1960
SDM2
Practice
1950
Iterative Process
2000
ServiceOriented Dev
for CloudEnabled Apps
2010
Architecting
Development
Operation
BPM
Business
Model
Application
Strategy
Planning
UX
Business Analysis
UI
Logic
MDD SOA
XP
MDM
App Platform / PaaS
Virtualization / IaaS
Data
Technical
Infrastructure
Management of
IT Service
SaaS
Project Mgmt
IT Service Mgmt
OMG, Software & System Process Engineering Metamodel Specification (SPEM) Version 2.0, April 2008.
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
11
<fulfills
Software
System
<produces
Work
Stakeholders
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)
Work
Way of Working
Opportunity
Requirements
Team
Stakeholders
Software
System
13
Alpha
Alpha (as an acronym
of
Abstract-Level
Progress
Health
Attribute) represents
dimensions of the
state of a software
engineering project.
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
15
Alpha
Sub-Alpha
Alpha
Extended Alpha
16
Alpha
Work Product
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
18
Activity Space
Activity
19
Alpha State
produces
/ updates>
<has
Alpha
targets>
Activity
Activity Space
Competency
June Sung Park, Essence-Based, Goal-Driven Adaptive Software Engineering, KAIST, 2014.
20
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
21
Endeavor
Solution
Customer
Competency
Stakeholder Representation
Analysis
Development
Leadership
Testing
Management
22
Competency
Essence kernel suggests
five levels of competency:
Level 1 Assists
Level 2 Applies
Level 3 Masters
Level 4 Adapts
Level 5 Innovates
23
produces
/ updates>
<has
Alpha State
Activity
Is qualified
to perform>
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
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
27
Methods
Custom Method A
Custom Method B
are composed of
Practices
are defined
in terms of
Essence Kernel
OMG
Standard
Essence Language
IIIT-B / Sasken / EAIT 2014 - India
28
Essence Kernel
Alpha
Practice
Work Product
Alpha State
Activity Space
Activity
Competency
Role
29
Scrum Practice
Development Team
Task
Breakdown
Product Increment
Jeff Sutherland and Ken Schwaber, The Scrum Guide, 2013. (http://www.scrumguides.org/)
30
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
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)
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.
Add XP
Add
Dev
Ops
Add
SPM
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
34
Process Enactment
35
36
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
37
Help
the
least
experienced developers
before experts.
Alpha
Help
practitioners
before
process
engineers.
<has
<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.
Alpha Selection
Stakeholder alpha state cards
are looked at.
39
Example 1
Current State Identification
The stakeholders have already
been recognized.
They
are Administrators,
Faculty, and Students.
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.
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.
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.
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.
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
Decide How to
Reach Goals
(Activity)
Opportunity
6
5
4
3
2
1
0
Work
Monitor Progress
(Alpha State
Checklists)
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
produces
/ updates>
<has
Alpha State
Activity
Is qualified
to perform>
Alpha
organizes>
targets>
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
SOA
Service Identification
Service Specification
Service Realization
Service Governance
47
Example 2
BPM
Modeling
Opportunity
Stakeholder
Requirements
Software
System
Work
Team
Cross-Functional Team
with Process Actors and Process Engineers
Way of
Working
48
Example 2
BPM
Modeling
Explore Possibilities
Understand
Stakeholder Needs
Understand the
Requirements
Coordinate Activities
Track Progress
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
Shape the
System
Requirements
Business
Requirements
and KPIs
Conceived
Bounded
Coherent
Acceptable
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.
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.
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.
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
Opportunity
Requirement
Biz Goal
Work
Analytic
Way of
Working
Theory
Explore
Possibilities
Understand
Stakeholder Needs
Understand the
Requirements
Biz
Coordinate Activity
Track Progress
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.
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).
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.
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.
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.
Modeling
& Dev
Tool
63
Project
Mgmt
Tool
Project
Dashboard
Essence-Based
Method
Enactment Tool
64
V. SEMAT
Yesterday, Today & Tomorrow
65
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
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
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/).
69
SEMAT Organization
4 work areas
100+ participants
2000 supporters
7 regional chapters
(+Malaysia under dev)
75 signatories
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
72
SEMAT Activities
Community Area
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.
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
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.