A Comparison of the Essence 1.0 and SPEM 2.0 Specifications for

advertisement
A Comparison of the Essence 1.0
and SPEM 2.0 Specifications for
Software Engineering Methods
Brian Elvesæter1, Gorka Benguria2 and
Sylvia Ilieva3
1
SINTEF ICT, P. O. Box 124 Blindern, N-0314 Oslo, Norway
brian.elvesater@sintef.no
2 TECNALIA R&I, Ed 202, Zamudio 48170, Spain
gorka.benguria@tecnalia.com
3 IICT-BAS, acad., G. Bonchev str., bl. 25A, Sofia 1113, Bulgaria
sylvia@acad.bg
ICT
Outline
 Background and Motivation
 The Agile REMICS Methodology
 Evaluation of Essence
 Comparison
 Main language concepts
 Different Kernel starting points
 Illustrative Example (Authoring capabilities)
 Enactment capabilities
 Mapping of SPEM and Essence Concepts
 Conclusions and Future Work
ICT
2
Background and Motivation
 The REMICS Methodology
 Evaluation of Essence
 Tool-supported agile methodology
 "Essence – Kernel and Language
for model-driven modernization
of legacy applications to service
clouds.
 Initial release followed a traditional
approach developed using the
Eclipse Process Framework (EPF).
 The focus during the last phase of
the project has been on introducing
agile practices and techniques.
 REMICS participated in the OMG
FACESEM [8] standardization
process in OMG.
for Software Engineering Methods"
[7] specification endorsed March
2013.
 Essence promises better support
for definition of agile practices and
method enactment compared to
SPEM.
 EssWork Practice Workbench
tooling has been made available.
 Currently evaluating the Essence
approach for selected parts of the
REMICS Methodology.
[7] OMG, "Essence - Kernel and Language for Software Engineering Methods", OMG Document ad/2013-02-01,
18 February 2013. http://semat.org/wp-content/uploads/2013/02/Essence_final_submission_18Feb13.pdf
[8] OMG, "A Foundation for the Agile Creation and Enactment of Software Engineering Methods RFP", OMG Document ad/2011-06-26,
23 June 2011. http://www.omg.org/members/cgi-bin/doc?ad/11-06-26.pdf
ICT
3
Extending the REMICS Methodology
with Agile Practices
 First release (traditional)
 Second release (agile)
 Modernization Practices
 Agile Practices and Techniques
 Requirements
 Scrum
 Recover
 Modelling by Two
 Migrate
 Pair Modelling
 Validate
 Continuous Modelling
 Control and Supervise
 Collective Model Ownership
 Withdrawal
 Pair Programming
 Interoperability
 Continuous Integration
 Collective Code Ownership
ICT
4
Main language concepts
 SPEM 2.0
Kernel: Stripped-down,
light-weight model of
the essential aspects of
software engineering
 Essence 1.0 (draft)
Practice:
Description
of how to
handle a
specific
aspect of a
software
engineering
endeavour
ICT
5
Different Kernel starting points
 SPEM 2.0
SPEM does not
specify a standard
kernel. But proprietary
kernels exist,e.g.
OpenUP that comes
with the EPF Library
 Essence 1.0 (draft)
Alphas:
Things to
work with
Standard categories,
e.g., Disciplines
Activity
Spaces:
Things to do
Roles, e.g, basic
roles, business roles,
etc.
Competencies
ICT
6
Illustrative Example:
Scrum in EPFC
Structure of the Scrum
practice in the EPF
Composer (EPFC)
 Agile REMICS Methodology
 Scrum
Practice
[9] Tasks and Work Products
Definition
of Scrum
Roles,
 Scrum of Scrums
Definition of the
Sprint
Scrum
Capability
Practice
Pattern
Guidance element
 Scrum team (roles)
Product Owner
 Development Team (of developers)
 Scrum Master

 Scrum artifacts
Product Backlog
 Sprint Backlog
 Increment

 Scrum events





The Sprint
Sprint Planning Meeting
Daily Scrum
Sprint Review
Sprint Retrospective
[9] K. Schwaber and J. Sutherland, "The Scrum Guide", Scrum.org, October 2011.
http://www.scrum.org/storage/scrumguides/Scrum_Guide.pdf
ICT
7
Illustrative Example:
Scrum in EWPW
 Identify relevant Kernel Alphas
Structure of the Scrum
practice in the
EssWork Practice
Workbench (EWPW)
new
and
bind
Work
Products
Definition
Defining
ofDefine
Work
Alphas,
Activities,
Patterns,
Product,
e.g.
e.g.
e.g.
Sprint
e.g.
Product
Sprint
Product
(sub-Alpha
Planning
Owner
Backlog
Meeting
of Work)

Add new sub-Alphas
 Identify relevant Kernel Activity Spaces

Define and bind Activities
ICT
8
Enactment capabilities
 SPEM 2.0
 Two common ways [4]:


