1 Essence-Powered Scrum-June - SEMAT

31
ESSENCE-POWERED SCRUM A GENERIC APPROACH TO DESCRIBING PRACTICES USING ESSENCE KERNEL AND LANGUAGE PROFESSOR JUNE SUNG PARK, KAIST / SEM

Transcript of 1 Essence-Powered Scrum-June - SEMAT

Page 1: 1 Essence-Powered Scrum-June - SEMAT

ESSENCE-POWERED SCRUM - A GENERIC APPROACH TO DESCRIBING PRACTICES USING ESSENCE KERNEL AND LANGUAGE

PROFESSOR JUNE SUNG PARK, KAIST / SEMAT

Page 2: 1 Essence-Powered Scrum-June - SEMAT

ESSENCE KERNEL

¡  Alpha

¡  Activity Space

¡  Competency

2

Page 3: 1 Essence-Powered Scrum-June - SEMAT

ALPHA

¡  Alpha represents things to deal with in any software engineering project.

3

Custom

er

Solu+on

En

deavor

Opportunity Stakeholders

Requirements So9ware  System

Work Team

Way  of  Working

<provide

use  and  consum

e> <produces

scopes  and  constraints>

focuses>

<fulfills

<performs  and  plans

<set  up  to  address

Support>

* Alpha means “Abstract-Level Progress Health Attribute.”

Page 4: 1 Essence-Powered Scrum-June - SEMAT

ALPHA STATE AND CHECKLIST 4

Page 5: 1 Essence-Powered Scrum-June - SEMAT

STATE OF SOFTWARE ENGINEERING PROJECT 5

How is the p r o j e c t going?

Oh, I guess it’s going OK?

Page 6: 1 Essence-Powered Scrum-June - SEMAT

STATE OF SOFTWARE ENGINEERING PROJECT 6

Yeah, this i s t h e c u r r e n t state.

R e a l l y ? Y o u ’ r e sure?

Page 7: 1 Essence-Powered Scrum-June - SEMAT

ALPHA DECOMPOSITION AND EXTENSION

¡  An alpha may have lower-level, more granule sub-alphas whose states contribute to and drive the state of the super-alpha.

•  Association between super-alphas and sub-alphas can be many-to-many.

¡  An alpha may be Extended (i.e., have the values of its attributes be changed) in the context of a Practice (such as Scrum).

7

Alpha Sub-Alpha

Alpha Extended Alpha

Page 8: 1 Essence-Powered Scrum-June - SEMAT

ACTIVITY SPACE

¡  Activity spaces are containers of activities performed in a project.

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

¡  The association between activity spaces and activities can be many-to-many.

8

Custom

er

Solu+on

En

deavor

Explore  Possibili+es

Understand  Stakeholder  Needs

Ensure  Stakeholder  Sa+sfac+on Use  the  System

Understand  the  Requirements

Shape  the  System

Implement  the  System

Test  the  System

Deploy  the  System

Operate  the  System

Prepare  to  do  the  Work

Coordinate  the  Ac+vity Support  Team Track  Progress Stop  the  Work

Page 9: 1 Essence-Powered Scrum-June - SEMAT

ACTIVITY SPACE AND ALPHA STATE

¡  Pre and post conditions of each activity space are suggested (as a reference) in terms of alpha states in the kernel.

9

Alpha  States          

Ac+vity  Spaces

Opportunity   Stakeholder  

Iden

+fie

d  

Solu+on

   Neede

d  

Value  

Establishe

d  

Viable  

Add

ressed

 

Bene

fit  

Accrued

 

Recognized

 

Represen

ted  

Involved

 

In  Agreemen

t  

Sa+sfied

 for  

Dep

loym

ent  

Sa+sfied

 in  Use  

Explore  Possibili+es                           Understand  Stakeholder  

Needs                          

Ensure  Stakeholder  Sa+sfac+on                          

Use  the  System                          

Page 10: 1 Essence-Powered Scrum-June - SEMAT

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

10

Page 11: 1 Essence-Powered Scrum-June - SEMAT

ESSENCE LANGUAGE 11

Page 12: 1 Essence-Powered Scrum-June - SEMAT

METHOD DESCRIPTION IN ESSENCE LANGUAGE

¡  There are probably hundred thousands of methods applied in SE projects worldwide.

