Sei sulla pagina 1di 84

Copyright 2014 Ivar Jacobson International SA.

All rights reserved


Creating winning
teams.
The Essence of Software Engineering
The SEMAT Approach
Creating winning teams.
Agenda
SEMAT and Essence
Welcome to State Club
Welcome to the World of Practices
Wrap Up
Creating winning teams.
The SEMAT initiative
Software Engineering Method And Theory

Founded in September 2009:
Ivar Jacobson Bertrand Meyer Richard Soley


COMMUNITY
www.semat.org
40 individual signatories
2,000 supporters 20 corporate signatories 20 academic signatories
7 Chapters of SEMAT: China, India, Japan, Korea, Latin America, Russia,
South Africa

Creating winning teams.
SEMAT was initialized by a Case for Action statement
Software engineering is gravely hampered today by immature
practices. Specific problems include:
The prevalence of fads more typical of fashion industry than of an engineering
discipline.
The lack of a sound, widely accepted theoretical basis.
The huge number of methods and method variants, with differences little
understood and artificially magnified.
The lack of credible experimental evaluation and validation.
The split between industry practice and academic research.

We support a process to refound software engineering based on a
solid theory, proven principles and best practices that:
Include a kernel of widely-agreed elements, extensible for specific uses
Addresses both technology and people issues
Are supported by industry, academia, researchers and users
Support extension in the face of changing requirements and technology
2000 Supporters
Creating winning teams.
SEMAT was initialized by a Case for Action statement
Software engineering is gravely hampered today by immature
practices. Specific problems include:
The prevalence of fads more typical of fashion industry than of an engineering
discipline.
The lack of a sound, widely accepted theoretical basis.
The huge number of methods and method variants, with differences little
understood and artificially magnified.
The lack of credible experimental evaluation and validation.
The split between industry practice and academic research.

We support a process to refound software engineering based on a
solid theory, proven principles and best practices that:
Include a kernel of widely-agreed elements, extensible for specific uses
Addresses both technology and people issues
Are supported by industry, academia, researchers and users
Support extension in the face of changing requirements and technology
2000 Supporters
A specific problem:
The huge number of
methods and method
variants, with differences
little understood and
artificially magnified.
Creating winning teams.
SEMAT was initialized by a Case for Action statement
Software engineering is gravely hampered today by immature
practices. Specific problems include:
The prevalence of fads more typical of fashion industry than of an engineering
discipline.
The lack of a sound, widely accepted theoretical basis.
The huge number of methods and method variants, with differences little
understood and artificially magnified.
The lack of credible experimental evaluation and validation.
The split between industry practice and academic research.

We support a process to refound software engineering based on a
solid theory, proven principles and best practices that:
Include a kernel of widely-agreed elements, extensible for specific uses
Addresses both technology and people issues
Are supported by industry, academia, researchers and users
Support extension in the face of changing requirements and technology
2000 Supporters
Refounding,
based on:
a kernel of
widely-agreed
elements
Creating winning teams.
SEMAT was initialized by a Case for Action statement
Why?
We have no Common Ground
a kernel of
widely-agreed
elements
Creating winning teams.
We have no Common Ground
We dont lack
methods or practices

Everyone of us knows
how to develop our
own software, but
as a community
we have no
widely accepted
common ground

Six Sigma
Scrum
Waterfall
Use Cases
SAFe
Kanban
User Stories
XP
CMMI
ATDD
SEMATs first step focused on the Common Ground
The Essence Kernel
Creating winning teams.
With a common ground practices can work together
Common
Ground
Practice 1
Practice 2
Practice 3
Practice 4 Kernel
Creating winning teams.
Defining the common ground
Stakeholders
Opportunity
provide
Software
System
u
s
e
s

a
n
d


c
o
n
s
u
m
e
s


fulfills
Requirements
f
o
c
u
s
e
s


Work
s
c
o
p
e
s

a
n
d


c
o
n
s
t
r
a
i
n
s


Team
performs and plans

