ESSENCE-POWERED SCRUM PROFESSOR JUNE SUNG PARK, KAIST / SEMAT

advertisement
ESSENCE-POWERED SCRUM
- A GENERIC APPROACH TO DESCRIBING PRACTICES USING ESSENCE KERNEL AND LANGUAGE
PROFESSOR JUNE SUNG PARK, KAIST / SEMAT
ESSENCE KERNEL
 Alpha
 Activity Space
 Competency
2
ALPHA
Solution
<fulfills
Software
System
<produces
Endeavor
Stakeholders
Work
Team
<performs and plans
Way of
Working
Support>
Requirements
scopes and
constraints>
* Alpha means “Abstract-Level
Progress Health Attribute.”
<provide
focuses>
deal with in any software
engineering project.
<set up to address
 Alpha represents things to
Opportunity
use and
consume>
Customer
3
ALPHA STATE AND CHECKLIST
4
STATE OF SOFTWARE ENGINEERING PROJECT
Oh, I guess
it’s going
OK?
How is the
project
going?
5
STATE OF SOFTWARE ENGINEERING PROJECT
Yeah, this
is
the
current
state.
6
Really?
You’re
sure?
ALPHA DECOMPOSITION AND EXTENSION
7
 An alpha may have lower-level, more granule
sub-alphas whose states contribute to and drive
the state of the super-alpha.
•
Alpha
Sub-Alpha
Alpha
Extended 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).
ACTIVITY SPACE
8
 Activity spaces are containers of activities performed in a project.
•
An activity may be a part of another activity forming a work breakdown structure.
Customer
Explore
Possibilities
Solution
Understand the
Requirements
Endeavor
 The association between activity spaces and activities can be many-to-many.
Prepare to do the
Work
Ensure Stakeholder
Satisfaction
Understand
Stakeholder Needs
Shape the
System
Coordinate the
Activity
Implement the
System
Test the
System
Support Team
Deploy the
System
Track Progress
Use the System
Operate the
System
Stop the Work
ACTIVITY SPACE AND ALPHA STATE
9
Explore Possibilities
Understand Stakeholder
Needs
Ensure Stakeholder
Satisfaction
Use the System
Satisfied for
Deployment
Satisfied
in Use
In Agreement
Represented
Benefit
Accrued
Addressed
Viable
Stakeholder
Recognized
Activity Spaces
Solution
Needed
Value
Established
Identified
 Pre and post conditions of
each activity space are
suggested (as a reference)
in terms of alpha states in
the kernel.
Opportunity
Involved
Alpha States
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
ESSENCE LANGUAGE
11
METHOD DESCRIPTION IN ESSENCE LANGUAGE
12
Methods
 There are probably hundred
thousands of methods applied in
SE projects worldwide.
 There are about 300 well known
Custom Method A
are defined
in terms of
Custom Method B
Practices
are
composed
of
practices reusable across projects.
 Those practices can be described
using Essence kernel and language.
 A project method can be
composed of practices.
Essence Kernel
OMG
Standard
Essence Language
are
described
using
ESSENCE KERNEL AND METHOD
Work
defines /
produces /
updates>
targets>
Alpha State
Task
< defines
Activity
Approach
Activity Space
< is composed of
Competency
Practice
Method
defines one way to accomplish >
Work Product
<has
Alpha
13
PRACTICE DESCRIPTION IN ESSENCE LANGUAGE
 A software engineering practice can be
described in Essence language by
mapping:
Essence Kernel
Practice
Alpha
Work Product
• work products to Alphas,
• activities to Activity Spaces
14
Alpha State
• roles to Competencies
 Mapping a practice to Essence
produces a mapping from activities to
“default” state transitions.
Activity Space
Activity
Competency
Role
ACTIVITY AND STATE TRANSITION
 Activities can be assigned target alpha
 By mapping activities to activity spaces
Alpha State
targets>
states or checkpoints (i.e. criteria of
done).
Work Product
you can get “default” target states of each
activity.
produces
/ updates>
the software engineering project.
Alpha
<has
 Activities may change the alpha states of
15
Activity
Activity Space
Competency
16
Work Product
produces
/ updates>
Alpha
organizes>
<has
Stakeholder Representation
Analysis
Development
Testing
Alpha State
targets>
Leadership
Management
Activity
Is qualified
to perform>
Endeavor
Solution
Customer
COMPETENCY AND ROLE
Activity Space
 The role can be modeled as a Pattern.
 Patterns can arrange language elements into