¡  There are about 300 well known practices reusable across projects.

¡  Those practices can be described using Essence kernel and language.

¡  A project method can be composed of practices.

12

Prac7ces  

Methods  

Custom  Method  A   Custom  Method  B  are  composed  of

are  described  using

are  defined  in  terms  of

Essence  Kernel  

Essence  Language  

OMG  Standard

Page 13: 1 Essence-Powered Scrum-June - SEMAT

ESSENCE KERNEL AND METHOD 13

organizes> Alpha

Alpha State

Activity Space

Competency

Work Product

Activity

is progressed by >

organizes>

<has

ta

rget

s>

<requires

defin

es /

prod

uces

/ up

date

s> <evidences

Work

Task

< defines

Approach

defin

es o

ne w

ay t

o ac

com

plis

h >

Practice < is composed of

Method

Page 14: 1 Essence-Powered Scrum-June - SEMAT

PRACTICE DESCRIPTION IN ESSENCE LANGUAGE

¡  A software engineering practice can be described in Essence language by mapping:

•  work products to Alphas,

•  activities to Activity Spaces

•  roles to Competencies

¡  Mapping a practice to Essence produces a mapping from activities to “default” state transitions.

14

Practice

Work Product

Activity

Role

Essence Kernel

Alpha

Alpha State

Activity Space

Competency

Page 15: 1 Essence-Powered Scrum-June - SEMAT

ACTIVITY AND STATE TRANSITION

¡  Activities may change the alpha states of the software engineering project.

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

¡  By mapping activities to activity spaces you can get “default” target states of each activity.

15

Ac7vity  Space

Competency

Ac7vity organizes>

is  progressed  by  >

targets>

prod

uces  

/  up

dates>

organizes> Alpha

Alpha  State

Work  Product

<has

<evidences

Page 16: 1 Essence-Powered Scrum-June - SEMAT

COMPETENCY AND ROLE

¡  The role can be modeled as a Pattern. ¡  Patterns can arrange language elements into

arbitrary meaningful structures.

16

Cus

tom

er

Solu

tion

E

ndea

vor

Stakeholder Representation

Analysis Development Testing

Leadership Management

Role

profiles>

Is  qualified

 to  perform

>

organizes> Alpha

Alpha  State

Ac7vity  Space

Competency

Ac7vity

is  progressed  by  >

organizes>

<has

targets>

prod

uces  

/  up

dates>

<evidences

Work  Product

Page 17: 1 Essence-Powered Scrum-June - SEMAT

PRACTICE DESCRIPTION APPROACH

1.  Build an Ontology of the Terms used in the Practice §  Parse the text description of the Practice to build a Glossary.

§  Classify the Terms in the Glossary into Work Products, Activities, Roles, etc.

§  Add missing Terms such as activities for producing or updating work products and vice versa.

2.  Map the Terms to Essence Language Elements. §  Determine alphas, alpha states and checkpoints corresponding to each work product.

§  Determine activity spaces, beginning and target alpha states, target checkpoints corresponding to each activity.

§  Determine competencies required of different roles.

3.  Decompose and Extend Essence Kernel Elements to represent detailed concepts, composite constructs and complex relationships.

§  Define sub-alphas, sub-activity spaces, patterns, resources and tags to represent concepts in the practice.

17

Build Practice Ontology

Map Terms to Essence Language Elements

Decompose and Extend Essence Kernel Elements if necessary

Page 18: 1 Essence-Powered Scrum-June - SEMAT

SCRUM PRACTICE 18

Development Team

Task Breakdown

Product Increment

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

Page 19: 1 Essence-Powered Scrum-June - SEMAT

SCRUM GLOSSARY Key Terms Classification Relationship Added Terms Role Activity Work Product

Daily Scrum Activity Development Team Sprint Plan, Total Work Remaining Definition of Done Work Product Sprint Retrospective Increment, Product Backlog Refinement Developer Role Development Team Role Daily Scrum Sprint Backlog, Development Work, Increment

Development Work Activity Sprint Backlog, Development Work Plan, Work Unit, Increment

Development Work Plan

Improvement Plan Work Product Sprint Retrospective Increment Work Product Sprint Review Sprint Plan, Sprint Goal, Sprint Backlog, Definition of Done

Product Backlog Work Product Product Owner Product Backlog Refinement, Sprint Review Product Backlog Item Product Backlog Creat

