Anti-IF Campaign:Is Software Evolutionreally effective?Italian Agile DayRoma 19.11.2011Francesco Cirillo • Director, Anti-I...
Francesco Cirillo • Director, Anti-IF School   Italian Agile Dayfrancesco@antiifschool.com • @antiifschool     Roma, 19.11...
About meFrancesco Cirillo • Director, Anti-IF School   Italian Agile Dayfrancesco@antiifschool.com • @antiifschool     Rom...
The Anti-IF Campaign                   Kent Beck                           Craig Larmanhttp://www.antiifcampaign.com/join-...
Code Monsters                                               McCabe Index = 300Francesco Cirillo • Director, Anti-IF School...
Code Monsters                                               McCabe Index = 300Francesco Cirillo • Director, Anti-IF School...
Code Monsters                                               McCabe Index = 300Francesco Cirillo • Director, Anti-IF School...
Is Software Evolution Really Effective? What does software evolution really mean? How much should effective software evoluti...
Is Software Evolution Really Effective? What does software evolution really mean? How much should effective software evoluti...
Software DevelopmentFrancesco Cirillo • Director, Anti-IF School   Italian Agile Dayfrancesco@antiifschool.com • @antiifsc...
Is this what really happens?                       Not at all! Francesco Cirillo • Director, Anti-IF School   Italian Agil...
Software LifecyclesRequirement 1                                                                          Requirement 1   ...
Software LifecyclesRequirement 1                                                                                          ...
Software LifecyclesRequirement 1                                                                                          ...
Extension versus ChangeFrancesco Cirillo • Director, Anti-IF School   Italian Agile Dayfrancesco@antiifschool.com • @antii...
Software LifecyclesRequirement 1                                                                                          ...
Software LifecyclesRequirement 1         Analysis 1               Architecture NFR 1                                      ...
Software LifecyclesRequirement 1         Analysis 1              [Test + Codi ca + Refactoring] 1                         ...
Software LifecyclesRequirement 1                                                                                          ...
Software Engineering                                               da                                               “Evolu...
Evolution “In biology the term evolution means the gradual and continuous accumulation of modifications over a sufficientl...
Evolutionary process “It is not the strongest of the species that survives, nor the most intelligent that survives.  It is...
What is your strategy?Francesco Cirillo • Director, Anti-IF School   Italian Agile Dayfrancesco@antiifschool.com • @antiif...
100% Flexible...Francesco Cirillo • Director, Anti-IF School   Italian Agile Dayfrancesco@antiifschool.com • @antiifschool...
IF-based evolution strategyFrancesco Cirillo • Director, Anti-IF School   Italian Agile Dayfrancesco@antiifschool.com • @a...
EmergentFrancesco Cirillo • Director, Anti-IF School   Italian Agile Dayfrancesco@antiifschool.com • @antiifschool     Rom...
What kind of TDD do you do?                                                                                  Copyright 200...
What is the most effective TDD?Francesco Cirillo • Director, Anti-IF School   Italian Agile Dayfrancesco@antiifschool.com •...
Evolution & Emergent• These words tell us nothing about what should be     done and what should not be done.• They don’t g...
Francesco Cirillo • Director, Anti-IF School   Italian Agile Dayfrancesco@antiifschool.com • @antiifschool     Roma, 19.11...
Francesco Cirillo • Director, Anti-IF School   Italian Agile Dayfrancesco@antiifschool.com • @antiifschool     Roma, 19.11...
Is Software Evolution Really Effective? What does software evolution really mean?                                     mean ...
Francesco Cirillo • Director, Anti-IF School   Italian Agile Dayfrancesco@antiifschool.com • @antiifschool     Roma, 19.11...
Earnings     ROI =                                                CostsFrancesco Cirillo • Director, Anti-IF School       ...
A good startup shouldnot only generate incomebut also have a teamcapable of wiselyreducing its costs.Francesco Cirillo • D...
How much does it cost?Francesco Cirillo • Director, Anti-IF School   Italian Agile Dayfrancesco@antiifschool.com • @antiif...
How much does...effective Software Evolution cost?Francesco Cirillo • Director, Anti-IF School   Italian Agile Dayfrancesco...
What about adding similar features        Mature Team’s Marginal CostCosts                                                ...
Is this what really happens?                       Not at all! Francesco Cirillo • Director, Anti-IF School   Italian Agil...
Adding new features to our system        Evolutionary Marginal CostsCosts                                                 ...
Pomodoro AppsFrancesco Cirillo • Director, Anti-IF School   Italian Agile Dayfrancesco@antiifschool.com • @antiifschool   ...
Requirements Pomodoro 1.0       Show a      Pomodoro     background Set the timer bypressing a button      Ring after     ...
Lesson #1 Software Evolution costs too much     Francesco: “Would you buy your own software?”      App’s Developer: “NO!”F...
Is Software Evolution                 cost effective?                                               NO!Francesco Cirillo • ...
Too costlyFrancesco Cirillo • Director, Anti-IF School   Italian Agile Dayfrancesco@antiifschool.com • @antiifschool     R...
Lesson #2 Mature teams cost more                                                          20.000 € Recently formed team Ma...
Are you really improving your process          or feeding your Code Monster?           Effectiveness of Investment in Proce...
Would you buy your own software? Software can be built in an evolutionary way. Evolutionary development costs too much. We...
Do you want to be involved? Would you buy your own software? What does the term evolution mean to your team? Would a team ...
Do you want to be involved?  http://www.antiifcampaign.com/2011/11/would-you-buy-your-own-software.htmlFrancesco Cirillo •...
Thanks for listening.     Questions?Francesco Cirillo • Director, Anti-IF School   Italian Agile Dayfrancesco@antiifschool...
Upcoming SlideShare
Loading in...5
×

