philippekruchten...9/30/11 28 other&references& •...
TRANSCRIPT
-
9/30/11
1
The Frog and the Octopus
A Conceptual Model of So=ware Development
Sauder School of Business September 30 2011 Sept. 2011 1 Copyright © 2005-‐11 by Philippe Kruchten
Philippe Kruchten, Ph.D., P.Eng., CSDP Professor of So)ware Engineering NSERC Chair in Design Engineering Department of Electrical and Computer Engineering
University of BriPsh Columbia Vancouver, BC Canada [email protected]
Founder and president Kruchten Engineering Services Ltd Vancouver, BC Canada [email protected]
2
-
9/30/11
2
fable |ˈfābəl| (noun) a short story, typically with animals as characters, conveying a moral. – a story, typically a supernatural one incorporaPng elements of myth and legend.
– myth and legend : the unnatural monsters of fable.
– a false statement or belief.
Sept. 2011 Copyright © 2005-‐11 by Philippe Kruchten 3
Once upon a Cme, a frog and an octopus, Met on a so)ware project, that was deep in the bush. The frog said, “you know, all these projects are the same; Over Cme we fill with our work the gap that we find Between the burgeoning product, and our dreamed intent.”
“Oh, no” objected the octopus, “they cannot be the same; They come in all forms or shapes and sizes and colours, And we cannot use the same tools and techniques Like in the cobbler shop, on size does not fit all.”
Sept. 2011 Copyright © 2005-‐11 by Philippe Kruchten 4
-
9/30/11
3
Outline
• A fable • MoPvaPon • The model • The frog part • The octopus part • Using the model • Further ideas to explore
Copyright © 2005-‐11 by Philippe Kruchten 5 Sept. 2011
“The purpose of science is not to analyze or describe but to make useful models of the world. A model is useful if it allows us to get use out of it.”
Edward de Bono
Sept. 2011 Copyright © 2005-‐11 by Philippe Kruchten 6
-
9/30/11
4
Models of so=ware development
• Waterfall, iteraPve, agile • So=ware process as so=ware • Object-‐oriented models: Objectory, RUP, OMG SPEM, ISO’s
• Catalog: SWEBOK • Input-‐process-‐output paradigm • PMBOK and “thermostat” model
Sept. 2011 Copyright © 2005-‐11 by Philippe Kruchten 7
So=ware development processes (cont.)
• PolarizaPon – Agile vs. rest of the world – Heavyweight vs. lightweight – Formal vs. informal – Old vs. new – Bad vs. good
• Lihle focus on people • “One size fits all”, decontextualizaPon
Sept. 2011 Copyright © 2005-‐11 by Philippe Kruchten 8
-
9/30/11
5
Criteria for a new model
• Encompassing • Unifying • Context-‐sensiPve • Coherent • Complete
Sept. 2011 Copyright © 2005-‐11 by Philippe Kruchten 9
Sept. 2011 Copyright © 2005-‐11 by Philippe Kruchten 10
Frog: “All projects are the same”
Value Value
Cost Cost
-
9/30/11
6
Octopus: “All projects are different!”
Copyright © 2005-‐11 by Philippe Kruchten 11
Context
Size CriPcality
Business model
Stable architecture Team
distribuPon
Governance
Rate of change
Age of the
system
Sept. 2011
Domain, Industry
Corporate & Na9onal Culture
Organiza9onal Maturity
Degree of Innova9on
• A project is all the work that people have to accomplish over 9me to realize in a product some specific intent, at some level of quality, delivering value to the business at a given cost, while resolving many uncertain9es and risk.
• All aspects of so=ware projects are affected by context: size, criPcality, team distribuPon, pre-‐existence of an architecture, governance, business model, which will guide with pracPces will actually perform best, within a certain domain and culture.
Sept. 2011 12 Copyright © 2005-‐11 by Philippe Kruchten
-
9/30/11
7
Outline
• A fable • MoPvaPon • The model • The frog part • The octopus part • Using the model • Further ideas to explore
Copyright © 2005-‐11 by Philippe Kruchten 13 Sept. 2011
A Conceptual Model of So=ware Development
4 key concepts, 3 key ahributes
Intent Product Work People
Time Quality Risk
14 Copyright © 2005-‐11 by Philippe Kruchten Sept. 2011
-
9/30/11
8
Intent, Work, People, Product
15 Copyright © 2005-‐11 by Philippe Kruchten Sept. 2011
Adding Time, Quality & Risk
16 Copyright © 2005-‐11 by Philippe Kruchten Sept. 2011
-
9/30/11
9
17 Copyright © 2005-‐11 by Philippe Kruchten Sept. 2011
SW Dev. Project: Tension between Intent and Product
Intent
Product
Work δV
δT 18 Sept. 2011 Copyright © 2005-‐11 by Philippe Kruchten
-
9/30/11
10
IteraPons
19 Sept. 2011 Copyright © 2005-‐11 by Philippe Kruchten
Value
Cost 20 Sept. 2011 Copyright © 2005-‐11 by Philippe Kruchten
-
9/30/11
11
Sept. 2011 Copyright © 2005-‐11 by Philippe Kruchten 21
Adding Value and Cost
Value Value
Cost Cost
Outline
• A fable • MoPvaPon • The model • The frog part • The octopus part • Using the model • Further ideas to explore
Copyright © 2005-‐11 by Philippe Kruchten 22 Sept. 2011
-
9/30/11
12
Copyright © 2005-‐11 by Philippe Kruchten 23
Context
Size CriPcality
Business model
Stable architecture Team
distribuPon
Governance
Rate of change
Age of the
system
Sept. 2011
Domain, Industry
Corporate & Na9onal Culture
Organiza9onal Maturity
Degree of Innova9on
Type of So=ware Projects
• Commercial, speculaPve vs. contract work • Many instances vs. single few instances • Internal vs. external (acquisiPon) • Greenfield vs. evoluPon or legacy transformaPon
• Single project vs. program or porqolio • Size
• Process: one size does not fit all…!
Sept. 2011 Copyright © 2005-‐11 by Philippe Kruchten
24
-
9/30/11
13
Project Context
Copyright © 2005-‐11 by Philippe Kruchten
• Environmental CondiPons (organizaPon)
Drive/constrain
• Context Ahributes (so=ware project)
SelecPon and adaptaPon
• Good PracPces (actual process)
25 Sept. 2011
Environmental condiPons
• Business domain – E-‐commerce – Manufacturing – AutomoPve – Aerospace
• Number of instances – One, A dozen, Millions,
SaaS,… • Maturity of organizaPon
– Small start up – Mid size so=ware Dev. Co. – Large system integrator +… collecPve experience
Copyright © 2005-‐11 by Philippe Kruchten 26 Sept. 2011
-
9/30/11
14
Environmental condiPons (cont.)
• Level of innovaPon – New product, never been done… or
– Old classic, just beher, faster, larger, …
• Culture – CommunicaPon – Trust – Shared mental models – EducaPon (?)
Sept. 2011 Copyright © 2005-‐11 by Philippe Kruchten 27
In general, environmental condiCons are proper to the organizaCon, and common to several projects
Context ahributes
1. Size 2. CriPcality 3. Age of system 4. Rate of change 5. Business model 6. Stable architecture 7. Team distribuPon 8. Governance
Age of System
Rate of change
Governance
Team Distribu9on
Stable Architecture
Business model
Cri9cality
Size
Context
Copyright © 2005-‐11 by Philippe Kruchten 28
-
9/30/11
15
Environmental drivers Context ahributes
Copyright © 2005-‐11 by Philippe Kruchten
Business domain
Number of instances
Maturity of organizaPon Level of innovaPon
Culture
Size of system
CriPcality Age of system Rate of change
Business model Stable architecture Team distribuPon
Governance
29 Sept. 2011
Context ahributes PracPces/process
Copyright © 2005-‐11 by Philippe Kruchten
Size
CriPcality Age Rate of change
Business model Architecture Team distribuPon
Governance
Select
Good Prac9ces: • Planning • Rate of iteraPon • Release early, o=en • Backlog • ConPnuous integraPon • DocumentaPon • Quality • Risk management • Daily stand-‐up meePng • TDD • Pair programming • “Customer on site” • AdaptaPon … etc.
Adapt
30 Sept. 2011
-
9/30/11
16
1. Size of system
Copyright © 2005-‐11 by Philippe Kruchten
• SLOC, FP • Impacts team size, duraPon…
• Driven by: Business domain • Related to: Legacy, geographic distribuPon, governance
• Affects: IteraPon rate, planning, communicaPon modaliPes, documentaPon, risk management, “customer on site”, etc.
31 Sept. 2011
2. CriPcality
• “So=ware that kills” + Massive losses, damage to environment
• Demonstrably correct • Formal methods • Extensive tesPng • Audited by external agencies
• Driven by: Business domain • Related to: Rate of change • Affects: DocumentaPon, tesPng, inspecPon
Belleville-‐sur-‐Loire, France
Copyright © 2005-‐11 by Philippe Kruchten 32 Sept. 2011
-
9/30/11
17
3. Age of system
Copyright © 2005-‐11 by Philippe Kruchten
Legacy evoluPon Brownfield vs. green field development, maintenance
• Related to: size • Affects: TesPng, (lack of ) documentaPon, architecture
33 Sept. 2011
4. Rate of Change
Copyright © 2005-‐11 by Philippe Kruchten
• AdaptaPon versus anPcipaPon
• External & internal changes – Customer, compePtor, technology, legislators, inside organizaPon, turnover, team evoluPon, maturaPon, …
• Driven by: business domain • Related to: size • Affects: IteraPon length, planning, adaptaPon,…
34 Sept. 2011
-
9/30/11
18
5. Business Model
Copyright © 2005-‐11 by Philippe Kruchten
• Commercial market • Bespoke so=ware • In-‐house development • Open source development • … etc.
• Driven by: Business domain • Related to: Governance • Affects: DocumentaPon, number of instances, “customer on site”, communicaPon, risk management, geographic distribuPon, rate of iteraCon
35 Sept. 2011
6. Architecture stability
Copyright © 2005-‐11 by Philippe Kruchten
• How much of a stable system and so=ware architecture is in place when the project starts?
• Driven by: Level of innovaPon • Related to: Size of system, age of system • Affects: Rate of iteraPon, risk management, tesPng
Logical View Implementa9on View
Process View
Deployment View
Use Case View
36 Sept. 2011
-
9/30/11
19
7. Geographic DistribuPon of the Team
Copyright © 2005-‐11 by Philippe Kruchten
• Seems to make everything a bit harder and more suscepPble to fail
• Driven by: Maturity of organi-‐ zaPon, culture
• Related to: Size, business model
• Affects: CommunicaPon modaliPes, documentaPon, DSM, governance, …
37 Sept. 2011
8. Governance
Copyright © 2005-‐11 by Philippe Kruchten
• Structural: chains of authority, responsibility and communi-‐ caPon to empower the various actors
• Dynamic: measures, control, mechanisms, policies to enable all actors to carry out their respecPve responsibiliPes
Is this “big process” coming by the back door?
Clay Williams, IBM, 2008
38 Sept. 2011
-
9/30/11
20
The agile “sweet spot”
Copyright © 2005-‐11 by Philippe Kruchten
System Size CriPcality
System Age
Rate of change Business model
Stable architecture Team distribuPon
Governance
• 0 ..12 … 300 • Simple, $ losses, … deaths • Exploratory, greenfield, legacy maintenance
• Low, medium, high • In house, Open Source, …. • Stable, changed, new • Collocated, …, …, offshore outsource
• Simple rules, …, SOX, … 39 Sept. 2011
Outline
• A fable • MoPvaPon • The model • The frog part • The octopus part • Using the model • Further ideas to explore
Copyright © 2005-‐11 by Philippe Kruchten 40 Sept. 2011
-
9/30/11
21
“… a model is useful if it allows us to get use out of it.”
Edward de Bono
Sept. 2011 Copyright © 2005-‐11 by Philippe Kruchten 41
Using the model
• Analysis of extant process, pracPces, techniques tools
• Curriculum development (So=ware project management)
• Basis for empirical research on so=ware engineering
• Assessing the state of a so=ware development project (review, audit)
Sept. 2011 Copyright © 2005-‐11 by Philippe Kruchten 42
-
9/30/11
22
PracPce: Daily Stand-‐up MeePng
Sept. 2011 Copyright © 2005-‐11 by Philippe Kruchten 43
Sept. 2011 Copyright © 2005-‐11 by Philippe Kruchten 44
What would Frog say?
Value Value
Cost Cost
-
9/30/11
23
Sept. 2011 Copyright © 2005-‐11 by Philippe Kruchten 45
What would Octopus say?
Copyright © 2005-‐11 by Philippe Kruchten 46
Context
Size CriPcality
Business model
Stable architecture Team
distribuPon
Governance
Rate of change
Age of the
system
Sept. 2011
Domain, Industry
Corporate & Na9onal Culture
Organiza9onal Maturity
Degree of Innova9on
-
9/30/11
24
EECE443/543 Course Outline 1. IntroducPon 2. Conceptual model: the frog
3. Context: the octopus
4. Process & management 5. Managing risk and uncertainty
6. Managing 9me: macro-‐level -‐ lifecycle, esPmaPon
7. Managing 9me: micro-‐level -‐ scheduling
8. Managing quality -‐ metrics
9. Managing objecPves and scope -‐ intent
10. Managing complexity
11. Managing changes 12. Managing so=ware assets 13. Managing so=ware products 14. Managing people: individual
level 15. Managing people: team level 16. Managing external
stakeholders 17. Managing the so=ware
process -‐ work 18. So=ware development
governance 19. Large projects, programs, and
project porqolios 20. Conclusion
June 2011 Copyright © 2011 by Philippe Kruchten 47
Outline
• A fable • MoPvaPon • The model • The frog part • The octopus part • Using the model • Further ideas to explore
Copyright © 2005-‐11 by Philippe Kruchten 48 Sept. 2011
-
9/30/11
25
Future work…
• Refining the core classes • Formalizing the model • Looking at the more dynamic aspects
• Mapping various known processes to the model
• Defining an ontology?
Sept. 2011 Copyright © 2005-‐11 by Philippe Kruchten 49
Sept. 2011 Copyright © 2005-‐11 by Philippe Kruchten 50
-
9/30/11
26
Reconciling PerspecPves
Converging ValidaPng
Reaching out
NegoPaPng Consensus
Bunkering AccepPng
Precedes
Accepted Workproduct
Ar9fact Process
• Cycle Cme • Formality • Scale • CommunicaCon
• Property Transfer
Mismatched Perspec9ves
Workproduct Consensus
Legend:
With Steve Adolph
Summary • A model in two parts:
1. Commonality (frog) 2. Variability (octopus)
• Reasoning about the management of so=ware development projects
• SelecPon of appropriate process: – Lifecycle (Pmeline) – AcPviPes (work) – Roles (people) – ArPfacts, workproducts (product, intent, quality)
• Based on the specific context of that project Sept. 2011 Copyright © 2005-‐11 by Philippe Kruchten 52
-
9/30/11
27
• A project is all the work that people have to accomplish over 9me to realize in a product some specific intent, at some level of quality, delivering value to the business at a given cost, while resolving many uncertain9es and risk.
• All aspects of so=ware projects are affected by context: size, criPcality, team distribuPon, pre-‐existence of an architecture, governance, business model, which will guide with pracPces will actually perform best, within a certain domain and culture.
Sept. 2011 53 Copyright © 2005-‐11 by Philippe Kruchten
Once upon a Cme, a frog and an octopus, Met on a so)ware project, that was deep in the bush. The frog said, “you know, all these projects are the same; Over Cme we fill with our work the gap that we find Between the burgeoning product, and our dreamed intent.”
“Oh, no” objected the octopus, “they cannot be the same; They come in all forms or shapes and sizes and colours, And we cannot use the same tools and techniques Like in the cobbler shop, on size does not fit all.”
Sept. 2011 Copyright © 2005-‐11 by Philippe Kruchten 54
-
9/30/11
28
Other references • Kruchten, P. 2007. Voyage in the Agile Memeplex: Agility, Agilese, AgiliPs, Agilology,
ACM Queue 5 (5), 38-‐44. DOI: 10.1145/1281881.1281893 • Kruchten, P. 2010. Contextualizing Agile So=ware Development. Presented at
EuroSPI 2010. Grenoble, France. PDF at files.me.com/philippe.kruchten/1q00nw • Kruchten, P. 2011a. Experience teaching so=ware project management in
academia and industry. Proceedings of the 24th IEEE-‐CS conference on So=ware Engineering EducaPon & Training (CSEE&T). Honolulu, HI, USA. IEEE CS. DOI: 10.1109/CSEET.2011.5876087
• Kruchten, P. 2011b. The frog and the octopus-‐Experience teaching so=ware project management to undergraduate engineering students. 2nd annual conference of the Canadian Engineering EducaPon AssociaPon. St. John's, NF, Canada.
• Kruchten, P. 2011. The frog and the octopus-‐-‐A model of so=ware development, CSI CommunicaCons 4 (35), 12-‐15.URL:hhp://www.csi-‐india.org/web/csi/ecommunicaPons-‐july2011
• Kruchten, P. 2011d. Contextualizing Agile So=ware Development, Journal of So)ware Maintenance and EvoluCon: Research and PracCce. DOI: DOI: 10.1002/smr.572
• Kruchten, P. (submihed to JSS) The frog and the octopus-‐-‐A conceptual model of so=ware development (That is the paper that was handed at the seminar)
Sept. 2011 Copyright © 2005-‐11 by Philippe Kruchten 55