ion Product Backlog Item Work Product Product Backlog Product Backlog Refinement Activity Product Backlog

Product Owner Role Product Backlog Creation, Product Backlog Refinement, Sprint Review

Product Backlog Product Backlog Creation

Scrum Event Composite Activity Scrum Master Role Sprint Retrospective Scrum Team Work Product PO, DT, SM Sprint Milestone Sprint Backlog Work Product Development Team Product Backlog, Sprint Goal, Development Work Sprint Goal Work Product Sprint Planning Sprint Planning Sprint Plan Composite Work Product Sprint Planning Activity Sprint Plan Sprint Retrospective Activity Scrum Master Sprint Plan, Definition of Done,

Sprint Review Activity Stakeholders, Increment, Product Backlog, Total Work Remaining, Sprint Plan

Stakeholders Role Sprint Review Total Work Remaining Work Product Sprint Review, Daily Scrum Work Unit Work Product Sprint Backlog, Development Work

19

Page 20: 1 Essence-Powered Scrum-June - SEMAT

SCRUM ONTOLOGY 20

Page 21: 1 Essence-Powered Scrum-June - SEMAT

SCRUM TO ESSENCE KERNEL MAPPING 21

Scrum

Product Backlog

Product Backlog Item

Sprint Backlog

Scrum Team

Development Work Plan Work Unit

Increment

Total Work Remaining

Improvement Plan

Requirements

Software System

Work

Team

Way of Working

Sprint Goal

Definition of Done

Opportunity

Product Backlog Refinement

Sprint Review

Sprint Planning

Daily Scrum

Sprint Retrospective

Ensure Stakeholder Satisfaction

Understand the Requirements

Coordinate the Activity

Support the Team

Track Progress

Product Backlog Creation

Development Work Implement the System

Test the System

Shape the System

Understand Stakeholder Needs

Explore Possibilities

Page 22: 1 Essence-Powered Scrum-June - SEMAT

COMPOSITE CONSTRUCTS IN SCRUM 22

Sprint Review

Sprint Planning

Daily Scrum

Sprint Retrospective

Sprint Plan

Product Backlog Item

Sprint Backlog

Development Work Plan Work Unit

Sprint Goal

produces

provides input to

may change

Sprint Increment

Scrum Event

Development Work

Produces

Conducts

Product Owner

Development Team

Scrum Master

Manages Product Backlog

Creates

Performs

Ensures enactment of Scrum

Scrum Team

Page 23: 1 Essence-Powered Scrum-June - SEMAT

WORK PRODUCT TO ALPHA STATE MAPPING 23

Work Product Alpha Alpha State

Begin In Target

Product Backlog Requirements Bounded Acceptable

Opportunity Solution Needed Viable

Sprint Goal Requirements Bounded Coherent

Sprint Backlog Requirements Coherent Acceptable

Definition of Done Requirements Acceptable Fulfilled

Development Work Plan Work Initiated Prepared

Increment Software System Architecture Selected Ready

Work Prepared Concluded

Total Work Remaining Work Started Under Control

Scrum Team Team Seeded Performing

Improvement Plan Way of Working Foundation Established Working Well

Page 24: 1 Essence-Powered Scrum-June - SEMAT

WORK PRODUCT TO ALPHA STATE MAPPING 24

Product Backlog Sprint Goal

Sprint Backlog

Definition of Done

Dev Work Plan

Increment

Increment

Scrum Team

Improve Plan

TWR

Page 25: 1 Essence-Powered Scrum-June - SEMAT

WORK PRODUCT DEFINITION CARD 25

Scrum Practice

Product Backlog Item

Sprint Backlog

Development Work Plan

Work Unit

Requirements

Coherent

Acceptable

ü  The stakeholders accept that the requirements describe an acceptable solution. ü  The rate of change to the agreed requirements is relatively low and under control. ü  The value provided by implementing the requirements is clear. ü  The parts of the opportunity satisfied by the requirements are clear. ü  The requirements are testable.

Work

Initiated

Prepared

ü  Commitment is made. ü  Cost and effort of the work are estimated. ü  Resource availability is understood. ü  Governance policies and procedures are clear. ü  Risk exposure is understood. ü  Acceptance criteria are defined and agreed with client. ü  The work is broken down sufficiently for productive work to start. ü  Tasks have been identified and prioritized by the team and stakeholders. ü  A credible plan is in place. ü  Funding to start the work is in place. ü  The team or at least some of the team members are ready to start the work. ü  Integration and delivery points are defined.

