Essence Tutorial (JP)

Embed Size (px)

Citation preview

  • 8/10/2019 Essence Tutorial (JP)

    1/75

  • 8/10/2019 Essence Tutorial (JP)

    2/75

    Table of ContentI. Software Engineering Methods Today

    II. Introduction to EssenceIII. Method Description and Enactment IV. Essence Use Cases and Case Studies

    1. Method-Agnostic Project SteeringExample 1Case Study 1

    2. Method DescriptionExample 2Case Study 2, 3,4

    3. Practice Library and OrchestrationExample 3

    4. Project Support Environment

    V. SEMAT Yesterday, Today & Tomorrow

    IIIT-B / Sask

    The views or opinions expressed in this talk are solely the authors ownand do not necessarily represent the views or opinions of SEMAT Inc.

  • 8/10/2019 Essence Tutorial (JP)

    3/75

    I. Software Engineering Methods

    Today

    IIIT-B / Sask

  • 8/10/2019 Essence Tutorial (JP)

    4/75

    Evolution of Software Engineering Methods

    IIIT-B / Sask20001980197019601950 1990

    Waterfall

    Structured

    Object-Oriented

    Information Engineering

    Component-Based

    Process(Method)

    Practice

    SpiralProcess

  • 8/10/2019 Essence Tutorial (JP)

    5/75

    Evolution of SE Methods: Capgemini

    IIIT-B / Sask20001980197019601950 1990

    Process(Method)

    Practice

    SDM SDM2

    Structured ADP forMainframe Apps

    InformationEngineering for

    Client/Server Apps

    Component-Based Dev for

    Web Apps

    Waterfall Process Iterative Proces

    Windahl Finnigan, The Life Cycle of the

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

    http://www.youtube.com/watch?v=X19IVn4qkC8http://www.youtube.com/watch?v=X19IVn4qkC8http://www.youtube.com/watch?v=X19IVn4qkC8http://www.youtube.com/watch?v=X19IVn4qkC8http://www.youtube.com/watch?v=X19IVn4qkC8
  • 8/10/2019 Essence Tutorial (JP)

    6/75

    Software Engineering Practices

    IIIT-B / Sask

    ServiceIS

    StrategyPlanning Architecting Development Ope

    BusinessModel

    ApplicationUI

    Logic

    Data

    TechnicalInfrastructure

    Management ofIT Service

    BPM

    Business AnalysisX

    Analytics /Big Data MDDXP

    EA

    Web 2.0 / Mobility

    SOA

    MDM

    SaaS

    App Platform /Virtualization /

    Project Mgmt IT Serv

  • 8/10/2019 Essence Tutorial (JP)

    7/75

    Software Engineering Method Enactment

    IIIT-B / SaskOMG, Software & System Process Engineering Metamodel Specification (SPEM) Version 2.0, April 2008.

  • 8/10/2019 Essence Tutorial (JP)

    8/75

    II. Introduction to Essence

    IIIT-B / Sask

  • 8/10/2019 Essence Tutorial (JP)

    9/75

    What is Essence?

    Prior to Essence, natural languages or SPEM 2.0, adomain-specific language, have been used todescribe software engineering methods.

    Essence provides standard kernel and language toprescribe 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 softwareengineering project.

    IIIT-B / Sask

    Object Management Group, Essence-Kernel And Language For Software EngineeringMethods 1.0-Beta 2, 2014. ( http://www.omg.org/spec/Essence/1.0 / )

    http://www.omg.org/spec/Essence/1.0/http://www.omg.org/spec/Essence/1.0/http://www.omg.org/spec/Essence/1.0/
  • 8/10/2019 Essence Tutorial (JP)

    10/75

    Essence Kernel

    Alpha

    Activity Space

    Competency

    IIIT-B / Sask

  • 8/10/2019 Essence Tutorial (JP)

    11/75

  • 8/10/2019 Essence Tutorial (JP)

    12/75

    Alpha

    Alpha representsthings to deal within any softwareengineering project.

    Essence takes thesystems approachto softwareengineering.

    IIIT-B / Sask

    Work Way of Working

    Team

    Opportunity

    Requirements

    Software

    System

    Software Systems used in a Business System

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

    Osterwalder, A. et al. Business ModelGeneration, 2010.(http://www.businessmodelgeneration.com / )

    http://www.businessmodelgeneration.com/http://www.businessmodelgeneration.com/http://www.businessmodelgeneration.com/
  • 8/10/2019 Essence Tutorial (JP)

    13/75

    Alpha

    Alpha (as an acronymof Abstract -LevelProgress HealthAttribute) representsdimensions of thestate of a softwareengineering project.

    Essence prescribes a

    state machine forsoftware engineering.

    IIIT-B / Sask

    Project State with Direction and Goals for a Software Sy

    Cecile Peraireand Todd Sedano, "State-Based Monitoring and Goal-Driven Project Steering: FSEMAT Essence Framework", International Conference on Software Engineering , Hyder

  • 8/10/2019 Essence Tutorial (JP)

    14/75

    Alpha State and Checklist

    IIIT-B / Sask

    Ivar JacobsonMcMahon, IaLidman, TheEngineering: Kernel , Addis

  • 8/10/2019 Essence Tutorial (JP)

    15/75

    Alpha Decomposition and Extension

    IIIT-B / Sask

    An alpha may have lower-level, moregranule sub-alphas whose statescontribute to and drive the state of the super-alpha.

    Association between super-alphasand sub-alphas can be many-to-many.

    Extension allows local changes to bemade to the values of the attributesof an element (e.g. alpha) in thecontext of an element group (e.g.practice).

    Alpha

    Alpha E

  • 8/10/2019 Essence Tutorial (JP)

    16/75

  • 8/10/2019 Essence Tutorial (JP)

    17/75

    Activity Space

    IIIT-B / Sask

    C u s t o m e r

    S o

    l u t i o n

    E n d e a v o r

    ExplorePossibilities

    UnderstandStakeholder

    Needs

    EnsureStakeholderSatisfaction

    Use theSystem

    Understandthe

    Requirements

    Shape theSystem

    Implementthe System

    Test theSystem

    Deploy theSystem

    Operatethe System

    Prepare todo the Work

    Coordinatethe Activity

    SupportTeam

    TrackProgress

    Stop theWork

  • 8/10/2019 Essence Tutorial (JP)

    18/75

    Activity Space and Activity

    Activity spaces arecontainers of activitiesperformed in a project method.

    An activity may be a part of another activity forming awork breakdown structure.

    The association betweenactivity spaces andactivities can be many-to-many.

    IIIT-B / Sask

    Activity Space

  • 8/10/2019 Essence Tutorial (JP)

    19/75

    Activity Space and Alpha State

    Activities may change the alphastates of the software engineeringproject.

    Activities can be assigned target alpha states or checkpoints (i.e.criteria of done).

    Pre and post conditions of eachactivity space are suggested interms of alpha states in the kernel.

    Essence enables a semi-Markoviandecision process for softwareengineering.

    A Target-State to Activity MappingAlgorithm can be used to determinethe next action.

    IIIT-B / Sask

    Activity Space

    Competency

    t a r g e

    t s >

    Alpha

    Alpha State

    < h a s

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

  • 8/10/2019 Essence Tutorial (JP)

    20/75

    Activity Space and Alpha State

    IIIT-B / Sask

    Alpha States

    Activity Spaces

    Opportunity Stakeholde

    Id

    e

    S

    uo

    N V

    u

    E

    absh

    Vabe

    e

    e

    B

    t

    u

    R

    o

    z

    R

    ee

    e

    Inov

    In

    eme

    Explore Possibilities

    Understand Stakeholder Needs

    Ensure Stakeholder Satisfaction

    Use the System

  • 8/10/2019 Essence Tutorial (JP)

    21/75

    Competency

    IIIT-B / Sask

    C u s t o m e r

    S o

    l u t i o n

    E n d e a v o r

    Stakeholder Representation

    Analysis Development Testing

    Leadership Management

  • 8/10/2019 Essence Tutorial (JP)

    22/75

    Competency

    IIIT-B / Sask

    Essence kernel suggestsfive 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.

  • 8/10/2019 Essence Tutorial (JP)

    23/75

    Competency and Role

    IIIT-B / Sask

    profiles>

    organizes>

    Alpha

    Alpha State

    Activity Space

    Competency

    < h a s

    t a r g e

    t s >

    Patterns can arrangelanguage elements intoarbitrary meaningfulstructures.

    A role may be defined byreferencing requiredcompetencies, havingresponsibility of work

    products, and participationin activities.

  • 8/10/2019 Essence Tutorial (JP)

    24/75

    Software Talent Management

    IIIT-B / Sask

    B. Curtis, S. A. Miller and W. E. Hefley, The People CMM: AFramework for Human Capital Management, Addison-Wesley, 2009.

  • 8/10/2019 Essence Tutorial (JP)

    25/75

    Kernel Extension

    IIIT-B / Sask

    Patterns can arrangelanguage elements intoarbitrary meaningfulstructures.

    Resources can be attachedto any language element.

    Tags add user definedinformation to anylanguage element.

    User-Defined Types detail,explain, and constrain theproper usage of particularpatterns, resources, or tags.

  • 8/10/2019 Essence Tutorial (JP)

    26/75

    III. Method Description and Enactment

    IIIT-B / Sask

  • 8/10/2019 Essence Tutorial (JP)

    27/75

  • 8/10/2019 Essence Tutorial (JP)

    28/75

    Practice Description in Essence

    IIIT-B / Sask

    A practice is described inEssence by mapping its work products, activities and roles toEssence alphas and activityspaces and competencies,respectively.

    Pr

    Wor

    A

    Essence Kernel

    Alpha

    Alpha State

    Activity Space

    Competency

  • 8/10/2019 Essence Tutorial (JP)

    29/75

    Scrum Practice

    IIIT-B / Sask

    Development Team

    Taskreakdown

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

    http://www.scrumguides.org/http://www.scrumguides.org/
  • 8/10/2019 Essence Tutorial (JP)

    30/75

    Scrum Practice in Essence

    IIIT-B / Sask

    ScrumPractice

    Ensure StakeholderSatisfaction

    Understand theRequirements

    Coordinate theActivity

    Support Team

    Track Progress

    ProductBacklog

    SprintBacklog

    Definition ofDone

    Scrum Team

    Release Plan Sprint Goal

    ProductIncrement

    Sprint Plan

    Total WorkRemaining

    ImprovementPlan

    Requirements

    Software System

    Work

    Team

    Way of Working

    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.

  • 8/10/2019 Essence Tutorial (JP)

    31/75

    Method Composition

    IIIT-B / Sask

    Requirements Product Backlog SprintBacklog

    Software System Definition ofDone

    Work

    Team Scrum Team

    Release Plan Sprint Goal

    ProductIncrement

    Sprint Plan

    Total WorkRemaining

    Ensure StakeholderSatisfaction

    Understand theRequirements

    Coordinate theActivity

    Support Team

    Track Progress

    ProducRefi

    Sprint

    Sprint P

    Daily

    Sprint Retr

    Way of Working ImprovementPlan

    ScrumPractice

    Explore Possibilities

    nderstand StakeholderNeeds

    Shape the System

    Software RequirementModel

    Software Architecture

    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)

    Stakeholder

    BusinessRequirements

    AgileModeling

    Opportunity

    Ambler, S. and M.Lines, DisciplinedAgile Delivery: APractitioners Guide

    to Agile SoftwareDelivery in theEnterprise, IBMPress, 2012.

  • 8/10/2019 Essence Tutorial (JP)

    32/75

    Method Composition

    IIIT-B / Sask

    Kernel elements additionally covered by Agile ModelingKernel elements covered by Scrum

    Add X

    AddSPM

    L. Williams, G. Brown, A. Meltz+ Engineering Practices: ExperTeams, International SymposiuEngineering and Measurement

  • 8/10/2019 Essence Tutorial (JP)

    33/75

    Process Enactment

    IIIT-B / Sask

    PracticeEssence Kernel

    Alpha

    Alpha State

    Activity Space

    Competency

    Work Product

    Activity

    Role

    The practice activities

    included in the project method are mapped tothe activities toconstitute the project workflow.

    Workflow activitiescan be orchestratedusing a BPM engine.

    A project method canbe re-composedadaptively to addresscritical issues that mayoccur during theproject.

    Proje

    Gatewa

  • 8/10/2019 Essence Tutorial (JP)

    34/75

    Process Enactment

    IIIT-B / Sask

    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 DeEssence- Based Method Enactment Tool, SEMAT KNovember 13, 2014 (In Korean).

    http://semat.org/?page_id=193http://semat.org/?page_id=193http://semat.org/?page_id=193
  • 8/10/2019 Essence Tutorial (JP)

    35/75

  • 8/10/2019 Essence Tutorial (JP)

    36/75

    Essence Maturity Model

    IIIT-B / Sask

    1. Method-AgnosticProject StateMonitoring andActivity Planning

    2. PracticeDescription in

    Essence andMethodComposition

    3. Essence-BasedPractice Libraryand ProcessOrchestration

    4. Essence-PoProject SupEnvironme

  • 8/10/2019 Essence Tutorial (JP)

    37/75

    1. Method-Agnostic Project Steering

    IIIT-B / Sask

    Given the pain points of the

    project underway, identifythe alphas that are related. Assess the current states of

    those alphas. Set the target states of the

    alphas to relieve the painpoints.

    Determine activities toperform to move the project state to the target alphastates.

    Alpha

    Alpha State

    < h a s

  • 8/10/2019 Essence Tutorial (JP)

    38/75

    Example 1

    IIIT-B / Sask

    Project Synopsis A team with 5 developers is

    working on the 2 nd release of a Web-based LeaningManagement System for auniversity.

    Current Pain Point Faculty members are resisting

    migration to the new systemand giving no or negativefeedback.

    Alpha Selection Stakeholder alpha state cards

    are looked at.

  • 8/10/2019 Essence Tutorial (JP)

    39/75

    Example 1

    IIIT-B / Sask

    Current State Identification

    The stakeholders have alreadybeen recognized . They are Administrators ,

    Faculty , and Students. Target State Selection

    However, no facultyrepresentatives have beenappointed.

    Assumption that facultymembers would providefeedback spontaneously waswrong.

    The team agrees that represented becomes thetarget state for thestakeholder alpha.

  • 8/10/2019 Essence Tutorial (JP)

    40/75

    Example 1

    IIIT-B / Sask

    Next Action Selection

    Activity 1: Appoint stakeholder representativesfor the faculty group,including supportive andunsupportive facultymembers.

    Activity 2: Agree on ormodify the existing definitionof responsibilities andcollaboration approaches withthe faculty representatives.Because of the iterative natureof the endeavor, thestakeholders need to agree onproviding feedback on aregular basis.

  • 8/10/2019 Essence Tutorial (JP)

    41/75

    Example 1

    IIIT-B / Sask

    Current State Identification

    Four faculty representativeshave been appointed: twosupportive and twounsupportive.

    Negative feedback wasreceived from facultymembers saying they do not see the value of the newsystem.

    Alpha Selection Opportunity alpha state cards

    are investigated.

  • 8/10/2019 Essence Tutorial (JP)

    42/75

  • 8/10/2019 Essence Tutorial (JP)

    43/75

    Case Study 1

    A presentation on ESSENCE was given by Ivar

    Jacobson and Ian Spence at Google in Zurich inJuly 2014. In order to explore Essence in a practical

    setting, a 2-day workshop was hosted at Google Switzerland in October 2014 by MartinLanders, an engineering manager for YouTube.

    He and his team of five engineers took a look

    at Essence and its serious games .

    IIIT-B / SaskGoogle Tech Talk ( http: //www.youtube.com/watch?v=WNlERrVxYjs&list=UUtXKDgv1AVoG88PLl8nGXmw )

    Martin Landers said: Playing progress poker, reviewing health indicators and decheckpoints triggered some good conversations in the team and helped crystallize somrisks that I thought the team wasnt aware of or vice-versa.

    http://www.youtube.com/watch?v=WNlERrVxYjs&list=UUtXKDgv1AVoG88PLl8nGXmwhttp://www.youtube.com/watch?v=WNlERrVxYjs&list=UUtXKDgv1AVoG88PLl8nGXmwhttp://www.youtube.com/watch?v=WNlERrVxYjs&list=UUtXKDgv1AVoG88PLl8nGXmw
  • 8/10/2019 Essence Tutorial (JP)

    44/75

    Benefits

    IIIT-B / Sask

    Enables

    multidimensionalthinking andempowers teamreflections

    Allows adaptive,situational project planning andmonitoring

    Prevents losingsight of the valueto be created forcustomers

    Step Back &Look at Project

    Holistically(Alphas)

    Monitor Progress(Alpha StateChecklists)

    Set Project Goals(Target Alpha

    States)

    Decide How toReach Goals

    (Activity)

    PerformActivities 0

    12345

    6Opportu

    Team

    Way of Working

    Work

    C. Peraire, Introduction to the SEMAT Essence Framework, Carnegie Mellon University, 2013.

  • 8/10/2019 Essence Tutorial (JP)

    45/75

    2. Method Description

    IIIT-B / Sask

    Help process engineers to

    describe different softwareengineering practices using thecommon Essence kernel andlanguage.

    Help practitioners compareand select practices to use in aproject.

    Help practitioners define theproject method by mergingselected practices resolvingoverlaps and conflicts.

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

    organizes>Alpha

    Alpha State

    Activity Space

    Competency

    < h a s

    t a r g e

    t s >

    profiles>

  • 8/10/2019 Essence Tutorial (JP)

    46/75

  • 8/10/2019 Essence Tutorial (JP)

    47/75

    Example 2

    IIIT-B / Sask

    BPMModeling

    Opportunity

    Stakeholder

    Requirements

    SoftwareSystem

    Work

    Team

    Way ofWorking

    Process Goals aligned with Business Strategy

    Process Owner and Actors

    Business Requirements and KPIs

    BPMN 2.0 Models executable on the Process Engine

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

    Cross-Functional Teamwith Process Actors and Process Engineers

    Process Modeling Heuristics, Patterns and Tool

  • 8/10/2019 Essence Tutorial (JP)

    48/75

    Explore Possibilities

    UnderstandStakeholder Needs

    Understand theRequirements

    Shape the System

    Prepare to Do the Work

    Coordinate Activities

    Track Progress

    Example 2

    IIIT-B / Sask

    BPMModeling

    Conduct Benchmarking of Global Best Practices

    Analyze Business Strategies andProcess Capabilities to Improve

    Analyze the Current Process andSet Improvement Goals and KPIs

    Design and Simulate the To-Be Process andDevelop the Implementation Plan

    Justify ROI of the Process Modeling Project,Organize and Train the Team

    Develop the Process Modeling Project Plan

    Track the Process Modeling Project

  • 8/10/2019 Essence Tutorial (JP)

    49/75

    Example 2

    IIIT-B / Sask

    BPMModeling

    ExplorePossibilities

    UnderstandStakeholder

    Needs

    Understandthe

    Requirements

    Shape theSystem

    ConductBenchmarking ofGlobal Best Practices

    Analyze BusinessStrategies and

    Process Capabilitiesto Improve

    Analyze the CurrentProcess and SetImprovement Goals

    and KPIs

    Design and Simulatethe To-Be Processand Develop the

    Implementation Plan

    R

    Coherent

    Acceptable

    Requirements

    Conceived

    Bounded

  • 8/10/2019 Essence Tutorial (JP)

    50/75

    Example 2

    IIIT-B / Sask

    BPMModeling

    ConductBenchmarking ofGlobal Best Practices

    Analyze BusinessStrategies and

    Process Capabilitiesto Improve

    Analyze the Current

    Process and SetImprovement Goalsand KPIs

    Design and Simulatethe To-Be Processand Develop the

    Implementation Plan

    BusinessRequirementsand KPIs

    Coherent

    Acceptable

    Requirements

    Conceived

    Bounded

    ChecklistProcess goals aredetermined.As-Is process isdescribed.Process problemsare identified.Root causes of theproblems areidentified.Process KPIs aredefined.Target KPIs are set.

  • 8/10/2019 Essence Tutorial (JP)

    51/75

    d

  • 8/10/2019 Essence Tutorial (JP)

    52/75

    Case Study 2

    IIIT-B / Sask

    According to Perkens-

    Golomb, Munich Re wasexperiencing a Tower of Babel where with nocommon language it wasnearly impossible todiscuss and plausibly agreeon a healthy course for aproject.

    With the introduction of alphas, teams were able toverbally describe thelifecycle of a healthy project.

    Julie Pike, Munich Re and Essence Kernel and Language for SoftwareEngineering Methods: A Case Study, 2014. ( http://bit.l y/1GaJcu8 )

    http://t.co/AsjZhxgMkAhttp://t.co/AsjZhxgMkAhttp://t.co/AsjZhxgMkA
  • 8/10/2019 Essence Tutorial (JP)

    53/75

    C S d 3

  • 8/10/2019 Essence Tutorial (JP)

    54/75

    Case Study 3

    IIIT-B / Sask

    Ivar Jacobson International, Asian Telecommunications Equipment Vendor Successfully Achieves Rapid and Sustainable Agile Transformation(http://bit.ly/1BF3vAr )

    Scrum practice for smallteams

    Super Scrum practice forlarge teams 50+

    Requirements practice foragile collaboration withbusiness reps

    Continuous integration anddelivery

    Practice to automateintegration and deployment

    Contracting practice forsourcing and collaborationwith contractors

    Architecture practice

    Testing practice and defectprevention Integration across the

    product teams running agileor traditional approaches.

    http://t.co/11t52JzRPBhttp://t.co/11t52JzRPB
  • 8/10/2019 Essence Tutorial (JP)

    55/75

  • 8/10/2019 Essence Tutorial (JP)

    56/75

    3 P ti Lib d O h t ti

  • 8/10/2019 Essence Tutorial (JP)

    57/75

    3. Practice Library and Orchestration

    IIIT-B / Sask

    Practices to be applied tothe activities in thesoftware engineeringprocess of a project areselected from the practicelibrary.

    Target states are definedfor activities.

    Progress of an activity isassessed using the alphastate checklists.

    Depending on the current state, the activity iscontinued, competed, orrepeated.

    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).

    E l 3

  • 8/10/2019 Essence Tutorial (JP)

    58/75

    Example 3

    IIIT-B / Sask

    Project Synopsis*

    A research institution (KAISTInstitute) and a private company(Reakosys) conducted a collaborativesoftware project called MobileCloudlet R&D Project to develop agroup photo curation service basedon Wi-Fi Direct technology.

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

    * Project titled Development of DeviceCollaborative Giga-Level Smart CloudletTechnology supported by the ICT R&Dprogram [391104004] of MSIP/IITP of Korea.

    Example 3

  • 8/10/2019 Essence Tutorial (JP)

    59/75

    Example 3

    IIIT-B / Sask

    Project Phase I

    An extended Scrum method was used. After an initial system architecturewas designed, an initial product backlog consisting of user stories wasproduced together with supportingrequirement models including UMLuse case diagrams and class diagrams.

    Developers conducted test-drivendevelopment to implement the sprint backlog.

    Example 3

  • 8/10/2019 Essence Tutorial (JP)

    60/75

    Example 3

    IIIT-B / Sask

    Project Phase II After the system architecture was

    stabilized, the product backlog wasexpanded to enhance themarketability of the softwareservices.

    During the first phase, a significant amount of rework was observedbecause requirements were not detailed enough for the developers.

    To address this problem additionalrequirement modeling practices wereemployed including use casescenarios, sequence diagrams and UIwireframes.

    Example 3

  • 8/10/2019 Essence Tutorial (JP)

    61/75

    Example 3

    IIIT-B / Sask

    Activity Activity Space Activity Goal States Practices

    Product Envisioning

    Explore Possibilities; UnderstandStakeholder Needs; Understandthe Requirements

    I Stakeholder::Recognized; Opportunity:: Identified SolutionNeeded Value Established; Requirements:: Conceived Bounded I Software Prod

    ReleasePlanning

    Understand Stakeholder Needs;Prepare to Do the Work;Coordinate Activity

    I Stakeholder:: Represented; Opportunity:: Viable; Team:: SeededFormed; Work:: Initiated; Way of Working:: Principles EstablishedFoundation Established

    I Project ManagEnactment;

    Product Backlog Dev &Refinement

    Understand Stakeholder Needs;Understand the Requirements;Shape the System

    III

    Stakeholder:: Involved In Agreement; Requirements::CoherentAcceptable

    I User Story; U

    II User Story; UUI Wireframe ArchitectureDesign Shape the System

    I Software System:: Architecture Selected I Service-OrientedII Software System:: Architecture Selected Demonstrable II SOA;Event-D

    Sprint Planning Prepare to Do the Work

    III Work:: Prepared

    III Planning Poke

    Daily ScrumCoordinate Activity; Track

    Progress; Support the Team

    I Work:: Started; Team:: Collaborating; Way of Working:: In Use I Task Board

    IIWork:: Started Under Control ; Team:: Collaborating Performing ;Way of Working::In Use II Task Board;

    Test-DrivenDevelopment

    Implement the System; Test the System

    III Software System:: Demonstrable Usable

    I CRC; XP; CoII CRC; XP; CM

    Sprint Review

    Ensure Stakeholder Satisfaction;Test the System; Track Progress

    III

    Stakeholders:: Satisfied for Deployment; Opportunity:: Addressed;Requirements:: Addressed; Work:: Concluded

    III Product Dem

    Increment Release Test the System

    III Software System:: Ready

    III Release Mana

    Sprint Retrospective

    Support the Team III Way of Working:: In PlaceIII Essence-Base

    Benefits

  • 8/10/2019 Essence Tutorial (JP)

    62/75

    Benefits

    IIIT-B / Sask

    The project may add or replacethe practices employed in theproject method dynamically andadaptively based on actualdevelopment of the project situation.

    Project team members can useconvenient activity cards tounderstand the goal and current state of the activity in progress,and take appropriate actions.

    4. Project Support Environment

  • 8/10/2019 Essence Tutorial (JP)

    63/75

    IIIT-B / Sask

    The Essence-based project methodis imported to a project management tool to define theproject WBS.

    The practices associated withproject activities are linked to thepractice-specific tools (such asmodeling tool, testing tool, etc.).

    The project dashboard displaysthe Essence-based state progressand health that can be drilleddown to activity-level check points.

    Likely to be available in a fewyears.

    Essence-Meth

    Enactme

    ProjectMgmtTool

    ModelingDev

    Tool

    ProjectDashboard

  • 8/10/2019 Essence Tutorial (JP)

    64/75

    V. SEMATYesterday, Today & Tomorrow

    IIIT-B / Sask

    SEMAT in the Beginning

  • 8/10/2019 Essence Tutorial (JP)

    65/75

    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

    a common vocabulary and framework So that they can be compared, evaluated, composed, simulated, applied, measured, taug

    researched.

    IIIT-B / Sask

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

    Essence Design Principles

    http://semat.org/wp-content/uploads/2014/12/SEMAT-Yesterday-Today-and-Tomorrow-v1.0.pdfhttp://semat.org/wp-content/uploads/2014/12/SEMAT-Yesterday-Today-and-Tomorrow-v1.0.pdfhttp://semat.org/wp-content/uploads/2014/12/SEMAT-Yesterday-Today-and-Tomorrow-v1.0.pdf
  • 8/10/2019 Essence Tutorial (JP)

    66/75

    Essence Design Principles

    Extensible

    Actionable

    Composable

    Adaptable

    Scalable

    IIIT-B / Sask

    SEMAT Today

  • 8/10/2019 Essence Tutorial (JP)

    67/75

    SEMAT Today

    What do you think are benefits from usingEssence?

    I may check the progress health of a software projectindependent of the software engineering practicesused.

    I may describe various software engineering practicesusing the common Essence kernel and language sothat they become comparable and integrated into acoherent project method.

    I may use Essence kernel as the common quality gatesin monitoring the progress of multiple projects underway in my organization.

    I may use Essence kernel in teaching the foundation of software engineering and show differences andsimilarities among different software engineeringpractices.

    I don't see any benefits from learning and usingEssence.

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

    SEMAT Today

  • 8/10/2019 Essence Tutorial (JP)

    68/75

    SEMAT Today

    OMG Essence 1.0 Beta 1 released in June 2013, Beta 2 in June 2014.

    IIIT-B / Sask

    Not started

    Insufficiently Achie

    Sufficiently Achiev

    Level of Achievement

    Over-achieved

    0

    1

    2

    3

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

    SEMAT Organization

  • 8/10/2019 Essence Tutorial (JP)

    69/75

    SEMAT Organization

    4 work areas 100+ participants 2000 supporters 7 regional chapters

    (+Malaysia under dev) 75 signatories

    IIIT-B / Sask

    SEMAT Activities

  • 8/10/2019 Essence Tutorial (JP)

    70/75

    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, UKgovernment, Japanese consumer electronics, Chinesetelecommunication 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 byuEngine Solutions and a couple of others

    IIIT-B / Sask

    SEMAT Activities

  • 8/10/2019 Essence Tutorial (JP)

    71/75

    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 inMarch 2014.

    Regional chapters holding Essence workshops:China, Korea, Latin America, Russia, SouthAfrica

    IJI certified as SEMAT-authorized Essencetraining institution

    University courses: CMU SV, Florida Atlantic U,Free U Bozen, KTH RIT, NU Columbia, UDuisburg-Essen, U Oslo

    IIIT-B / Sask

    SEMAT Activities

  • 8/10/2019 Essence Tutorial (JP)

    72/75

    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 / Sask

    SEMAT Activities

    http://en.wikipedia.org/wiki/SEMAThttp://en.wikipedia.org/wiki/SEMAThttp://en.wikipedia.org/wiki/SEMAThttps://www.linkedin.com/groups/Semat-2848533https://www.linkedin.com/groups/Semat-2848533http://semat.org/http://semat.org/https://www.linkedin.com/groups/Semat-2848533http://en.wikipedia.org/wiki/SEMAT
  • 8/10/2019 Essence Tutorial (JP)

    73/75

    Regional Chapters China Software Industry Association (CSIA)

    adopted SEMAT as a pivotal component of its QPlan.

    Korea Chapter received government grants forR&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 Essenceworkshops.

    IIIT-B / Sask

    SEMAT Tomorrow

  • 8/10/2019 Essence Tutorial (JP)

    74/75

    Broaden Other areas than software engineering will be addressed: for instance, system engin

    business engineering maybe anything that has to do with human endeavors. Deepen

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

    Reach Out Practice library and marketplace. Curricula, texts and reference materials for teaching software engineering including high sch 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 / Sask

    SEMAT Tomorrow

  • 8/10/2019 Essence Tutorial (JP)

    75/75

    Watts Humphrey may have shown real forethought ahead of the first SEMAT meeting in Zurich, March2010, when he said:

    SEMAT results are a collective effort from thecommunity for the community. Working together, we are refounding software

    engineering.

    IIIT-B / Sask

    This meeting in Zurich is likely to be a historicoccasion much like the 1968 NATO session inGarmish.