SlideShare a Scribd company logo
Effective Software Development in the 21st Century:    The New Face of Software Engineeri:ng Dr. Alistair Cockburn http://Alistair.Cockburn.us
People ... Solving a problem Creating a solution To an interpreter unforgiving of error Making decisions every decision has economic consequences and resources are limited. …  they don’t understand which keeps changing Communicating Deciding Expressing  ideas in a language  …  they don’t understand which keeps changing …  they don’t understand which keeps changing Inventing
Craft  Cooperative Game Knowledge Acquisition Flow Management Self-Awareness (Personalities) origami courtesy of Gery Derbier
Craft
People learn skills in 3 stages Shu : Learn   a technique Ha : Collect   techniques Ri : Invent / blend   techniques
Craft  teaches us to pay attention to our  skills   and to the  medium Major crafts: 1  Deciding what to build 2  Managing  (people and projects)  3  Modeling 4  Designing the external view 5  Large-scale design  (architecting) 6  Fine-scale design  (programming) 7  Validating the work
The International Consortium for Agile is establishing a learning roadmap for each specialty.
Cooperative Game
Games have  positions, moves, strategies Infinite Organization Survival Career Management Competitive Cooperative Open-ended Jazz music Finite goal-directed King-of-the-hill wrestling Poker Tennis Chess Rock-Climbing Theater Journalism Exploration Software Development Business Product Line Management IT Systems
Three  moves: Invent Communicate Decide Two conflicting  subgoals:   Deliver   this system Set up  for the next game The situations (almost)  never repeat!
Adapt  to your situation C6 C20 C40 C100 D6 D20 D40 D100 E6 E20 E40 E100 L6 L20 L40 L100 Project Classification Scale: Number of people coordinated 1 - 6 - 20 - 40 - 100 Comfort Essential moneys Life Discretionary moneys Criticality X X X X X
Richness of communication channel Communication Effectiveness 2 people  on phone 2 people on chat  (Question-and-Answer) Face-to-face  is the most effective - Try  Video Paper Videotape 2 people at whiteboard (Courtesy of Thoughtworks, inc.) (No Question-Answer)
People  issues determine a project’s speed Can they easily  detect  something needs attention? ( Good at Looking Around ) Will they  care  enough to do something about it? ( Pride-in-work ;  Amicability ) Can they  effectively  pass along the information? ( Proximity ;   face-to-face )
Flow Management
Design = manufacturing if  Inventory  =  Decisions! Users & Sponsors Testers Business Analysts A  decision Programmers Every  line of code is a decision  UI  Designers I wish they’d  decide   what  style   they want! I wish they’d  decide  what  functions  they  want! I wish they’d  decide   on the UI design already! I wish they’d  think a  bit more carefully   before coding!
Reduce  decisions in motion &  balance   the flow Users & Sponsors UI  Designers Programmers Testers Business Analysts Convert  jams Users & Sponsors UI  Designers Programmers Testers Business Analysts   to  continuous flow.
Learn from your  queues   and  backups Enough  Users  & Sponsors Many  Business Analysts Not enough  Programmers Some   Testers Enough  Users  & Sponsors UI Designer A few  Business Analysts Lots of  Programmers Single, solitary   Database designer
Knowledge Acquisition
Big-Bang Design  is a  late-learning  strategy time Growth of knowledge with  big-bang  integration Delivers nearly  no knowledge (or risk reduction) Knowledge comes at the “moment of truth”:  final integration. cost
We can pay to  learn  early in the project time Growth of knowledge with  early, continuous  integration Applies to both business ("lean startups") & technical design Development sequence  indifferent (with respect to knowledge) Delivers knowledge (risk reduction) cost
Develop for  business value  once risks are down time Knowledge growing (risk reduction) cost Business value growing Reduce risks: - Business - Social  - Technical  - Cost / Schedule
Payoff =  Trim-the-Tail:  Deliver by  value   or   date Trim to deliver  on-time (or early) Delay to get more or better
Craft  Professions skills  in a  medium Cooperative Game   communication    teamwork   strategies Knowledge Acquisition pay-to-learn trim-the-tail Flow Management unvalidated  decisions = inventory, lean processes Self-Awareness (Personalities) the people, strategies, techniques  actually used Designing in Teams origami courtesy of Gery Derbier