Sprint Planning Understand the Requirements

Coordinate the Activity

Understand Stakeholder Needs

Page 26: 1 Essence-Powered Scrum-June - SEMAT

ACTIVITY TO ALPHA STATE MAPPING 26

Activity

Alpha States

Activity Spaces

Opportunity Requirement Software System Team Work Way of Working Id

enti

fied

Solu

tion

N

eede

d V

alue

E

stab

lishe

d V

iabl

e

Add

ress

ed

Ben

efit

A

ccru

ed

Con

ceiv

ed

Bou

nded

Coh

eren

t

Acc

epta

ble

Add

ress

ed

Fulfi

lled

Arc

hite

ctur

e Se

lect

ed

Dem

onst

- ra

ble

Usa

ble

Rea

dy

Ope

rati

onal

Ret

ired

Seed

ed

Form

ed

Col

labo

- ra

ting

Pe

rfor

min

g

Adj

ourn

ed

Init

iate

d

Pre

pare

d

Star

ted

Und

er

Con

trol

C

oncl

uded

Clo

sed

Pri

ncip

les

Est

ablis

hed

Foun

dati

on

Est

ablis

hed

In U

se

In P

lace

W

orki

ng

Wel

l R

etir

ed

Product Backlog Creation

Explore Possibilities            

Understand Reqts

Product Backlog

Refinement

Understand St. Needs

Understand Reqts

Sprint Planning

Understand St. Needs

Understand Reqts

Coordinate Activity

Development Work

Shape the System

Implement / Test

Daily Scrum Track Progress

Sprint Review

Ensure St. Satisfaction

Track Progress

Sprint Retro. Support the Team            

Page 27: 1 Essence-Powered Scrum-June - SEMAT

ACTIVITY DEFINITION CARD 27

Scrum Practice

Opportunity

Viable

Addressed

ü  A usable system that demonstrably addresses the opportunity is available. ü  The stakeholders agree that the available solution is worth deploying. ü  The stakeholders are satisfied that the solution produced addresses the opportunity.

Work

Under Control

Concluded

ü  All outstanding tasks are administrative housekeeping or related to preparing the next piece of work. ü  Work results have been achieved. ü  The stakeholders have accepted the resulting software system.

Sprint Review

Ensure Stakeholder Satisfaction

Track Progress Product Owner Development Team Scrum Master Stakeholder

Product Backlog

Sprint Backlog Increment Sprint

Goal

Page 28: 1 Essence-Powered Scrum-June - SEMAT

SCRUM WORKFLOW 28

Page 29: 1 Essence-Powered Scrum-June - SEMAT

METHOD COMPOSITION 29

Scrum

Product Backlog Refinement

Sprint Review

Sprint Planning

Daily Scrum

Sprint Retrospective

Ensure Stakeholder Satisfaction

Understand the Requirements

Coordinate the Activity

Support the Team

Track Progress

Product Backlog

Product Backlog

Item

Sprint Backlog

Scrum Team

Development Work Plan Work Unit

Increment

Total Work Remaining

Improvement Plan

Requirements

Software System

Work

Team

Way of Working

Product Backlog Creation

Sprint Goal

Development Work Implement the System

Test the System

Shape the System Definition of

Done

Opportunity Understand Stakeholder Needs

Explore Possibilities Stakeholder

Business Requirements Agile

Modeling Opportunity

Software Requirement Model

Software Architecture

Business Analysis

Model Storming

Spike

Page 30: 1 Essence-Powered Scrum-June - SEMAT

METHOD COMPOSITION 30

Kernel elements additionally covered by Agile Modeling Kernel elements covered by Scrum

Add XP Add DevOps

Add SPM

Page 31: 1 Essence-Powered Scrum-June - SEMAT

CONCLUSION

You can use Essence kernel to:

¡  Describe practices

¡  Merge them into a project method

¡  Monitor health and progress of the project

¡  Adaptively determine project goals and activities based on the current state assessment.

31 We’d better l e a r n a n d use Essence.

I think so, too. It r e a l l y m a k e s defining and using methods easy.