Upload
joe-kamal-raj
View
215
Download
0
Embed Size (px)
Citation preview
7/31/2019 KEY15 Iva Jacobson(2)
1/51
Software Engineering Method And TheoryA personal perspective
Ivar Jacobson
7/31/2019 KEY15 Iva Jacobson(2)
2/51
The Semat initiative
7/31/2019 KEY15 Iva Jacobson(2)
3/51
As an Industry
Who said that?
Everyone of us knows how todevelop software,
but as an industry we dont know it
We dont have a widely accepted foundation
7/31/2019 KEY15 Iva Jacobson(2)
4/51
A CASE FOR ACTION STATEMENT
Software engineering is gravely hampered today by immaturepractices. Specific problems include:
The prevalence of fads more typical of fashion industry than of anengineering discipline.
The lack of a sound, widely accepted theoretical basis.
The huge number of methods and method variants, with differences littleunderstood and artificially magnified.
The lack of credible experimental evaluation and validation.
The split between industry practice and academic research.
This is unsmart!
7/31/2019 KEY15 Iva Jacobson(2)
5/51
CASE FOR ACTION STATEMENT contd
We support a process to refound software engineering based on asolid 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
This is the Semat initiativeSOFTWARE ENGINEERING METHOD AND THEORY
This is smart!
7/31/2019 KEY15 Iva Jacobson(2)
6/51
Semat is separated into six tracks:
1. Definitions
2. Theory
3. Language
4. Kernel
5. Assessment
6. Requirements
7/31/2019 KEY15 Iva Jacobson(2)
7/51
This talk focus on the Kernel
It draws on my personal experience.
It suggests a goal we need to find.
It shows it can be found.
Reaching the goal, it will have dramatic impact on the whole softwarecommunity
o
the industry,o the developers,
o the academics,
o the educators,
o the methodologists, etc.
Watts Humphrey on the meeting in Zurich March 17-18:
This meeting in Zurich is likely to be an historic occasion
much like the 1968 NATO session in Garmish.
7/31/2019 KEY15 Iva Jacobson(2)
8/51
Agenda
On what went well and what went wrong
Addressing what went wrong1. Practices
2. A new user experience
3. Practices are not dead, they are enacted
4. Result
There must be a kernel
The Semat kernel: track 3 and 4
If successful what impact can we expect?
Wrap up
7/31/2019 KEY15 Iva Jacobson(2)
9/51
What went well and what went wrong
Good
Many proven practices Use-cases (incl test)
Iterations Components
Architecture
Etc.
Supported UML UML replaced all the hundred
modeling languages at the time
Bad
A soup of practices
Too big
People dont read process books
Hard to extend with agile,CMMI, etc.
Adoption extremely hard Process savvy
Revolutionary
Gap between what peoplesaid they did and what theyreally did The Process Gap
Lets be clear, the rise and fall are all about perception.RUP is still very much alive.
The perceivedrise and fall of RUP
7/31/2019 KEY15 Iva Jacobson(2)
10/51
On Processes (or Methods and Methodologies)
Every process tries to be complete
As a consequence every successful process will grow until it dies underits own weight
Every branded process is just a soup of ideas borrowed from other
processes
With some new idea(s)
Every process usually becomes just shelf-ware Law of Nature: People dont read process books
The process is out of sync with what the team does
and the project process gap get wider and wider
The project has to adopt an entire process
No-one uses an entire process or limits themselves to practices fromone process
Some exaggeration
No wonder people dont like process
7/31/2019 KEY15 Iva Jacobson(2)
11/51
We looked for fundamental changes.
Fixing what was Bad
Make practices first classcitizens, and process acomposition of practices
Focus on the essentialsinstead of trying to be
complete Extensions through practices
A new user experience withfocus on developers, not onprocess engineers.
Enact the process
Bad
A soup of practices Too big
People dont read process books
Hard to extend with agile,CMMI, etc.
Adoption extremely hard Process savvy
Revolutionary, not evolutionary
Gap between what peoplesaid they did and what they
really did The Process Gap
We redesigned RUP as EssUP
7/31/2019 KEY15 Iva Jacobson(2)
12/51
Agenda
On what went well and what went wrong
Addressing what went wrong1. Practices
2. A new user experience
3. Practices are not dead, they are enacted
4. Result
There must be a kernel
The Semat kernel: track 3 and 4
If successful what impact can we expect?
Wrap up
7/31/2019 KEY15 Iva Jacobson(2)
13/51
Practices
From the successesin modern software
development
AgileMethods
Camp
The SoftwareEngineering
Camp
ProcessMaturityCamp
In the future, an ever present but
invisible process
We need a newparadigm
Process becomes secondnature
The teams way-of-working isjust a composition of
Practices
Practice is a First Class Citizenthe unit of adoption, planning and execution of process
Unified ProcessExamples: CMMI, Spice XP, Scrum
7/31/2019 KEY15 Iva Jacobson(2)
14/51
The Paradigm Shift: From Processes to Practices
We have always had practices in a loose meaning
After the paradigm shift you can do all kinds of operations on practices
o Separate them, compose them, teach them, execute them
Class-like
elements
Before
Process
Practice
Process is FirstClass Citizen
Practices were non-tangible elements
They were therebut not separablefrom one another
Now
Process is just acomposition ofpractices
Practices are FirstClass Citizens
7/31/2019 KEY15 Iva Jacobson(2)
15/51
We needed a shared definition of practice
Pragmatics
A practice provides a way to systematically address a particular aspectof a process. It is a separate concern of the process.
There are three kinds of practices (at the least):
Peer practices
A practice has a clear beginning and an end allowing it to be
separately applied, examples: Iterative development
Use-case driven development
Project management la Scrum
Extension practices
Use cases for SOA Cross-cutting practices
Team practice incl workshops, self-organizing teams, war room,pair programming, etc.
Process improvement for the essentials of CMMI e.g. metrics.
7/31/2019 KEY15 Iva Jacobson(2)
16/51
A Good Practice is good for the team
Gives a result of observable value to the customer of the team
It is a building block for the team not necessarily for the process engineers. Not too big not too small
It includes its own verification
It is that thing that needs to be made lean
It is that thing for which you want to have metrics
7/31/2019 KEY15 Iva Jacobson(2)
17/51
Agenda
On what went well and what went wrong
Addressing what went wrong1. Practices
2. A new user experience
3. Practices are not dead, they are enacted
4. Result
There must be a kernel
The Semat kernel: track 3 and 4
If successful what impact can we expect?
Wrap up
7/31/2019 KEY15 Iva Jacobson(2)
18/51
Focus on the Essentials
What is Essential?
It is the key things to do and the key things to produce
It is about what is important about these things
It is less than a few percent of what experts know about these things
Law of nature: People dont read process books
It is the placeholders for conversations Law of nature: People figure out the rest themselves
Training helps
It is the base for extensions
Starting with the essentials makes a practiceadoptable.
7/31/2019 KEY15 Iva Jacobson(2)
19/51
How much do you need in your hands?
Reference
books
http://www.amazon.com/gp/product/images/0321321308/ref=dp_image_0/102-2047208-1154549?_encoding=UTF8&n=283155&s=books7/31/2019 KEY15 Iva Jacobson(2)
20/51
Why Cards?
Cards are tactile
Cards are simple and visual Cards use conversational and
personalized style
Cards are not prescriptive so they getthe learner to think more deeply
Cards getand keepthe readers
attention Cards promote agility
They can be written on to make minoradjustments to the practice on the flyEssential Unified Process 3.1 Ivar Jacobson International, 2005 -2007 Use Case Essentials 2.3 / rev. 40
Find Actors and Use Cases
Opportunity Backlog Find actors and use cases to:
Agree on specified system behavior
Establish the system boundary
Scope the system
Agree on the value the system provides
Identify ways of using & testing system
The activity is completed when:
The Use-Case Model: Value Established orbeyond
Use Case Specifications: Briefly Describedor beyond
Supplementary Requirements: Initiated
The activity contributes to achieving: Specified System : Shared Use-Case Module: Scoped
Recommended approaches:
Use-case modeling workshop
Structure the use-case model
Handle changes (to the use-case model)
SpecifiedSystem
Analyst
CustomerRepresentative
Specified System
Use-Case Module
Supplementary Requirements
Use-Case Specification
Use-Case Model
Specify the System
A practice is a set of cards A team works on a set of instance cards
7/31/2019 KEY15 Iva Jacobson(2)
21/51
Agenda
On what went well and what went wrong
Addressing what went wrong1. Practices
2. A new user experience
3. Practices are not dead, they are enacted
4. Result
There must be a kernel The Semat kernel: track 3 and 4
If successful what impact can we expect?
Wrap up
7/31/2019 KEY15 Iva Jacobson(2)
22/51
Practices are enacted
Set UpYour Goals
Things to produce
Get HelpTo ReachYour Goals
Things to do
7/31/2019 KEY15 Iva Jacobson(2)
23/51
Agenda
On what went well and what went wrong
Addressing what went wrong1. Practices
2. A new user experience
3. Practices are not dead, they are enacted
4. Result
There must be a kernel The Semat kernel: track 3 and 4
If successful what impact can we expect?
Wrap up
7/31/2019 KEY15 Iva Jacobson(2)
24/51
Thus we fixed what didnt work
Great, but now more became evident!
TechnicalPractices
Cross-CuttingPractices
Use Case
Process Modeling
ProductArchitecture
$
ComponentIteration
Team
upupUnified Process
Lifecycle
Essential Unified ProcessFixing what was Bad Make practices firstclass citizens
Focus on theessentials
Extensions through
practices A new user
experience withfocus on developers
Enact the processto close the gap
7/31/2019 KEY15 Iva Jacobson(2)
25/51
Agenda
On what went well and what went wrong
Addressing what went wrong1. Practices
2. A new user experience
3. Practices are not dead, they are enacted
4. Result
There must be a kernel The Semat kernel: track 3 and 4
If successful what impact can we expect?
Wrap up
7/31/2019 KEY15 Iva Jacobson(2)
26/51
Hypothesis harvested from the fixing-the-problem work
All methods comprise of a set of things that are always there -documented or not.
We called this set the Kernel.
Every method can then be described as a set of composedpractices using the kernel.
There is a kernel!Many different methods can be built out of
this same kernel.
T if th h th i t t d ll
7/31/2019 KEY15 Iva Jacobson(2)
27/51
To verify the hypothesis we started all over
We called our initiative EssWork (moving beyond EssUP)
The Kernel we harvested is very small, extracted from a large numberof methods
It contains empty slots for things that every process have
Slots for
Competencies, such as analyst, developer, tester
Things to work with, such as backlog, implementation, executablesystem
Things to do, such as implement the system, test the system
The Kernel is practice and of course method agnostic.
Kernel
7/31/2019 KEY15 Iva Jacobson(2)
28/51
The Kernel includes a Meta-Model - an implied language
progresses
>
Alpha
Activity Space
organizes
>
< supports
organizes >
< describes
produces
>
< supports
7/31/2019 KEY15 Iva Jacobson(2)
29/51
The EssWork Kernel
contains empty slots for things that every process have
Kernel
Opportunity
Project
Requirements System
Way ofWorking
Team
$$
Understand theNeed
Ensure StakeholderSatisfaction
Accept theSystem
Specify theSystem
Shape theSystem
ImplementSoftware
Test theSystem
Release theSystem
Establish Project Steer Project Support Team ConcludeProject
Developer
Leadership
CustomerRepresentative
Analyst Tester
Things to Work with Things to Do
Patterns To Apply Competencies
7/31/2019 KEY15 Iva Jacobson(2)
30/51
Practices put the meat (work products) on the bones(alphas)
SpecifiedSystem
Use-CaseModel
User Stories
ProductRequirements
Document
SoftwareRequirements
Document
For example there are many ways to specify the system.
Shared
Correct
Testable
Fulfilled
Stable
Conceived
SpecifiedSystem
SpecifiedSystem
C i Al h d W k P d t
7/31/2019 KEY15 Iva Jacobson(2)
31/51
Comparing Alphas and Work Products
Alphas:
The most important things that allsoftware projects have whether theyexist
Intangible
The things whose progress we want
to understand, monitor, direct andcontrol
Alphas have progress states
State progression meansprogression towards release
Work products:
Used to record informationaboutalphas
Used to understand and assessthe alphas
Can be physical documents,electronic files, models,databases, .xml ....
State progression generallyrepresents more information ordetail
7/31/2019 KEY15 Iva Jacobson(2)
32/51
Things to Work with: Alphas and Work Products
These are the alphas:
7/31/2019 KEY15 Iva Jacobson(2)
33/51
Alpha Relationships
$
Opportunity
Requirements
Team
System
Project
Way ofWorking
can be pursued bydeveloping a solutionthat fulfills the
addressed byproducing a
helps to pursuethe
undertakes the
follows theapplies the
produced and testedby the
delivers working
focuses onpursuing the
real
scope andconstrain the
7/31/2019 KEY15 Iva Jacobson(2)
34/51
Alpha States
7/31/2019 KEY15 Iva Jacobson(2)
35/51
Competency Levels
U i h k l
7/31/2019 KEY15 Iva Jacobson(2)
36/51
Using the kernel
Practice
Each practice contains practice-specifics to add to the kernel.
The kernel definesan empty process
Kernel
Practices slot into the
common kernel.
Way of
Working
Ch b h i b i f h d
7/31/2019 KEY15 Iva Jacobson(2)
37/51
Change starts by harvesting your best practices from your own method
KernelYour Own
Best Practices
+
I h d b ddi h i
7/31/2019 KEY15 Iva Jacobson(2)
38/51
Improve your method by adding other, proven practices
Your Own
Best Practices
Kernel + + Other PracticesFrom Many Sources
Iterative
Component
Architecture
Use Case
Team +++PLA
OK, there is a kernel!Maybe there are many?
But none is widely-accepted!That needs to be changed!
7/31/2019 KEY15 Iva Jacobson(2)
39/51
Agenda
On what went well and what went wrong
Addressing what went wrong1. Practices
2. A new user experience
3. Practices are not dead, they are enacted
4. Result
There must be a kernel The Semat kernel: track 3 and 4
If successful what impact can we expect?
Wrap up
7/31/2019 KEY15 Iva Jacobson(2)
40/51
CASE FOR ACTION 2nd part
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
The Kernel The Kernel Language + The Universals
7/31/2019 KEY15 Iva Jacobson(2)
41/51
The Envisioned Kernel
Methods
Practices Patterns
Universals
Composed of
Defined interms of
The kernel1
2
3
Level
Kernel language
7/31/2019 KEY15 Iva Jacobson(2)
42/51
Agenda
On what went well and what went wrong
Addressing what went wrong1. Practices
2. A new user experience
3. Practices are not dead, they are enacted
4. Result
There must be a kernel The Semat kernel: track 3 and 4
If successful what impact can we expect?
Wrap up
7/31/2019 KEY15 Iva Jacobson(2)
43/51
A recipe for success
Our work needs to be
driven from the demands of the industry/developer community, and enabled and formulated by the research community, and
popularized by the methodologists.
Industry/Developers
Methodologists
Academics
We need a theoretical basis that is widely shared and supported,one that crosses the boundaries between the different softwaredevelopment camps.
This is smart!
7/31/2019 KEY15 Iva Jacobson(2)
44/51
Some challenges addressed by SEMAT
IndustryBig companies havemany processes.Challenges:
-Reuse practices-Reuse training-Reuse of people-Evolutionaryimprovement is hard
DevelopersWant to becomeexperts. Challenges:-Their skills are not
easily transferable to anew product.-Their career pathfollows a zig-zag trackfrom hype to hype.
MethodologistsEvery method is a soup ofpractices. Challenges:-Have to reinvent the
wheel
AcademicsAsked to educate andresearch. Challenges:-The Gap between
research and industry-No widely acceptedtheory-Teaching instances ofmethods doesnt create
generalists
SEMAT can have significant impact on thesoftware community.
Signatories as of March 24, 2010
7/31/2019 KEY15 Iva Jacobson(2)
45/51
g ,
Pekka Abrahamsson,
Scott Ambler, Victor Basili,
Jean Bzivin,
Dines Bjorner,
Barry Boehm,
Alan W. Brown, Larry Constantine,
Bill Curtis,
Donald Firesmith,
Erich Gamma,
Carlo Ghezzi, Tom Gilb,
Ellen Gottesdiener,
Sam Guckenheimer,
David Harel
Brian Henderson-Sellers,
Watts Humphrey, Martin Griss,
Capers Jones,
Ivar Jacobson,
Philippe Kruchten,
Robert Martin, Stephen Mellor,
Bertrand Meyer,
James Odell,
Meilir Page-Jones,
Dieter Rombach, Ken Schwaber,
Alec Sharp,
Richard Soley.
Ed Yourdan
For current list, please see www.semat.org
Signatories as of March 24, 2010
7/31/2019 KEY15 Iva Jacobson(2)
46/51
g
For current list, please see www.semat.org
Agile,Iterative,
RUP,
Computerscience,Metrics,CMMI,
Etc.
Pekka Abrahamsson,
Scott Ambler, Victor Basili,
Jean Bzivin,
Dines Bjorner,
Barry Boehm,
Alan W. Brown, Larry Constantine,
Bill Curtis,
Donald Firesmith,
Erich Gamma,
Carlo Ghezzi, Tom Gilb,
Ellen Gottesdiener,
Sam Guckenheimer,
David Harel
Brian Henderson-Sellers,
Watts Humphrey, Martin Griss,
Capers Jones,
Ivar Jacobson,
Philippe Kruchten,
Robert Martin, Stephen Mellor,
Bertrand Meyer,
James Odell,
Meilir Page-Jones,
Dieter Rombach, Ken Schwaber,
Alec Sharp,
Richard Soley.
Ed Yourdan
7/31/2019 KEY15 Iva Jacobson(2)
47/51
Corporate Signatories as of March 24, 2010
ABB
Ericsson
Fujitsu UK
Microsoft, Spain
SAAB
Samsung SDS
Software Engineering Center -Korea
Telecom Italia
City of Toronto, Ontario
Wellpoint
For current list, please see www.semat.org
7/31/2019 KEY15 Iva Jacobson(2)
48/51
Agenda
On what went well and what went wrong
Addressing what went wrong1. Practices
2. A new user experience
3. Practices are not dead, they are enacted
4. Result
There must be a kernel The Semat kernel: track 3 and 4
If successful what impact can we expect?
Wrap up
7/31/2019 KEY15 Iva Jacobson(2)
49/51
Final Words
This is smart!
Semat is a fundamentally new way to address the needs of
o
the industry, which needs enough governance but not moreo the developers, who need to select the practices they want
o the academics, who need to understand what the industry really needs
o the educators, who need to train software engineering in general and notjust specific methods
o
the methodologists, who want to create new practices without reinventingthe wheel.
Semat will refound software engineering asa mature discipline
7/31/2019 KEY15 Iva Jacobson(2)
50/51
7/31/2019 KEY15 Iva Jacobson(2)
51/51