Upload
nguyenthuan
View
221
Download
0
Embed Size (px)
Citation preview
ICT
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, [email protected]
2 TECNALIA R&I, Ed 202, Zamudio 48170, [email protected]
3 IICT-BAS, acad., G. Bonchev str., bl. 25A, Sofia 1113, [email protected]
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
2
ICT
Background and Motivation
The REMICS Methodology Tool-supported agile methodology
for model-driven modernizationof 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.
Evaluation of Essence "Essence – Kernel and Language
for Software Engineering Methods" [7] specification endorsed March 2013.
Essence promises better supportfor definition of agile practices and method enactment compared to SPEM.
EssWork Practice Workbenchtooling has been made available.
Currently evaluating the Essence approach for selected parts of the REMICS Methodology.
3
[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
Extending the REMICS Methodology with Agile Practices First release (traditional)
Modernization Practices Requirements Recover Migrate Validate Control and Supervise Withdrawal Interoperability
Second release (agile)
Agile Practices and Techniques Scrum Modelling by Two Pair Modelling Continuous Modelling Collective Model Ownership Pair Programming Continuous Integration Collective Code Ownership
4
ICT
Main language concepts
SPEM 2.0 Essence 1.0 (draft)
5
Kernel: Stripped-down, light-weight model of the essential aspects of software engineering
Practice:Description of how to handle a specific aspect of a software engineering endeavour
ICT
Different Kernel starting points
SPEM 2.0 Essence 1.0 (draft)
6
Alphas:Things to work with
Activity Spaces:Things to do
Competencies
Standard categories, e.g., Disciplines
SPEM does not specify a standard kernel. But proprietary kernels exist,e.g. OpenUP that comes with the EPF Library
Roles, e.g, basic roles, business roles, etc.
Roles, e.g, basic roles, business roles, etc.
ICT
Illustrative Example:Scrum in EPFC Agile REMICS Methodology
Scrum Practice [9] Scrum of Scrums
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
7
[9] K. Schwaber and J. Sutherland, "The Scrum Guide", Scrum.org, October 2011. http://www.scrum.org/storage/scrumguides/Scrum_Guide.pdf
Structure of the Scrum practice in the EPF Composer (EPFC)
Definition of Scrum Roles, Tasks and Work Products
Definition of the Scrum Practice Guidance elementDefinition of Sprint Capability Pattern
ICT
Illustrative Example:Scrum in EWPW Identify relevant Kernel Alphas
Define and bind Work Products Add new sub-Alphas
Identify relevant Kernel Activity Spaces Define and bind Activities
8
Structure of the Scrum practice in the EssWork Practice Workbench (EWPW)
Definition of Work Product, e.g. Product BacklogDefining new Alphas, e.g. Sprint (sub-Alpha of Work)Defining new Activities, e.g. Sprint Planning MeetingDefining new Patterns, e.g. Product Owner
ICT
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 BPEL-based 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)
9
[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
Alpha States with Checkpoints
10
ICT
Activity and Completion Criterion
11
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
Alpha State as Completion Criterion
12
The Sprint Planning Meeting activity provides guidance on how to achieve the Planned state of the Sprint.
The Sprint Planning Meeting activity provides guidance on how to achieve the Planned state of the Sprint.
The Sprint Planning Meeting activity provides guidance on how to achieve the Planned state of the Sprint.
ICT
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
13
ICT
Mapping of SPEM and Essence concepts
14
SPEM Essence CommentTask Activity Similar in concepts, but an Activity in Essence additionally defines completion criteria.
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/aRole 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.
Category TagCategories (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.
Guidance all elementsThe Essence language does not differentiate between a specific guidance concept and other concepts such as Activity (which basically contains guidance for performing the work).
Practice PracticeSPEM 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.
… Resource or Pattern
If additional guidance types are needed the advice is to use Patterns or Resources.
Activity Activity Space and Activity
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.
Capability PatternDelivery Process
n/a AlphaThe 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
Conclusions and Future Work
Similarities in the authoring capabilities Main difference related to Role
Responsibility assignment Representing competency
Differences in enactment Alpha States and Checkpoints Activities with Completion
Criteria Task Management Kernel
Extension
Future work Finalize migration of selected
practices (mid-summer) Feedback to Finalization Task
Force (FTF) 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)
15
ICT
Thanks for your attention!
Questions? Email: [email protected]
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)
16