20111119 Is Software Evolution really effective? @IAD2011 Rome-IT [ENG]

1,218

Published on

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

  • Be the first to like this

No Downloads
Views
Total Views
1,218
On Slideshare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

20111119 Is Software Evolution really effective? @IAD2011 Rome-IT [ENG]

  1. 1. Anti-IF Campaign:Is Software Evolutionreally effective?Italian Agile DayRoma 19.11.2011Francesco Cirillo • Director, Anti-IF Schoolfrancesco@antiifschool.com • @antiifschool
  2. 2. Francesco Cirillo • Director, Anti-IF School Italian Agile Dayfrancesco@antiifschool.com • @antiifschool Roma, 19.11.2011
  3. 3. About meFrancesco Cirillo • Director, Anti-IF School Italian Agile Dayfrancesco@antiifschool.com • @antiifschool Roma, 19.11.2011
  4. 4. The Anti-IF Campaign Kent Beck Craig Larmanhttp://www.antiifcampaign.com/join-the-campaign.html Francesco Cirillo • Director, Anti-IF School Italian Agile Day francesco@antiifschool.com • @antiifschool Roma, 19.11.2011
  5. 5. Code Monsters McCabe Index = 300Francesco Cirillo • Director, Anti-IF School Italian Agile Dayfrancesco@antiifschool.com • @antiifschool Roma, 19.11.2011
  6. 6. Code Monsters McCabe Index = 300Francesco Cirillo • Director, Anti-IF School Italian Agile Dayfrancesco@antiifschool.com • @antiifschool Roma, 19.11.2011
  7. 7. Code Monsters McCabe Index = 300Francesco Cirillo • Director, Anti-IF School Italian Agile Dayfrancesco@antiifschool.com • @antiifschool Roma, 19.11.2011
  8. 8. Is Software Evolution Really Effective? What does software evolution really mean? How much should effective software evolution cost?Francesco Cirillo • Director, Anti-IF School Italian Agile Dayfrancesco@antiifschool.com • @antiifschool Roma, 19.11.2011
  9. 9. Is Software Evolution Really Effective? What does software evolution really mean? How much should effective software evolution cost?Francesco Cirillo • Director, Anti-IF School Italian Agile Dayfrancesco@antiifschool.com • @antiifschool Roma, 19.11.2011
  10. 10. Software DevelopmentFrancesco Cirillo • Director, Anti-IF School Italian Agile Dayfrancesco@antiifschool.com • @antiifschool Roma, 19.11.2011
  11. 11. Is this what really happens? Not at all! Francesco Cirillo • Director, Anti-IF School Italian Agile Day francesco@antiifschool.com • @antiifschool Roma, 19.11.2011
  12. 12. Software LifecyclesRequirement 1 Requirement 1 Architecture NFRRequirement 2 Coding Testing Requirement 2 Analysis Design FRRequirement n Requirement n Francesco Cirillo • Director, Anti-IF School Italian Agile Day francesco@antiifschool.com • @antiifschool Roma, 19.11.2011
  13. 13. Software LifecyclesRequirement 1 Requirement 1 Architecture NFRRequirement 2 Coding IT#1 Testing IT#1 Requirement 2 Analysis Design FRRequirement n Coding IT#2 Testing IT#2 Requirement n Francesco Cirillo • Director, Anti-IF School Italian Agile Day francesco@antiifschool.com • @antiifschool Roma, 19.11.2011
  14. 14. Software LifecyclesRequirement 1 Requirement 1 Architecture NFRRequirement 2 [Testing, Coding, Refactoring] IT#1 Requirement 2 Analysis Design FRRequirement n [Testing, Coding, Refactoring] IT#2 Requirement n Francesco Cirillo • Director, Anti-IF School Italian Agile Day francesco@antiifschool.com • @antiifschool Roma, 19.11.2011
  15. 15. Extension versus ChangeFrancesco Cirillo • Director, Anti-IF School Italian Agile Dayfrancesco@antiifschool.com • @antiifschool Roma, 19.11.2011
  16. 16. Software LifecyclesRequirement 1 Requirement 1 Architecture NFRRequirement 2 [Testing, Coding, Refactoring] IT#1 Requirement 2 Analysis Design FRRequirement n [Testing, Coding, Refactoring] IT#2 Requirement n Francesco Cirillo • Director, Anti-IF School Italian Agile Day francesco@antiifschool.com • @antiifschool Roma, 19.11.2011
  17. 17. Software LifecyclesRequirement 1 Analysis 1 Architecture NFR 1 Coding 1 Testing 1 Requirement 1 Design FR 1Requirement 2 Analysis 2 Architecture NFR 2 Coding 2 Testing 2 Requirement 2 Design FR 2Requirement n Analysis n Architecture NFR n Coding n Testing n Requirement n Design FR n Francesco Cirillo • Director, Anti-IF School Italian Agile Day francesco@antiifschool.com • @antiifschool Roma, 19.11.2011
  18. 18. Software LifecyclesRequirement 1 Analysis 1 [Test + Codi ca + Refactoring] 1 [Test + Codi ca + Refactoring] 1 [Test + Codi ca + Refactoring] 1 Testing 1? Requirement 1 Requirement2 Analysis 2 [Test + Codi ca + Refactoring] 2 [Test + Codi ca + Refactoring] 2 [Test + Codi ca + Refactoring] 2 Testing 2? Requirement 2 Francesco Cirillo • Director, Anti-IF School Italian Agile Day francesco@antiifschool.com • @antiifschool Roma, 19.11.2011
  19. 19. Software LifecyclesRequirement 1 Requirement 1 Architecture NFRRequirement 2 [Testing, Coding, Refactoring] IT#1 Requirement 2 Analysis Design FRRequirement n Requirement 1 Analysis 1 [Test + Codi ca + Refactoring] 1 [Test + Codi ca + Refactoring] 1 [Test + Codi ca + Refactoring] 1 Testing 1? Requirement 1 Francesco Cirillo • Director, Anti-IF School Italian Agile Day francesco@antiifschool.com • @antiifschool Roma, 19.11.2011
  20. 20. Software Engineering da “Evolutionary Biology” Douglas J. Futuyama 1998, pag 653Francesco Cirillo • Director, Anti-IF School Italian Agile Dayfrancesco@antiifschool.com • @antiifschool Roma, 19.11.2011
  21. 21. Evolution “In biology the term evolution means the gradual and continuous accumulation of modifications over a sufficiently long period of time in which significant changes manifest in living organisms”. Source WikipediaFrancesco Cirillo • Director, Anti-IF School Italian Agile Dayfrancesco@antiifschool.com • @antiifschool Roma, 19.11.2011
  22. 22. Evolutionary process “It is not the strongest of the species that survives, nor the most intelligent that survives. It is the one that is the most adaptable to change.” Charles DarwinFrancesco Cirillo • Director, Anti-IF School Italian Agile Dayfrancesco@antiifschool.com • @antiifschool Roma, 19.11.2011
  23. 23. What is your strategy?Francesco Cirillo • Director, Anti-IF School Italian Agile Dayfrancesco@antiifschool.com • @antiifschool Roma, 19.11.2011
  24. 24. 100% Flexible...Francesco Cirillo • Director, Anti-IF School Italian Agile Dayfrancesco@antiifschool.com • @antiifschool Roma, 19.11.2011
  25. 25. IF-based evolution strategyFrancesco Cirillo • Director, Anti-IF School Italian Agile Dayfrancesco@antiifschool.com • @antiifschool Roma, 19.11.2011
  26. 26. EmergentFrancesco Cirillo • Director, Anti-IF School Italian Agile Dayfrancesco@antiifschool.com • @antiifschool Roma, 19.11.2011
  27. 27. What kind of TDD do you do? Copyright 200-2006 Scott. W. Ambler Add a test [Pass] Run the tests Make a little change [Pass, Development [Fail] continues] Run the tests [Pass, Development stops]Francesco Cirillo • Director, Anti-IF School Italian Agile Dayfrancesco@antiifschool.com • @antiifschool Roma, 19.11.2011
  28. 28. What is the most effective TDD?Francesco Cirillo • Director, Anti-IF School Italian Agile Dayfrancesco@antiifschool.com • @antiifschool Roma, 19.11.2011
  29. 29. Evolution & Emergent• These words tell us nothing about what should be done and what should not be done.• They don’t give you a test as to when to do something or how to do it.• They don’t say anything about how that continuous accumulation of modi cations should happen.• They just say that your software can be called evolutionary because it derives from a continuous accumulation of modi cations.Francesco Cirillo • Director, Anti-IF School Italian Agile Dayfrancesco@antiifschool.com • @antiifschool Roma, 19.11.2011
  30. 30. Francesco Cirillo • Director, Anti-IF School Italian Agile Dayfrancesco@antiifschool.com • @antiifschool Roma, 19.11.2011
  31. 31. Francesco Cirillo • Director, Anti-IF School Italian Agile Dayfrancesco@antiifschool.com • @antiifschool Roma, 19.11.2011
  32. 32. Is Software Evolution Really Effective? What does software evolution really mean? mean How much should effective software evolution cost?Francesco Cirillo • Director, Anti-IF School Italian Agile Dayfrancesco@antiifschool.com • @antiifschool Roma, 19.11.2011
  33. 33. Francesco Cirillo • Director, Anti-IF School Italian Agile Dayfrancesco@antiifschool.com • @antiifschool Roma, 19.11.2011
  34. 34. Earnings ROI = CostsFrancesco Cirillo • Director, Anti-IF School Italian Agile Dayfrancesco@antiifschool.com • @antiifschool Roma, 19.11.2011
  35. 35. A good startup shouldnot only generate incomebut also have a teamcapable of wiselyreducing its costs.Francesco Cirillo • Director, Anti-IF School Italian Agile Dayfrancesco@antiifschool.com • @antiifschool Roma, 19.11.2011
  36. 36. How much does it cost?Francesco Cirillo • Director, Anti-IF School Italian Agile Dayfrancesco@antiifschool.com • @antiifschool Roma, 19.11.2011
  37. 37. How much does...effective Software Evolution cost?Francesco Cirillo • Director, Anti-IF School Italian Agile Dayfrancesco@antiifschool.com • @antiifschool Roma, 19.11.2011
  38. 38. What about adding similar features Mature Team’s Marginal CostCosts Mature Team’s Evolutionary Marginal Cost For Similar Features Time Francesco Cirillo • Director, Anti-IF School XPDays Germany francesco@antiifschool.com • @antiifschool Karlsruhe, 17.11.2011
  39. 39. Is this what really happens? Not at all! Francesco Cirillo • Director, Anti-IF School Italian Agile Day francesco@antiifschool.com • @antiifschool Roma, 19.11.2011
  40. 40. Adding new features to our system Evolutionary Marginal CostsCosts Effective Evolutionary Marginal Costs Time Francesco Cirillo • Director, Anti-IF School Italian Agile Day francesco@antiifschool.com • @antiifschool Roma, 19.11.2011
  41. 41. Pomodoro AppsFrancesco Cirillo • Director, Anti-IF School Italian Agile Dayfrancesco@antiifschool.com • @antiifschool Roma, 19.11.2011
  42. 42. Requirements Pomodoro 1.0 Show a Pomodoro background Set the timer bypressing a button Ring after Total cost: 10.000 € 25 minutes Francesco Cirillo • Director, Anti-IF School Italian Agile Day francesco@antiifschool.com • @antiifschool Roma, 19.11.2011
  43. 43. Lesson #1 Software Evolution costs too much Francesco: “Would you buy your own software?” App’s Developer: “NO!”Francesco Cirillo • Director, Anti-IF School Italian Agile Dayfrancesco@antiifschool.com • @antiifschool Roma, 19.11.2011
  44. 44. Is Software Evolution cost effective? NO!Francesco Cirillo • Director, Anti-IF School Italian Agile Dayfrancesco@antiifschool.com • @antiifschool Roma, 19.11.2011
  45. 45. Too costlyFrancesco Cirillo • Director, Anti-IF School Italian Agile Dayfrancesco@antiifschool.com • @antiifschool Roma, 19.11.2011
  46. 46. Lesson #2 Mature teams cost more 20.000 € Recently formed team Mature team 10.000 €Francesco Cirillo • Director, Anti-IF School Italian Agile Dayfrancesco@antiifschool.com • @antiifschool Roma, 19.11.2011
  47. 47. Are you really improving your process or feeding your Code Monster? Effectiveness of Investment in Process ImprovementQuality Effort spent on Process Improvement Perceived internal quality of software Time Francesco Cirillo • Director, Anti-IF School Italian Agile Day francesco@antiifschool.com • @antiifschool Roma, 19.11.2011
  48. 48. Would you buy your own software? Software can be built in an evolutionary way. Evolutionary development costs too much. We are not conscious enough of the strategies.Francesco Cirillo • Director, Anti-IF School XPDays Germanyfrancesco@antiifschool.com • @antiifschool Karlsruhe, 17.11.2011
  49. 49. Do you want to be involved? Would you buy your own software? What does the term evolution mean to your team? Would a team less “mature” than yours have lower costs? Consider you have to introduce a second feature that is similar to something you’ve already done. Does it cost less than the rst time you did it? Why? http://www.antiifcampaign.com/2011/11/would-you-buy-your-own-software.htmlFrancesco Cirillo • Director, Anti-IF School XPDays Germanyfrancesco@antiifschool.com • @antiifschool Karlsruhe, 17.11.2011
  50. 50. Do you want to be involved? http://www.antiifcampaign.com/2011/11/would-you-buy-your-own-software.htmlFrancesco Cirillo • Director, Anti-IF School XPDays Germanyfrancesco@antiifschool.com • @antiifschool Karlsruhe, 17.11.2011
  51. 51. Thanks for listening. Questions?Francesco Cirillo • Director, Anti-IF School Italian Agile Dayfrancesco@antiifschool.com • @antiifschool Roma, 19.11.2011

×