16
ICT A Comparison of the Essence 1.0 and SPEM 2.0 Specifications for Software Engineering Methods Brian Elvesæter 1 , Gorka Benguria 2 and Sylvia Ilieva 3 1 SINTEF ICT, P. O. Box 124 Blindern, N-0314 Oslo, Norway [email protected] 2 TECNALIA R&I, Ed 202, Zamudio 48170, Spain [email protected] 3 IICT-BAS, acad., G. Bonchev str., bl. 25A, Sofia 1113, Bulgaria [email protected]

A Comparison of the Essence 1.0 and SPEM 2.0 ...€¦ · and SPEM 2.0 Specifications for Software Engineering Methods Brian Elvesæter1, Gorka Benguria2 and Sylvia Ilieva3 1 SINTEF

Embed Size (px)

Citation preview

Page 1: A Comparison of the Essence 1.0 and SPEM 2.0 ...€¦ · and SPEM 2.0 Specifications for Software Engineering Methods Brian Elvesæter1, Gorka Benguria2 and Sylvia Ilieva3 1 SINTEF

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]

Page 2: A Comparison of the Essence 1.0 and SPEM 2.0 ...€¦ · and SPEM 2.0 Specifications for Software Engineering Methods Brian Elvesæter1, Gorka Benguria2 and Sylvia Ilieva3 1 SINTEF

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

Page 3: A Comparison of the Essence 1.0 and SPEM 2.0 ...€¦ · and SPEM 2.0 Specifications for Software Engineering Methods Brian Elvesæter1, Gorka Benguria2 and Sylvia Ilieva3 1 SINTEF

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

Page 4: A Comparison of the Essence 1.0 and SPEM 2.0 ...€¦ · and SPEM 2.0 Specifications for Software Engineering Methods Brian Elvesæter1, Gorka Benguria2 and Sylvia Ilieva3 1 SINTEF

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

Page 5: A Comparison of the Essence 1.0 and SPEM 2.0 ...€¦ · and SPEM 2.0 Specifications for Software Engineering Methods Brian Elvesæter1, Gorka Benguria2 and Sylvia Ilieva3 1 SINTEF

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

Page 6: A Comparison of the Essence 1.0 and SPEM 2.0 ...€¦ · and SPEM 2.0 Specifications for Software Engineering Methods Brian Elvesæter1, Gorka Benguria2 and Sylvia Ilieva3 1 SINTEF

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.

Page 7: A Comparison of the Essence 1.0 and SPEM 2.0 ...€¦ · and SPEM 2.0 Specifications for Software Engineering Methods Brian Elvesæter1, Gorka Benguria2 and Sylvia Ilieva3 1 SINTEF

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

Page 8: A Comparison of the Essence 1.0 and SPEM 2.0 ...€¦ · and SPEM 2.0 Specifications for Software Engineering Methods Brian Elvesæter1, Gorka Benguria2 and Sylvia Ilieva3 1 SINTEF

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

Page 9: A Comparison of the Essence 1.0 and SPEM 2.0 ...€¦ · and SPEM 2.0 Specifications for Software Engineering Methods Brian Elvesæter1, Gorka Benguria2 and Sylvia Ilieva3 1 SINTEF

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]

Page 10: A Comparison of the Essence 1.0 and SPEM 2.0 ...€¦ · and SPEM 2.0 Specifications for Software Engineering Methods Brian Elvesæter1, Gorka Benguria2 and Sylvia Ilieva3 1 SINTEF

ICT

Alpha States with Checkpoints

10

Page 11: A Comparison of the Essence 1.0 and SPEM 2.0 ...€¦ · and SPEM 2.0 Specifications for Software Engineering Methods Brian Elvesæter1, Gorka Benguria2 and Sylvia Ilieva3 1 SINTEF

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)

Page 12: A Comparison of the Essence 1.0 and SPEM 2.0 ...€¦ · and SPEM 2.0 Specifications for Software Engineering Methods Brian Elvesæter1, Gorka Benguria2 and Sylvia Ilieva3 1 SINTEF

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.

Page 13: A Comparison of the Essence 1.0 and SPEM 2.0 ...€¦ · and SPEM 2.0 Specifications for Software Engineering Methods Brian Elvesæter1, Gorka Benguria2 and Sylvia Ilieva3 1 SINTEF

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

Page 14: A Comparison of the Essence 1.0 and SPEM 2.0 ...€¦ · and SPEM 2.0 Specifications for Software Engineering Methods Brian Elvesæter1, Gorka Benguria2 and Sylvia Ilieva3 1 SINTEF

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.

Page 15: A Comparison of the Essence 1.0 and SPEM 2.0 ...€¦ · and SPEM 2.0 Specifications for Software Engineering Methods Brian Elvesæter1, Gorka Benguria2 and Sylvia Ilieva3 1 SINTEF

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

Page 16: A Comparison of the Essence 1.0 and SPEM 2.0 ...€¦ · and SPEM 2.0 Specifications for Software Engineering Methods Brian Elvesæter1, Gorka Benguria2 and Sylvia Ilieva3 1 SINTEF

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