More Related Content

PPT
Agile Testing. Risks, Uncertainty and Why It All Works
PPTX
Tdd 4 everyone full version
PDF
Agile Testing 20021015
PDF
Design talk
PDF
[XP Day Vietnam 2015] XP is not windows XP
KEY
Elephants In The Meeting Room
PPT
Building Debt Free MVP - Deep Dive
PPT
Geek Night Manchester
Agile Testing. Risks, Uncertainty and Why It All Works
Tdd 4 everyone full version
Agile Testing 20021015
Design talk
[XP Day Vietnam 2015] XP is not windows XP
Elephants In The Meeting Room
Building Debt Free MVP - Deep Dive
Geek Night Manchester

What's hot (20)

PDF
Pair programming demystified
PDF
Agile101 Barcamp
PDF
Scaling Agility Primer - Principles of Scaling Agility v.1
PPT
Building Debt Free MVP
PPT
MVP Building & Testing Your Set of “Must Have” Features
PDF
Richmond Spin - How To Sell A Traditional Client
PDF
Taming Big Balls of Mud with Diligence, Agile Practices, and Hard Work
PPTX
Want better estimation ?
PPTX
Enhance Your Business with Agile Contract & Procurement - Yusuf Kurniawan
PPT
Founder Institute Product Development Workshop
PPTX
Building Lean Products with Distributed Agile Teams - Igor Moochnick at Produ...
PPT
From an Idea to a Product
PPT
What to do once you have an idea
PDF
Agile Architecture
PPTX
Steve mcconnell
PPTX
Testers developers think differently
PPTX
Will Robots Replace Testers?
PPT
Building lean products with distributed agile teams
PPTX
Implementing Dual-Track Agile :: Lessons from the trenches @ITSpring.by May 2019
PPTX
Agile Keynote at PDS Romania
Pair programming demystified
Agile101 Barcamp
Scaling Agility Primer - Principles of Scaling Agility v.1
Building Debt Free MVP
MVP Building & Testing Your Set of “Must Have” Features
Richmond Spin - How To Sell A Traditional Client
Taming Big Balls of Mud with Diligence, Agile Practices, and Hard Work
Want better estimation ?
Enhance Your Business with Agile Contract & Procurement - Yusuf Kurniawan
Founder Institute Product Development Workshop
Building Lean Products with Distributed Agile Teams - Igor Moochnick at Produ...
From an Idea to a Product
What to do once you have an idea
Agile Architecture
Steve mcconnell
Testers developers think differently
Will Robots Replace Testers?
Building lean products with distributed agile teams
Implementing Dual-Track Agile :: Lessons from the trenches @ITSpring.by May 2019
Agile Keynote at PDS Romania
Ad

Viewers also liked (6)

PPTX
Lightening Talk: Software craftsmanship
PPTX
Software Craftsmanship
PPTX
Crafted Design - LJC World Tour Mash Up 2014
PDF
Clean code
ZIP
Introduction to software craftsmanship
PDF
Clean code en pratique
Lightening Talk: Software craftsmanship
Software Craftsmanship
Crafted Design - LJC World Tour Mash Up 2014
Clean code
Introduction to software craftsmanship
Clean code en pratique
Ad

Similar to Effective Software Development in the 21st Century (20)