p
r
o
d
u
c
e
s

s
u
p
p
o
r
t
s


s
e
t

u
p

t
o

a
d
d
r
e
s
s


Way of
Working
Creating winning teams.
Defining the common ground
Stakeholders
Way of
Working
Opportunity
provide

p
r
o
d
u
c
e
s

Software
System
u
s
e
s

a
n
d


c
o
n
s
u
m
e
s


fulfills
Requirements
s
u
p
p
o
r
t
s


f
o
c
u
s
e
s


Work
s
c
o
p
e
s

a
n
d


c
o
n
s
t
r
a
i
n
s


s
e
t

u
p

t
o

a
d
d
r
e
s
s


C
u
s
t
o
m
e
r

S
o
l
u
t
i
o
n

E
n
d
e
a
v
o
r

Team
performs and plans
Creating winning teams.
Defining the common ground
Opportunity
Requirements
Stakeholders
Software
System
Team
Way of
Working
Work
s
u
p
p
o
r
t
s


identifies
performs and plans

p
r
o
d
u
c
e
s

fulfills
u
s
e
s

a
n
d


c
o
n
s
u
m
e
s


f
o
c
u
s
e
s


s
c
o
p
e
s

a
n
d


c
o
n
s
t
r
a
i
n
s


s
e
t

u
p

t
o

a
d
d
r
e
s
s


C
u
s
t
o
m
e
r

S
o
l
u
t
i
o
n

E
n
d
e
a
v
o
r

Creating winning teams.
Another perspective: Software Development is
a multi-dimensional Endeavor
Every Alpha represents one dimension
http://sematacc.meteor.com/
Creating winning teams.
The Immense Power of a Simple Checklist
Creating winning teams.
The Immense Power of a Simple Checklist
Creating winning teams.
The Immense Power of a Simple Checklist
Simple checklists save lives ...
... why not software projects?
Creating winning teams.
Our Tools
www.semat.org
Essence:
Kernel and Language for
Software Engineering Methods


Welcome to State Club



Playing a Serious Game:
How to Be Lean and Agile with
Processes, Checkpoints and
Governance



Creating winning teams.
Creating winning teams.
Building a health monitor
Playing progress poker and chase the state
Using the state cards

Visualize the health of your software
development endeavours .

Creating winning teams.
Building a health monitor
Step 1 Layout your cards
Creating winning teams.
Building a health monitor
Step 1 Layout your cards
Creating winning teams.
Building a health monitor
Step 1 Layout your cards
Creating winning teams.
Building a health monitor
Step 2 Consider your documentation



Creating winning teams.
Building a health monitor
Step 3 Make Your Moves




X
X
X
Creating winning teams.
Building a health monitor
Step 3 Make Your Moves
Showing you where the team has
reached
and helping them decide where to
go next.
Creating winning teams.
Tracking Progress and Health
Information Radiators
Cards used to show
the current state
Cards on task boards



Helping agility
Helping set sprint goals
Helping with
retrospectives
Enabling governance
Plug into a universal
health monitor
Creating winning teams.
Taking a holistic approach
and exploiting the common ground
All 7 CMU-SV practicum teams used different sets of s/w engineering practices
Progress & Health
Measure progress & health of
your teams regardless of
practices selected.


Avoiding Problems
Detect systemic problems
early & take appropriate action
Source: Ccile Praire & Todd Sedano, CMU-CV
Creating winning teams.
Building Checklists and Checkpoints
As well as showing you where the
team is the cards can also be used
to create checkpoints to show
where the team should be.
Creating winning teams.
For Example:
What does it mean to be Ready to Release?
Imagine the situation:
Software goes to operations for deployment.
Live support must be ready to take on ownership of the system.
Critical legal compliance requirements must be checked.

Wouldnt it be good to have a checklist that could be used to confirm
whether or not the software system was ready for release?