arbitrary meaningful structures.
profiles>
Competency
Role
PRACTICE DESCRIPTION APPROACH
17
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.
Build Practice
Ontology
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.
Map Terms to Essence
Language Elements
Decompose and
Extend Essence Kernel
Elements if necessary
SCRUM PRACTICE
18
Development Team
Task
Breakdown
Product Increment
Jeff Sutherland and Ken Schwaber, The Scrum Guide, 2013. (http://www.scrumguides.org/)
SCRUM GLOSSARY
Key Terms
Classification
19
Relationship
Role
Activity
Development Team
Work Product
Daily Scrum
Definition of Done
Developer
Development Team
Activity
Work Product
Role
Role
Development Work
Activity
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 Backlog Refinement,
Sprint Review
Product Backlog Item
Product Backlog Item
Product Backlog Refinement
Work Product
Activity
Product Owner
Role
Scrum Event
Scrum Master
Scrum Team
Sprint
Sprint Backlog
Sprint Goal
Sprint Plan
Sprint Planning
Sprint Retrospective
Composite Activity
Role
Work Product
Milestone
Work Product
Work Product
Composite Work Product
Activity
Activity
Sprint Review
Activity
Stakeholders
Total Work Remaining
Work Unit
Role
Work Product
Work Product
Sprint Retrospective
Daily Scrum
Product Owner
Added Terms
Sprint Plan, Total Work Remaining
Increment, Product Backlog Refinement
Sprint Backlog, Development Work, Increment
Sprint Backlog, Development Work Plan, Work Unit,
Increment
Development Work
Plan
Product Backlog
Creation
Product Backlog
Product Backlog
Product Backlog Creation,
Product Backlog Refinement,
Sprint Review
Product Backlog
Product Backlog
Creation
Sprint Retrospective
PO, DT, SM
Development Team
Product Backlog, Sprint Goal, Development Work
Sprint Planning
Sprint Planning
Sprint Plan
Sprint Plan, Definition of Done,
Increment, Product Backlog, Total Work Remaining,
Sprint Plan
Scrum Master
Stakeholders,
Sprint Review
Sprint Review, Daily Scrum
Sprint Backlog, Development Work
SCRUM ONTOLOGY
20
SCRUM TO ESSENCE KERNEL MAPPING
Scrum
21
Explore Possibilities
Opportunity
Product
Backlog
Product
Backlog Item
Understand the
Requirements
Sprint Goal
Requirements
Understand
Stakeholder Needs
Product Backlog
Creation
Product Backlog
Refinement
Sprint Backlog
Shape the System
Definition of
Done
Software
System
Increment
Work
Development
Work Plan
Implement the
System
Development Work
Test the System
Coordinate the
Activity
Sprint Planning
Total Work
Remaining
Track Progress
Daily Scrum
Team
Scrum Team
Ensure Stakeholder
Satisfaction
Sprint Review
Way of
Working
Improvement
Plan
Support the Team
Sprint Retrospective
Work Unit
COMPOSITE CONSTRUCTS IN SCRUM
Sprint
Planning
Development
Work
Daily Scrum
produces
may change
Sprint
Plan
Sprint
Goal
Product
Backlog Item
Sprint
Backlog
Development
Work Plan
Conducts
Scrum Event
Sprint
22
Increment
Produces
Sprint Review
Sprint
Retrospective
Manages
Product Backlog
Product Owner
Performs
Scrum Team
Development Team
Creates
Ensures
enactment of
Scrum Master
Scrum
provides input to
Work Unit
WORK PRODUCT TO ALPHA STATE MAPPING
Work Product
23
Alpha State
Alpha
Begin In
Target
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
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
Product Backlog
Increment
WORK PRODUCT TO ALPHA STATE MAPPING
Increment
Product Backlog
Sprint
Goal
Sprint
Backlog
Definition
of Done
Dev Work
Plan
Increment
TWR
24
Scrum
Team
Improve
Plan
WORK PRODUCT DEFINITION CARD
Scrum Practice
Sprint Backlog
Product
Backlog Item
25
Understand
Stakeholder Needs
Development
Work Plan
Understand the
Requirements
Work Unit
Sprint Planning
Coordinate the
Activity
Requirements
Coherent





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.












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.
Acceptable
Work
Initiated
Prepared
ACTIVITY TO ALPHA STATE MAPPING
Product
Backlog
Creation
Explore Possibilities
Product
Backlog
Refinement
Understand St. Needs
Understand Reqts
Understand Reqts
Understand St. Needs
Sprint
Planning
Understand Reqts
Coordinate Activity
Development
Work
Shape the System
Daily Scrum
Track Progress
Sprint
Review
Ensure St. Satisfaction
Sprint Retro.
Support the Team
Implement / Test
Track Progress
In Place
Working
Well
Retired
Way of Working
Closed
Principles
Established
Foundation
Established
In Use
Started
Under
Control
Concluded
Prepared
Initiated
Work
Adjourned
Formed
Collaborating
Performing
Seeded
Team
Retired
Operational
Ready
Software System
Fulfilled
Architecture
Selected
Demonstrable
Usable
Addressed
Acceptable
Coherent
Activity Spaces
Requirement
Bounded
Activity
Addressed
Benefit
Accrued
Conceived
Alpha States
Identified
Solution
Needed
Value
Established
Viable
Opportunity
26
ACTIVITY DEFINITION CARD
27
Scrum Practice
Sprint Review
Ensure Stakeholder
Satisfaction
Track Progress
Product Owner Development Team
Sprint
Goal
Sprint
Backlog
Scrum Master
Increment
Stakeholder
Product
Backlog
Opportunity
Viable
 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.
Addressed
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.
SCRUM WORKFLOW
28
METHOD COMPOSITION
Scrum
Agile
Modeling
29
Explore Possibilities
Stakeholder
Opportunity
Opportunity Product
Backlog
Product
Business
Backlog
Requirements
Item
Understand the
Requirements
Sprint Goal
Requirements
Sprint
Backlog
Shape the System
Definition of
Done
Software
System
Understand
Stakeholder Needs
Implement the
System
Software
Requirement Model
Increment
Software
Architecture
Business Analysis
Product Backlog
Creation
Product Backlog
Refinement
Spike
Development
Work
Model Storming
Test the System
Coordinate the
Activity
Sprint Planning
Total Work
Remaining
Track Progress
Daily Scrum
Team
Scrum Team
Ensure Stakeholder
Satisfaction
Sprint Review
Way of
Working
Improvemen
t Plan
Support the Team
Sprint
Retrospective
Work
Development
Work Plan
Work Unit
METHOD COMPOSITION
30
Kernel elements covered by Scrum
Kernel elements additionally covered by Agile Modeling
Add XP
Add
SPM
Add
Dev
Ops
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.
We’d better
learn
and
use Essence.
I think so, too. It
really
makes
31
defining and using
methods easy.
Download