Essence
Ivar Jacobson with Ian Spence and Pan Wei Ng
Copyright © 2013 Ivar Jacobson International SA. All rights reserved
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
Page 2
What is SEMAT?
Let’s wait a little by getting into what it is Let’s instead start by saying • It doesn’t compete with any method – agile or pre-agile • Instead it powers other methods/practices – agile or pre-agile
DSDM Unified Process Prince Use Cases 2.0 User Stories
Scrum Architecture
Disciplined Agile Delivery System of Systems Scaled Agile Framework
Powered By
Page 3
There are particularly three things that are new with SEMAT
1. SEMAT relies on a common ground or a kernel
2. The kernel is actionable
Software System
Architecture Selected
Demonstrable
Usable
Ready
Operational
Retired
3. It relies on an intuitive graphical syntax
Page 4
There are particularly three things that are new with SEMAT
1. SEMAT relies on a common ground or a kernel
2. The kernel is actionable
Software System
Architecture Selected
Demonstrable
Usable
Ready
Operational
Retired
3. It relies on an intuitive graphical syntax
Page 5
A Specific Problem: We have no Common Ground
We don’t lack methods or practices Everyone of us knows how to develop our own software, but as a community we have no Six Sigma widely accepted common ground
Pair Programming
ATDD Kanban
Waterfall
CMMI SAFe
Spiral
Use Cases
PRINCE2
User Stories
Page 6
SEMAT advocates a Common Ground/a Kernel
Use Cases
Pair Programming
ATDD
CMMI
Scrum
User Stories Common Ground – The Kernel
SEMAT provides a common ground/a kernel on top of which more specialised practices/methods can stand
Page 7
Copyright © 2013 Ivar Jacobson International SA. All rights reserved
SEMAT started to find a Common Ground – a Kernel
• At the heart of the the SEMAT approach is the Kernel • A simple state-driven model of software development • Things that are universal to all software development endeavors.
Page 8
On top of the Kernel …
• Practices can be added to create your specific Way of Working. • Practices such as Scrum, User Stories, Test-Driven Development, etc. • But that is not the subject of today.
Practices
Page 9
The Kernel and its Alphas
Customer
identifies
Opportunity
focuses
Stakeholder
uses and consumes
Solution
set up to address
Requirements
scopes and constrains
fulfills
nge s
supports
Software System
a Upd
a tes
ha nd c
produces
Endeavor
Work
performs and plans
Team
Way of Working
Page 10
There are particularly three things that are new with SEMAT
1. SEMAT relies on a common ground or a kernel
2. The kernel is actionable
Software System
Architecture Selected
Demonstrable
Usable
Ready
Operational
Retired
3. It relies on an intuitive graphical syntax
Page 11
The Kernel is more than a static model – it is actionable
Customer
identifies
Opportunity
focuses
Stakeholder
uses and consumes
Solution
set up to address
Requirements
scopes and constrains
fulfills
nge s
supports
Software System
a Upd
a tes
ha nd c
produces
Endeavor
Work
performs and plans
Team
Way of Working
Page 12
The alphas have states and checklists
Customer
identifies
Opportunity
Stakeholder
uses and consumes
Architecture Selected
focuses
addresses the key technical risks and any constraints
Solution
set up to address
Software System
Requirements
scopes and constrains
proves architecture, concept and supports testing Demonstrable fulfills Software
supports
System
Usable Ready
a Upd a tes
demonstrates quality characteristics required es ang h c nd
accepted for operational deployment
produces
Endeavor
Work Operational
performs and plans
in use in an operational environment
Team
Retired
no longer supported
Way of Working
Page 13
Software Development is a multi-dimensional Endeavor
Every Alpha represents one dimension
http://sematacc.meteor.com/
Page 14
There are particularly three things that are new with SEMAT
1. SEMAT relies on a common ground or a kernel
2. The kernel is actionable
Software System
Architecture Selected
Demonstrable
Usable
Ready
Operational
Retired
3. It relies on an intuitive graphical syntax
Page 15
Essence made tangible with well-formed graphics
c a r d s & c h e c k l i s ts
Page 16
Play the Games
• You can play many games
Progress Poker Chase the State Objective Go Checkpoint Construction Lifecycle Layout Milestone Mapping Health Monitoring And more……
• http://www.ivarjacobson.com/alphastatecards/
Page 17
Plan: Determine Current State
All Alpha States Lined Up
e b o t n o o s p p A e l b a l i a av
Page 18
Plan: Determine Current State
All Alpha States Lined Up
Page 19
Checkpoints for an example state
Page 20
Plan: Determine Current State
Achieved States
Pending States
Page 21
Plan: Determine Next State
Achieved States
Next States to Achieve
Pending States
Page 22
Plan: Determine How to Achieve Next State
Next States to Achieve
Page 23
Plan: Determine How to Achieve Next State
Next States to Achieve
Page 24
Plan: Determine How to Achieve Next State
Next States to Achieve
Page 25
Plan: Determine How to Achieve Next State
Next States to Achieve
Page 26
Applying the Essence
Helping Agile Teams
And Agile Organizations
Page 27
Applying the Essence
Helping Agile Teams
And Agile Organizations
Page 28
Taking a holistic approach and exploiting the common ground
Reprinted by permission of Cecile Peraire, CMU West
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.
Page 29
Avoiding Problems • Detect systemic problems early & take appropriate action
Getting Started
Understanding where you are
• What’s already been achieved? • What are the risks?
In Action:
• An internal coach in a large telecom product company.
Benefits:
• Detected risks in working with stakeholders.
Page 30
Scaling Up
Scaling Up
• How to help large development team collaborate
In Action:
• Large development involving offshore members (50+200) developers
30+100
Even More Feature Team
Benefits:
• Cards facilitate describing new way of working • Cards help new (feature) team leaders guide members
20+50
More Feature Team
10+20 8
OffShore Induction Learn, Demo
Core Patterns & Practices
Page 31
The Kernel provides a shared frame of reference
Use Case
Architecture
Offshore Product Development
Lean
Offshore
Consumer Product Development
Scrum User Story
The Kernel Lean
Acceptance Test Driven
Use Case
Scrum
Internet Development
Many Ways of Working on the same kernel.
Page 32
SEMAT for Agile Teams - Summary
• Understand where you area and where you are going
– Understand what needs to be addressed – Holistically track progress and health – Keep projects in balance and avoid catastrophic failures – Form good sprint goals and other objectives – Bring people together
• Learn and share your way of development
– Share and compare practices – Build effective ways of working – Define practice independent checkpoints, and lifecycles
The Value of Essence
Page 33
Applying the Essence
Helping Agile Teams
And Agile Organizations
Page 34
There are several case studies
• KPN, a large telecom operator relying on outsourcing • Fujitsu UK • Munich Re, a large insurance company working all around the world
Page 35
Munich Re: A common model and an individual way-of-working
The challenge
• Globally distributed Application Dev’t • High-levels of outsourcing & off-shoring • Service organization
The solution
• Agile starter packs • Practice Exchange • Governance as a first class citizen
Page 36
MunichRe: A common procedural model and an individual way-of-working
The challenge
• Globally distributed Application Dev’t • High-levels of outsourcing & off-shoring • Service organization
The solution
• Agile starter packs • Practice Exchange • Governance as a first class citizen
Page 37
SEMAT for Agile Organizations - Summary
• Define practice independent governance procedures and quality gates. • More readily and easily form teams and mobilize teams of teams. • Scale agile approaches across teams of teams and systems of systems. • Select enterprise level tooling.
Page 38
In a Nut Shell – what SEMAT will change
Industry
Professionals Executives
Want to become experts. Challenges: - Their skills are not easily reusable for a new product. - Their career path follows a zig-zag track from hype to hype. Big companies have many methods. Challenges: - Reuse practices - Reuse training - “Reuse” of people - Evolutionary improvement is hard
Academics
Education
- Teaching instances of methods such as Scrum, RUP, instead of common base; doesn’t create generalists
Research
- The Gap between research and industry - No widely accepted theory
SEMAT targets the whole software community.
Page 39
Conclusion: SEMAT and Agile Perfect Partners
Page 40
Get the cards and play the games
http://www.ivarjacobson.com/alphastatecards/
c a r d s g a m es & ch eck l i s ts
• • •
Join the community and get involved Become a supporter. Go to www.semat.org Or read the book
Page 41
www.ivarjacobson.com
Page 42
Questions
• Email -
[email protected] • OMG website - www.omg.org • SEMAT website - www.semat.org
Page 43