"Mapping the processes into
Project Plans and enacting
these with project planning and
enactment systems such as
IBM Rational Portfolio
Manager or Microsoft Project
(Section 16.1).
Mapping the process to a
business flow or execution
language and then executing
this representation of the
processes using a workflow
flow engine such as a BPELbased workflow engine
(Section 16.2)."
 Essence 1.0 (draft)
 Language features



Alpha States
Activities with Completion
Criteria
Checkpoints
 Task Management Kernel
extension



Task sub-alpha (of Work)
Team Member sub-alpha (of
Team)
Practice Adoption sub-alpha
(of Way of Working)
[4] OMG, "Software & Systems Process Engineering Meta-Model Specification, Version 2.0", Document formal/2008-04-01, April 2008.
http://www.omg.org/spec/SPEM/2.0/PDF/ (Section 16, Page 147]
ICT
9
Alpha States with Checkpoints
ICT
10
Activity and
Completion Criterion
An Activity should define at least one
Completion Criterion
1. To define the objective of the activity, in
terms of the "progress" of the endeavour
2. To generate advice on what to do next
An Activity provides
guidance on how
1. To progress the state of
an Alpha
2. To create or update a
Work Product
[7] OMG, "Essence - Kernel and Language for Software Engineering Methods", OMG Document ad/2013-02-01, 18 February 2013.
http://semat.org/wp-content/uploads/2013/02/Essence_final_submission_18Feb13.pdf (Figure 26, Page 102)
ICT
11
Alpha State as Completion Criterion
The Sprint Planning Meeting
activity provides guidance on
how to achieve the Planned
state of the Sprint.
ICT
12
Task Management Kernel Extension
 Task (sub-alpha of Work)

Task is a unit of Work
Activity is only guidance
 During enactment a Task instance
"Sprint Planning Meeting for Project XY"
is created
 This Task references the Activity "Sprint
Planning Meeting" that provides
guidance on how to perform the Task
 The Task results in the state update
"Planned" on the Sprint alpha instance

 Team Member (sub-alpha of Team)
During enactment an instance of the
Team alpha is created representing the
Scrum Team
 Each member is represented by an
instance of the Team Member sub-alpha
 One Team Member is assigned the Role
(pattern) Product Master
 Another Team Member is assigned the
Role (pattern) Product Owner

ICT
13
Mapping of SPEM and Essence
concepts
SPEM
Task
Essence
Activity
Comment
Work Product
Work Product
Similar in concepts, but a Work Product in Essence additionally defines levels of details
(not discussed in the illustrative example) to specify different ranges of details required.
Role
n/a
Category
Tag
Guidance
all elements
Practice
Practice
…
Resource or
Pattern
Activity
Activity Space
Capability Pattern
and Activity
Delivery Process
n/a
Alpha
Similar in concepts, but an Activity in Essence additionally defines completion criteria.
Role allows to author responsibilities of work products and performers of tasks in SPEM.
Essence does not specify the concept of a role and advices to use the Pattern concept to
define roles. The rationale is that definitions of roles may differ from method to method.
Categories (both default and custom) are used to structure the elements of SPEM
content, e.g. to support navigability in the published guidance. Essence provides the
concept of a Tag (not discussed in the illustrative example) that allows adding user
defined or tool specific information.
The Essence language does not differentiate between a specific guidance concept and
other concepts such as Activity (which basically contains guidance for performing the
work).
SPEM defines Practice as a specific type of Guidance that can reference any element
defined in SPEM. Essence on the other hand introduces Practice as a specific concept in
the language which allows more operational semantics to support composition etc. to be
formalized and better supported by tooling.
If additional guidance types are needed the advice is to use Patterns or Resources.
The Activity, Capability Pattern and Delivery Process concepts in SPEM allows to define
work breakdown structures and reusable process content. The Essence language allows
activity associations between abstract activities (which are either Activity Spaces or
Activities) to represent a relationship or dependency between activities.
The Alpha concept does not have an equivalent in the SPEM 2.0 specification, and is
essential to the underlying method architecture of the Essence language to monitor, track
and drive method enactment based on alpha states and completion criteria.
ICT
14
Conclusions and Future Work
 Similarities in the authoring
capabilities
 Main difference related to Role
 Responsibility assignment
 Representing competency
 Future work
 Finalize migration of selected
practices (mid-summer)
 Feedback to Finalization Task
Force (FTF)

 Differences in enactment
 Alpha States and Checkpoints
 Activities with Completion
Criteria
 Task Management Kernel
Extension
Clarification of Role Pattern
and Competency (Essence)
wrt. Role (SPEM)
 Practice authoring guidelines
 Relating sub-Alphas to parent
Alphas
 Defining good sub-Alpha
states
 Defining good completion
criteria for Activities
 Link with enactment tools
(project management tools)
ICT
15
Thanks for your attention!
 Questions?
 Email:
 brian.elvesater@sintef.no
 REMICS project website:
 http://www.remics.eu/
 REMICS Methodology Wiki
 http://epf.remics.eu/wikis/remic
s/index.htm
 REMICS Methodology source
 https://github.com/SINTEF-
9012/remics-library

The EssWork Practice Workbench
source will also be made available
on GitHub (during the summer)
ICT
16
Download