PDF
Agile Architecture Retrospective
PPTX
The agile vision
PDF
Normalizing agile and lean product development and aim
PDF
Agile values
PPT
Bringing User-Centered Design Practices into Agile Development Projects
PDF
About scrum
PDF
I'm the Business & Agile Was My Idea
PDF
Software development is hard
PDF
Practices of an agile developer
PPTX
Agile thinking
PDF
Going All XP On Your Business
PDF
Going All XP On Your Business
KEY
Agile product development
PDF
Software Craftsmanship: Agile is Not Enough
PDF
Software Craftsmanship: Agile Is Not Enough
PDF
From Waterfall to Agile - from predictive to adaptive methods
PDF
U Xmagic Agile Presentation
PPSX
Agile software development
PPTX
Are You Guessing or Learning? Project Management in Chaotic Times
PPTX
Agile or Irrelevant
Agile Architecture Retrospective
The agile vision
Normalizing agile and lean product development and aim
Agile values
Bringing User-Centered Design Practices into Agile Development Projects
About scrum
I'm the Business & Agile Was My Idea
Software development is hard
Practices of an agile developer
Agile thinking
Going All XP On Your Business
Going All XP On Your Business
Agile product development
Software Craftsmanship: Agile is Not Enough
Software Craftsmanship: Agile Is Not Enough
From Waterfall to Agile - from predictive to adaptive methods
U Xmagic Agile Presentation
Agile software development
Are You Guessing or Learning? Project Management in Chaotic Times
Agile or Irrelevant

More from Agileee (20)

PPTX
Robin Dymond: "Your Brain and Better Product Development"
KEY
Lyssa Adkins & Michael Spayd: The Essential Transformations: How Agile Calls ...
PDF
Piotr Burdylo: Managing developers is complex
PDF
Nick Oostvogels: 5 Arguments Against Kanban
KEY
Anthony Marchenko: Опыт внедрения Kanban
PDF
Nataliya Trenina: Office magic
PDF
Henrik Kniberg: Agile at home
PDF
Henrik Kniberg: Lean from the Trenches keynote @ AgileEE
PDF
Nathaniel Cadwell: The Art of Facilitation
PPTX
Scrum and kanban
PDF
How To Change The World
PDF
The Extreme Decade
PPT
Movivation 3.0
PDF
Myths, Legends and Monsters of Enterprise Agility
PDF
Lightening Talk: Lean start up
PPTX
Lightening Talk: lama sutra of retrospective
PPTX
Lightening Talk: Just do it eng
PPTX
Lightening Talk: Why do they leave
PDF
Lightening Talk: definition of ready
PDF
Coaching creatives
Robin Dymond: "Your Brain and Better Product Development"
Lyssa Adkins & Michael Spayd: The Essential Transformations: How Agile Calls ...
Piotr Burdylo: Managing developers is complex
Nick Oostvogels: 5 Arguments Against Kanban
Anthony Marchenko: Опыт внедрения Kanban
Nataliya Trenina: Office magic
Henrik Kniberg: Agile at home
Henrik Kniberg: Lean from the Trenches keynote @ AgileEE
Nathaniel Cadwell: The Art of Facilitation
Scrum and kanban
How To Change The World
The Extreme Decade
Movivation 3.0
Myths, Legends and Monsters of Enterprise Agility
Lightening Talk: Lean start up
Lightening Talk: lama sutra of retrospective
Lightening Talk: Just do it eng
Lightening Talk: Why do they leave
Lightening Talk: definition of ready
Coaching creatives

Recently uploaded (20)

PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
KodekX | Application Modernization Development
PDF
Network Security Unit 5.pdf for BCA BBA.
PPTX
Cloud computing and distributed systems.
PPTX
Big Data Technologies - Introduction.pptx
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PPT
Teaching material agriculture food technology
DOCX
The AUB Centre for AI in Media Proposal.docx
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Approach and Philosophy of On baking technology
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Review of recent advances in non-invasive hemoglobin estimation
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Chapter 3 Spatial Domain Image Processing.pdf
KodekX | Application Modernization Development
Network Security Unit 5.pdf for BCA BBA.
Cloud computing and distributed systems.
Big Data Technologies - Introduction.pptx
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Teaching material agriculture food technology
The AUB Centre for AI in Media Proposal.docx
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Mobile App Security Testing_ A Comprehensive Guide.pdf
Approach and Philosophy of On baking technology
The Rise and Fall of 3GPP – Time for a Sabbatical?
Dropbox Q2 2025 Financial Results & Investor Presentation
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Reach Out and Touch Someone: Haptics and Empathic Computing
Advanced methodologies resolving dimensionality complications for autism neur...