Creating winning teams.
For Example:
What does it mean to be Ready to Release?
Which Alphas do we care about?
Creating winning teams.
What about the other Alphas?
For Example:
What does it mean to be Ready to Release?
Creating winning teams.
What about the other Alphas?
For Example:
What does it mean to be Ready to Release?
Creating winning teams.
What about the other Alphas?
For Example:
What does it mean to be Ready to Release?
Creating winning teams.
For Example:
What does it mean to be Ready to Release?
Creating winning teams.
For Example:
Are the checklists sufficient?
X25 Security Certificate in
place
Add any additional
checklist items
your organization
requires.
Creating winning teams.
Representing Lifecycles
As well as showing you where the
team is the cards can also be used
to create a series of checkpoints to
represent your development
lifecycle and help with governance
and compliance.
Creating winning teams.
Youre all familiar with this kind of thing
Creating winning teams.
Youre all familiar with this kind of thing
Creating winning teams.
or this
Creating winning teams.
KPN New Product Development
Agile in a controlled environment
Creating winning teams.
KPN New Product Development
Agile in a controlled environment
Creating winning teams.
KPN New Product Development
Agile in a controlled environment
Creating winning teams.
KPN New Product Development
Agile in a controlled environment
From signed off documents to
recognized achievements.
Creating winning teams.
Lifecycle Layout
Decision to
Fund
Decision to
Go Live
Decision to
Handover

Creating winning teams.
Lifecycle Layout
Decision to
Fund
Decision to
Go Live
Decision to
Handover
Mandatory
Recommended
/ Optional
Creating winning teams.
Lifecycle Layout
Aligning the states of kernel alphas to create checkpoints
Elaboration
Inception
Transition
Construction
$$
Opportunity Requirements System Team Work Way of Working
Solution Needed
Benefit Accrued
Identified
Bounded
Acceptable
Addressed
Demonstrable
Retired
Seeded
Collaborating
Adjourned
Initiated
Concluded
Prepared
Closed
Principles
Established
Retired
In Use
Operational
Stakeholders
Represented
Satisfied in Use
Recognized
Value
Established
Conceived
Approach
Selected
Formed
Foundation
Established
Started Involved
In Agreement
Fulfilled
Viable Coherent
Approach
Selected
Usable
Under
Control
Performing
In Place
Working Well
Addressed Fulfilled Ready
(Concluded) Working Well Performing
Satisfied for
Deployment
Usable
Exploratory
Creating winning teams.
Lifecycle Layout:
Different Lifecycles for Different Circumstances
Exploratory Standard
Small Enhancements Support
Creating winning teams.
Lifecycle Layout
or in the Alpha State Explorer App
Creating winning teams.
Lifecycle Layout
or in the Alpha State Explorer App
Creating winning teams.
There are particularly four things to remember
1. SEMAT relies on a common ground
or a kernel


1. The kernel includes seven alphas to
be used to measure progress and
health


1. It relies on a simple, intuitive visual
language



2. Software development is played as
serious games
Demonstrabl
e
Usable
Ready
Operational
S
o
f
t
w
a
r
e

S
y
s
t
e
m

Architecture
Selected
Retired
Creating winning teams.
Welcome to the World of Practices
Welcome to the World of Practices
Creating winning teams.
Its A Competitive World

Standing still is
not an option!
Creating winning teams.
There is no one true method










There is no one true way!
Creating winning teams.
In the industry there are 100s of practices
Iterative
Essentials
Scrum
Essentials
Use-Case
Essentials
User
Stories
Architecture
Essentials
Component
Essentials
Test-Driven
Developt
QA
Essentials
Process
Essentials
PSP
Agile
Modeling
Team
Essentials
Unified
Process
Lifecycle
Scrum-of
-Scrums
Use-Cases
for Service
Defn
Model-
Driven
Arch
Comps
for
Re-Use
Practice
Harvesting
Org
Process
Imp
Essential
UML
Distributed
Team
Virtual
Team
Comps
for
.Net
Measuremt
Essentials
T
e
c
h
n
i
c
a
l

p
r
a
c
t
i
c
e
s

