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

  • 1,154 views
Uploaded on

 

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
1,154
On Slideshare
0
From Embeds
0
Number of Embeds
4

Actions

Shares
Downloads
0
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Anti-IF Campaign:Is Software Evolutionreally effective?Italian Agile DayRoma 19.11.2011Francesco Cirillo • Director, Anti-IF Schoolfrancesco@antiifschool.com • @antiifschool
  • 2. Francesco Cirillo • Director, Anti-IF School Italian Agile Dayfrancesco@antiifschool.com • @antiifschool Roma, 19.11.2011
  • 3. About meFrancesco Cirillo • Director, Anti-IF School Italian Agile Dayfrancesco@antiifschool.com • @antiifschool Roma, 19.11.2011
  • 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. Code Monsters McCabe Index = 300Francesco Cirillo • Director, Anti-IF School Italian Agile Dayfrancesco@antiifschool.com • @antiifschool Roma, 19.11.2011
  • 6. Code Monsters McCabe Index = 300Francesco Cirillo • Director, Anti-IF School Italian Agile Dayfrancesco@antiifschool.com • @antiifschool Roma, 19.11.2011
  • 7. Code Monsters McCabe Index = 300Francesco Cirillo • Director, Anti-IF School Italian Agile Dayfrancesco@antiifschool.com • @antiifschool Roma, 19.11.2011
  • 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. 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. Software DevelopmentFrancesco Cirillo • Director, Anti-IF School Italian Agile Dayfrancesco@antiifschool.com • @antiifschool Roma, 19.11.2011
  • 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. 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. 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. 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. Extension versus ChangeFrancesco Cirillo • Director, Anti-IF School Italian Agile Dayfrancesco@antiifschool.com • @antiifschool Roma, 19.11.2011
  • 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. 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. 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. 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. 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. 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. 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. What is your strategy?Francesco Cirillo • Director, Anti-IF School Italian Agile Dayfrancesco@antiifschool.com • @antiifschool Roma, 19.11.2011
  • 24. 100% Flexible...Francesco Cirillo • Director, Anti-IF School Italian Agile Dayfrancesco@antiifschool.com • @antiifschool Roma, 19.11.2011
  • 25. IF-based evolution strategyFrancesco Cirillo • Director, Anti-IF School Italian Agile Dayfrancesco@antiifschool.com • @antiifschool Roma, 19.11.2011
  • 26. EmergentFrancesco Cirillo • Director, Anti-IF School Italian Agile Dayfrancesco@antiifschool.com • @antiifschool Roma, 19.11.2011
  • 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. What is the most effective TDD?Francesco Cirillo • Director, Anti-IF School Italian Agile Dayfrancesco@antiifschool.com • @antiifschool Roma, 19.11.2011
  • 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. Francesco Cirillo • Director, Anti-IF School Italian Agile Dayfrancesco@antiifschool.com • @antiifschool Roma, 19.11.2011
  • 31. Francesco Cirillo • Director, Anti-IF School Italian Agile Dayfrancesco@antiifschool.com • @antiifschool Roma, 19.11.2011
  • 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. Francesco Cirillo • Director, Anti-IF School Italian Agile Dayfrancesco@antiifschool.com • @antiifschool Roma, 19.11.2011
  • 34. Earnings ROI = CostsFrancesco Cirillo • Director, Anti-IF School Italian Agile Dayfrancesco@antiifschool.com • @antiifschool Roma, 19.11.2011
  • 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. How much does it cost?Francesco Cirillo • Director, Anti-IF School Italian Agile Dayfrancesco@antiifschool.com • @antiifschool Roma, 19.11.2011
  • 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. 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. 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. 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. Pomodoro AppsFrancesco Cirillo • Director, Anti-IF School Italian Agile Dayfrancesco@antiifschool.com • @antiifschool Roma, 19.11.2011
  • 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. 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. Is Software Evolution cost effective? NO!Francesco Cirillo • Director, Anti-IF School Italian Agile Dayfrancesco@antiifschool.com • @antiifschool Roma, 19.11.2011
  • 45. Too costlyFrancesco Cirillo • Director, Anti-IF School Italian Agile Dayfrancesco@antiifschool.com • @antiifschool Roma, 19.11.2011
  • 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. 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. 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. 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. 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. Thanks for listening. Questions?Francesco Cirillo • Director, Anti-IF School Italian Agile Dayfrancesco@antiifschool.com • @antiifschool Roma, 19.11.2011