Effective Software Development in the 21st Century

  • 1. Effective Software Development in the 21st Century: The New Face of Software Engineeri:ng Dr. Alistair Cockburn http://Alistair.Cockburn.us
  • 2. People ... Solving a problem Creating a solution To an interpreter unforgiving of error Making decisions every decision has economic consequences and resources are limited. … they don’t understand which keeps changing Communicating Deciding Expressing ideas in a language … they don’t understand which keeps changing … they don’t understand which keeps changing Inventing
  • 3. Craft Cooperative Game Knowledge Acquisition Flow Management Self-Awareness (Personalities) origami courtesy of Gery Derbier
  • 5. People learn skills in 3 stages Shu : Learn a technique Ha : Collect techniques Ri : Invent / blend techniques
  • 6. Craft teaches us to pay attention to our skills and to the medium Major crafts: 1 Deciding what to build 2 Managing (people and projects) 3 Modeling 4 Designing the external view 5 Large-scale design (architecting) 6 Fine-scale design (programming) 7 Validating the work
  • 7. The International Consortium for Agile is establishing a learning roadmap for each specialty.
  • 9. Games have positions, moves, strategies Infinite Organization Survival Career Management Competitive Cooperative Open-ended Jazz music Finite goal-directed King-of-the-hill wrestling Poker Tennis Chess Rock-Climbing Theater Journalism Exploration Software Development Business Product Line Management IT Systems
  • 10. Three moves: Invent Communicate Decide Two conflicting subgoals: Deliver this system Set up for the next game The situations (almost) never repeat!
  • 11. Adapt to your situation C6 C20 C40 C100 D6 D20 D40 D100 E6 E20 E40 E100 L6 L20 L40 L100 Project Classification Scale: Number of people coordinated 1 - 6 - 20 - 40 - 100 Comfort Essential moneys Life Discretionary moneys Criticality X X X X X
  • 12. Richness of communication channel Communication Effectiveness 2 people on phone 2 people on chat (Question-and-Answer) Face-to-face is the most effective - Try Video Paper Videotape 2 people at whiteboard (Courtesy of Thoughtworks, inc.) (No Question-Answer)
  • 13. People issues determine a project’s speed Can they easily detect something needs attention? ( Good at Looking Around ) Will they care enough to do something about it? ( Pride-in-work ; Amicability ) Can they effectively pass along the information? ( Proximity ; face-to-face )
  • 15. Design = manufacturing if Inventory = Decisions! Users & Sponsors Testers Business Analysts A decision Programmers Every line of code is a decision UI Designers I wish they’d decide what style they want! I wish they’d decide what functions they want! I wish they’d decide on the UI design already! I wish they’d think a bit more carefully before coding!
  • 16. Reduce decisions in motion & balance the flow Users & Sponsors UI Designers Programmers Testers Business Analysts Convert jams Users & Sponsors UI Designers Programmers Testers Business Analysts to continuous flow.
  • 17. Learn from your queues and backups Enough Users & Sponsors Many Business Analysts Not enough Programmers Some Testers Enough Users & Sponsors UI Designer A few Business Analysts Lots of Programmers Single, solitary Database designer
  • 19. Big-Bang Design is a late-learning strategy time Growth of knowledge with big-bang integration Delivers nearly no knowledge (or risk reduction) Knowledge comes at the “moment of truth”: final integration. cost
  • 20. We can pay to learn early in the project time Growth of knowledge with early, continuous integration Applies to both business ("lean startups") & technical design Development sequence indifferent (with respect to knowledge) Delivers knowledge (risk reduction) cost
  • 21. Develop for business value once risks are down time Knowledge growing (risk reduction) cost Business value growing Reduce risks: - Business - Social - Technical - Cost / Schedule
  • 22. Payoff = Trim-the-Tail: Deliver by value or date Trim to deliver on-time (or early) Delay to get more or better
  • 23. Craft Professions skills in a medium Cooperative Game communication teamwork strategies Knowledge Acquisition pay-to-learn trim-the-tail Flow Management unvalidated decisions = inventory, lean processes Self-Awareness (Personalities) the people, strategies, techniques actually used Designing in Teams origami courtesy of Gery Derbier