S
o
c
i
a
l

a
n
d

o
t
h
e
r

c
r
o
s
s
-
c
u
t
t
i
n
g

p
r
a
c
t
i
c
e
s

Peer Practice Extension Practice Key:




Creating winning teams.
Your way-of-working is just a collection of practices
Iterative
Essentials
Scrum
Essentials
Use-Case
Essentials
User
Stories
Architecture
Essentials
Component
Essentials
Test-Driven
Developt
QA
Essentials
Process
Essentials
PSP
Agile
Modeling
Team
Essentials
Unified
Process
Lifecycle
Scrum-of
-Scrums
Use-Cases
for Service
Defn
Model-
Driven
Arch
Comps
for
Re-Use
Practice
Harvesting
Org
Process
Imp
Essential
UML
Distributed
Team
Virtual
Team
Comps
for
.Net
Measuremt
Essentials




Peer Practice Extension Practice Key:
T
e
c
h
n
i
c
a
l

p
r
a
c
t
i
c
e
s

S
o
c
i
a
l

a
n
d

o
t
h
e
r

c
r
o
s
s
-
c
u
t
t
i
n
g

p
r
a
c
t
i
c
e
s

Creating winning teams.
A Declaration of Practice Independence

We hold these truths to be self-evident, that all
practices are created equal, that they are endowed by
their Creator with certain unalienable Rights, that
among these are life (constant evolution), liberty
(method independence) and the pursuit of excellence.
Creating winning teams.
What is a Practice?
Things to
Work With
Things to
Do
A Practice
Practice: a repeatable approach to doing something with a
specific purpose in mind.
We need to be able to share them and combine them to
create new and innovative ways-of-working.
Other
Resources
Competencies
and Skills
Creating winning teams.
Other Stakeholders
Who are practices for?
Team
Skill Level &
Experience
Beginner
Expert
Creating winning teams.
Focus on the essentials
Use Case 2.0
A simple set of cards and checklists
Creating winning teams.
Understand What to Work With

Creating winning teams.
Understand What to Work With

Creating winning teams.
Understand What to Do
Creating winning teams.
Essentials on the cards but may link to other resources
Hints
& Tips
Common
Mistakes
Review
Guidelines
Books /
References
Templates
Examples
Tools
Creating winning teams.
The Card Experience
Creating winning teams.
We need to be able to select the practices we want
Iterative
Essentials
Scrum
Essentials
Use-Case
Essentials
User
Stories
Architecture
Essentials
Component
Essentials
Test-Driven
Developt
QA
Essentials
Process
Essentials
PSP
Agile
Modeling
Team
Essentials
Unified
Process
Lifecycle
Scrum-of
-Scrums
Use-Cases
for Service
Defn
Model-
Driven
Arch
Comps
for
Re-Use
Practice
Harvesting
Org
Process
Imp
Essential
UML
Distributed
Team
Virtual
Team
Comps
for
.Net
Measuremt
Essentials




