Your SlideShare is downloading. ×
0
Effective Software Development in the 21st Century:    The New Face of Software Engineeri:ng Dr. Alistair Cockburn http://...
People ... Solving a problem Creating a solution To an interpreter unforgiving of error Making decisions every decision ha...
Craft  Cooperative Game Knowledge Acquisition Flow Management Self-Awareness (Personalities) origami courtesy of Gery Derb...
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 <ul><li>Major crafts: </li></ul><ul><li>1  Deciding...
The International Consortium for Agile is establishing a learning roadmap for each specialty.
<ul><li>Cooperative Game </li></ul>
Games have  positions, moves, strategies Infinite Organization Survival Career Management Competitive Cooperative Open-end...
<ul><li>Three  moves: </li></ul><ul><li>Invent </li></ul><ul><li>Communicate </li></ul><ul><li>Decide </li></ul><ul><li>Tw...
Adapt  to your situation C6 C20 C40 C100 D6 D20 D40 D100 E6 E20 E40 E100 L6 L20 L40 L100 Project Classification Scale: Num...
Richness of communication channel Communication Effectiveness 2 people  on phone 2 people on chat  (Question-and-Answer) F...
People  issues determine a project’s speed <ul><li>Can they easily  detect  something needs attention? </li></ul><ul><li>(...
Flow Management
Design = manufacturing if  Inventory  =  Decisions! Users & Sponsors Testers Business Analysts A  decision Programmers Eve...
Reduce  decisions in motion &  balance   the flow Users & Sponsors UI  Designers Programmers Testers Business Analysts Con...
Learn from your  queues   and  backups Enough  Users  & Sponsors Many  Business Analysts Not enough  Programmers Some   Te...
Knowledge Acquisition
Big-Bang Design  is a  late-learning  strategy time Growth of knowledge with  big-bang  integration Delivers nearly  no kn...
We can pay to  learn  early in the project time Growth of knowledge with  early, continuous  integration Applies to both b...
Develop for  business value  once risks are down time Knowledge growing (risk reduction) cost Business value growing Reduc...
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 pa...
Upcoming SlideShare
Loading in...5
×

Effective Software Development in the 21st Century

3,460

Published on

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
3,460
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
38
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Effective Software Development in the 21st Century"

  1. 1. Effective Software Development in the 21st Century: The New Face of Software Engineeri:ng Dr. Alistair Cockburn http://Alistair.Cockburn.us
  2. 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. 3. Craft Cooperative Game Knowledge Acquisition Flow Management Self-Awareness (Personalities) origami courtesy of Gery Derbier
  4. 4. Craft
  5. 5. People learn skills in 3 stages Shu : Learn a technique Ha : Collect techniques Ri : Invent / blend techniques
  6. 6. Craft teaches us to pay attention to our skills and to the medium <ul><li>Major crafts: </li></ul><ul><li>1 Deciding what to build </li></ul><ul><li>2 Managing (people and projects) </li></ul><ul><li>3 Modeling </li></ul><ul><li>4 Designing the external view </li></ul><ul><li>5 Large-scale design (architecting) </li></ul><ul><li>6 Fine-scale design (programming) </li></ul><ul><li>7 Validating the work </li></ul>
  7. 7. The International Consortium for Agile is establishing a learning roadmap for each specialty.
  8. 8. <ul><li>Cooperative Game </li></ul>
  9. 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. 10. <ul><li>Three moves: </li></ul><ul><li>Invent </li></ul><ul><li>Communicate </li></ul><ul><li>Decide </li></ul><ul><li>Two conflicting subgoals: </li></ul><ul><li>Deliver this system </li></ul><ul><li>Set up for the next game </li></ul><ul><li>The situations (almost) never repeat! </li></ul>
  11. 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. 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. 13. People issues determine a project’s speed <ul><li>Can they easily detect something needs attention? </li></ul><ul><li>( Good at Looking Around ) </li></ul><ul><li>Will they care enough to do something about it? </li></ul><ul><li>( Pride-in-work ; Amicability ) </li></ul><ul><li>Can they effectively pass along the information? </li></ul><ul><li>( Proximity ; face-to-face ) </li></ul>
  14. 14. Flow Management
  15. 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. 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. 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
  18. 18. Knowledge Acquisition
  19. 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. 20. We can pay to learn early in the project time Growth of knowledge with early, continuous integration Applies to both business (&quot;lean startups&quot;) & technical design Development sequence indifferent (with respect to knowledge) Delivers knowledge (risk reduction) cost
  21. 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. 22. Payoff = Trim-the-Tail: Deliver by value or date Trim to deliver on-time (or early) Delay to get more or better
  23. 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
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×