Creating winning teams.
and plug them together
Scrum
Essentials
Use-Case
Essentials
Architecture
Essentials
Test-Driven
Developt
Agile
Modeling
Team
Essentials
Use-Cases
for Service
Defn
Essential
UML
Creating winning teams.
Defining the common ground:
The software development kernel
Kernel
Things to do Competencies Things to Work With
Creating winning teams.
Plugging practices into the kernel
Things to Work With
Use Case 2.0
Creating winning teams.
Analyzing and understanding practices
Dhksd
;fk;l
Dhksd
;fk;l
Dhksd
;fk;l
Dhksd
;fk;l
Dhksd
;fk;l
Dhksd
;fk;l
Dhksd
;fk;l
Dhksd
;fk;l
Dhksd
;fk;l
Dhksd
;fk;l
Dhksd
;fk;l
Dhksd
;fk;l
Dhksd
;fk;l
Dhksd
;fk;l
Dhksd
;fk;l
Dhksd
;fk;l
Dhksd
;fk;l
Dhksd
;fk;l
Dhksd
;fk;l
Dhksd
;fk;l
Dhksd
;fk;l
Dhksd
;fk;l
Dhksd
;fk;l
Dhksd
;fk;l
Dhksd
;fk;l
Dhksd
;fk;l
Dhksd
;fk;l
Dhksd
;fk;l
Dhksd
;fk;l
Stakeholders
Opportunity
Requirements
Software
System
Work
Team
Way of
Working
Creating winning teams.
Separation of concerns is key
Specialist business practices that
help the business do the business.
Specialist software development
practices that help software
developers develop good software.
Governance and
management
practices to
guide the work.
Creating winning teams.
Mix and Match Practices to Empower Your Teams
Team A
Team B
Team C
Use Case
Component
Architecture
Iterative
Component
User Story Scrum
up
TDD
Test Driven Development
Use Case
Kanban
Teams build their way-of-
working on top of pre-defined
common ground and in-line with
organizational principles and
policies.
Practices enable teams to work the way that works for them
Creating winning teams.
Practices
Agile building blocks
Project: rulebook - Defined
Project: rulebook - Exploratory
Creating winning teams.
Fujitsu:
Building an Agile ALM
Enabling Fujitsus
industrialised delivery
of application services
Encourages a lean
approach to application
services.
Empowers teams with
tools and practices
Benefits include:
Real-time visibility of
status and progress
Integration of methods
and tools saves time and
cost whilst giving higher
quality and productivity
Creating winning teams.
Fujitsu:
Building an Agile ALM
Enabling Fujitsus
industrialised delivery
of application services
Encourages a lean
approach to application
services.
Empowers teams with
tools and practices
Benefits include:
Real-time visibility of
status and progress
Integration of methods
and tools saves time and
cost whilst giving higher
quality and productivity
Creating winning teams.
Keeping Everyone Happy
Planners
Guardians
Coaches
Doers
Creating winning teams.
Balance
Creating winning teams.
Build and Support Communities
to Enable Teams to Share Practices
Practices
The Practice
Exchange
Coaching Hubs
Delivery Teams
Delivery Teams
Delivery Teams
Actively Support and Connect the Delivery Teams
Creating winning teams.
Enabling a true learning organization
A learning organization is a
group of people who are
continually enhancing their
capabilities to create what
they want to create.
In the long run, the only
sustainable competitive
advantage is your
organizations ability to learn
faster than the competition.
Creating winning teams.
Agenda
SEMAT and Essence
Playing a Serious Game / Welcome to State Club
Declaring Independence / Welcome to the World of Practices
Wrap Up
Creating winning teams.
SEMAT and the Essence OMG Standard
www.semat.org
Kernel and Language for
Software Engineering Methods

SEMAT Vision and Call for Action
Dr Dobbs Journal Dec 2009
The development of the ESSENCE OMG
standard from 2010 to 2014
OMG Standard June 2014:
www.omg.org/spec/Essence/1.0/Beta2/PDF
Creating winning teams.
Keep Learning and Sharing
Find out more about IJI Practices:
www.ivarjacobson.com/Practices/
Find out more about SEMAT:
www.semat.org
Read The Essence book
Creating winning teams.
Keep Learning and Sharing
Get the cards, games & the iOS app at:
www.ivarjacobson.com/alphastatecards/
Join the Alpha State Card Users
Group on LinkedIn
Creating winning teams.
UK Office

+44 (0)1189 001 460
info-eur@ivarjacobson.com
Asia Office

+8610 824 86030
info-asia@ivarjacobson.com
Staying in Touch
Netherlands Office

+31 (0) 20 654 1878
info-nl@ivarjacobson.com
www.ivarjacobson.com
Swedish Office

+46 8 515 10 174
info-sweden@ivarjacobson.com
North America Office

+1 703 338 5421
info-usa@ivarjacobson.com
Creating winning teams.
ivar@ivarjacobson.com
ispence@ivarjacobson.com

Potrebbero piacerti anche