SlideShare una empresa de Scribd logo
1 de 33
Descargar para leer sin conexión
Prototypes are forever:
Evolving from a prototype
 project to a full-featured
          system


      Alexandre Freire
      Fernando Freire
       Hugo Corbucci
       Mariana Bravo
Introduction


Why should we throw our prototypes
             away?
Introduction


Why is technical debt considered
           harmful?
Context




        +              4 developers
                 80 pair hours per iteration




         =
3 months prototype RCP project
Context

                     and


          +
                   on m4 developers
                 ti e
                        o
               ra 80 pair hours per iteration
              o ad
            pl or
          ex y f
        l: er

           =
       a v
     o o
    G c
     dis
3 months prototype RCP project
Iteration 1 - 25 commits - Jun/2008
Practices


No full test coverage → Only crucial tests
Practices


Invest in Continuous Deployment (hourly builds)
Practices

    “Buggy” software for well-behaved users
                 Client priorization:
●   No corner-cases
●   No validation
●   No verification
●   No exception handling
●   Lots of new features
Iteration 4 - 211 commits - Oct/2008
Ready for demo?
Ready for demo?



     No!
Ready for demo?


Needs text editor
Ready for demo?


   Needs text editor

    Deadline: Dec/2008
Complete focus on the editor
Iteration 6 - 352 commits - Dec/2008
Changing the rules


 Demo cancelled!
Changing the rules


                Demo cancelled!
●   Less pressure → Fight against technical debt
●   January 2009: a whole iteration dedicated to
    refactoring
Changing the rules
●   6 months evolving editor features
●   A complex editor means other less new
    features
    ...
●   Still no demo
Iteration 12 - 937 commits -
          Jun/2009
This is no longer a prototype


            Dedicated study group
            of dramaturgy experts
●   More ideas for new features
●   Investment in UX
This is no longer a prototype


Outsourcing editor so team can focus
          on new features
Tracking Technical Debt
Tracking Technical Debt
Difficulties

     GUI testing


Loss of a team member
Difficulties


Prioritizing integration VS new features
●   Integration with outsource team
●   No steady rhythm
New direction

  “I've invested too much!
  This software is mine.”
New direction

“I've invented something new.”
New direction


         Focus on quality


Aim for complete, bug-free features
Iteration 23 - 2005 commits - now
Conclusion

No need to throw away prototypes:
just write tests for crucial elements
     and refactor mercilessly
Conclusion

Technical debt is acceptable if kept under control
     and software delivers value for client
Conclusion

Throw away if all you wanted was to gain
              knowledge
Questions?


contact@agilbits.com.br

Más contenido relacionado

La actualidad más candente

Role Of Qa And Testing In Agile 1225221397167302 8
Role Of Qa And Testing In Agile 1225221397167302 8Role Of Qa And Testing In Agile 1225221397167302 8
Role Of Qa And Testing In Agile 1225221397167302 8
a34sharm
 
The Holy Trinity of UI Testing by Diego Molina
The Holy Trinity of UI Testing by Diego MolinaThe Holy Trinity of UI Testing by Diego Molina
The Holy Trinity of UI Testing by Diego Molina
Sauce Labs
 

La actualidad más candente (19)

Role Of Qa And Testing In Agile 1225221397167302 8
Role Of Qa And Testing In Agile 1225221397167302 8Role Of Qa And Testing In Agile 1225221397167302 8
Role Of Qa And Testing In Agile 1225221397167302 8
 
FiSTB - agile testing
FiSTB - agile testingFiSTB - agile testing
FiSTB - agile testing
 
O365con14 - take advantage of visual studio to develop apps for sharepoint
O365con14 - take advantage of visual studio to develop apps for sharepointO365con14 - take advantage of visual studio to develop apps for sharepoint
O365con14 - take advantage of visual studio to develop apps for sharepoint
 
Agile testing alliance cp aat highlights 1.2
Agile testing alliance cp aat highlights 1.2Agile testing alliance cp aat highlights 1.2
Agile testing alliance cp aat highlights 1.2
 
Agile Testing Agile Ottawa April 2015
Agile Testing   Agile Ottawa April 2015Agile Testing   Agile Ottawa April 2015
Agile Testing Agile Ottawa April 2015
 
Agile testing presentation
Agile testing presentationAgile testing presentation
Agile testing presentation
 
Introducing QA Into an Agile Environment
Introducing QA Into an Agile EnvironmentIntroducing QA Into an Agile Environment
Introducing QA Into an Agile Environment
 
People factor as failure reason of Agile adoption
People factor as failure reason of Agile adoptionPeople factor as failure reason of Agile adoption
People factor as failure reason of Agile adoption
 
Introduction to Agile Testing
Introduction to Agile TestingIntroduction to Agile Testing
Introduction to Agile Testing
 
РАМЕЛЛА БАСЕНКО «ROI of automation or how to sell your automation ideas to cu...
РАМЕЛЛА БАСЕНКО «ROI of automation or how to sell your automation ideas to cu...РАМЕЛЛА БАСЕНКО «ROI of automation or how to sell your automation ideas to cu...
РАМЕЛЛА БАСЕНКО «ROI of automation or how to sell your automation ideas to cu...
 
Agile Testing
Agile TestingAgile Testing
Agile Testing
 
QA in an Agile World for Agile and Beyond 2015
QA in an Agile World for Agile and Beyond 2015QA in an Agile World for Agile and Beyond 2015
QA in an Agile World for Agile and Beyond 2015
 
War for Agile
War for AgileWar for Agile
War for Agile
 
User story voyage
User story voyageUser story voyage
User story voyage
 
Presentation on Agile Testing
Presentation on Agile TestingPresentation on Agile Testing
Presentation on Agile Testing
 
The Holy Trinity of UI Testing by Diego Molina
The Holy Trinity of UI Testing by Diego MolinaThe Holy Trinity of UI Testing by Diego Molina
The Holy Trinity of UI Testing by Diego Molina
 
Agile vs Iterative vs Waterfall models
Agile vs Iterative vs Waterfall models Agile vs Iterative vs Waterfall models
Agile vs Iterative vs Waterfall models
 
Agile testing
Agile testingAgile testing
Agile testing
 
Cost of defects
Cost of defectsCost of defects
Cost of defects
 

Destacado

Destacado (9)

Eclipse Rich Client Platform - FISL 2009 - PT-BR
Eclipse Rich Client Platform - FISL 2009 - PT-BREclipse Rich Client Platform - FISL 2009 - PT-BR
Eclipse Rich Client Platform - FISL 2009 - PT-BR
 
Agile in FLOSS world - EA 2009 - PT-BR
Agile in FLOSS world - EA 2009 - PT-BRAgile in FLOSS world - EA 2009 - PT-BR
Agile in FLOSS world - EA 2009 - PT-BR
 
Retrospectivas Ágeis - Agile Brazil 2010 - PT-BR
Retrospectivas Ágeis - Agile Brazil 2010 - PT-BRRetrospectivas Ágeis - Agile Brazil 2010 - PT-BR
Retrospectivas Ágeis - Agile Brazil 2010 - PT-BR
 
Coding Dojo - FISL 2009 - PT-BR
Coding Dojo - FISL 2009 - PT-BRCoding Dojo - FISL 2009 - PT-BR
Coding Dojo - FISL 2009 - PT-BR
 
Métodos Ágeis - DataPrev 2009 - PT-BR
Métodos Ágeis - DataPrev 2009 - PT-BRMétodos Ágeis - DataPrev 2009 - PT-BR
Métodos Ágeis - DataPrev 2009 - PT-BR
 
Sistemas sustentáveis
Sistemas sustentáveisSistemas sustentáveis
Sistemas sustentáveis
 
Métodos ágeis em FLOSS - CONSEGI 2011 - PT-BR
Métodos ágeis em FLOSS - CONSEGI 2011 - PT-BRMétodos ágeis em FLOSS - CONSEGI 2011 - PT-BR
Métodos ágeis em FLOSS - CONSEGI 2011 - PT-BR
 
Sistemas Evolutivos ou "pacíficos"
Sistemas Evolutivos ou "pacíficos"Sistemas Evolutivos ou "pacíficos"
Sistemas Evolutivos ou "pacíficos"
 
Lean Lego Game - EA 2009 - PT-BR
Lean Lego Game - EA 2009 - PT-BRLean Lego Game - EA 2009 - PT-BR
Lean Lego Game - EA 2009 - PT-BR
 

Similar a Prototypes are Forever - XP 2010 - EN

ESEconf2011 - Guckenheimer Sam: "Agile in the Very Large"
ESEconf2011 - Guckenheimer Sam: "Agile in the Very Large"ESEconf2011 - Guckenheimer Sam: "Agile in the Very Large"
ESEconf2011 - Guckenheimer Sam: "Agile in the Very Large"
Aberla
 
Agile adoption julen c. mohanty
Agile adoption   julen c. mohantyAgile adoption   julen c. mohanty
Agile adoption julen c. mohanty
Julen Mohanty
 
SudiptoDey_Resume - Copy
SudiptoDey_Resume - CopySudiptoDey_Resume - Copy
SudiptoDey_Resume - Copy
Sudipto Dey
 
CAI - Agile Scrum Development Presentation
CAI - Agile Scrum Development PresentationCAI - Agile Scrum Development Presentation
CAI - Agile Scrum Development Presentation
deyoepw
 

Similar a Prototypes are Forever - XP 2010 - EN (20)

Software Development Methodologies
Software Development Methodologies Software Development Methodologies
Software Development Methodologies
 
Extreme Programming 1st.pdf
Extreme Programming 1st.pdfExtreme Programming 1st.pdf
Extreme Programming 1st.pdf
 
ESEconf2011 - Guckenheimer Sam: "Agile in the Very Large"
ESEconf2011 - Guckenheimer Sam: "Agile in the Very Large"ESEconf2011 - Guckenheimer Sam: "Agile in the Very Large"
ESEconf2011 - Guckenheimer Sam: "Agile in the Very Large"
 
Managing software projects & teams effectively
Managing software projects & teams effectivelyManaging software projects & teams effectively
Managing software projects & teams effectively
 
Agile adoption julen c. mohanty
Agile adoption   julen c. mohantyAgile adoption   julen c. mohanty
Agile adoption julen c. mohanty
 
Agile successful practices
Agile successful practicesAgile successful practices
Agile successful practices
 
MousumiDebnath-Resume
MousumiDebnath-ResumeMousumiDebnath-Resume
MousumiDebnath-Resume
 
Agile Methods and Data Warehousing
Agile Methods and Data WarehousingAgile Methods and Data Warehousing
Agile Methods and Data Warehousing
 
Simona Hera - A Practical Guide for Testers in Agile Teams
Simona Hera - A Practical Guide for Testers in Agile TeamsSimona Hera - A Practical Guide for Testers in Agile Teams
Simona Hera - A Practical Guide for Testers in Agile Teams
 
1803_STAMP_OpenCloudForum2018
1803_STAMP_OpenCloudForum20181803_STAMP_OpenCloudForum2018
1803_STAMP_OpenCloudForum2018
 
Continuous testing in agile projects 2015
Continuous testing in agile projects 2015Continuous testing in agile projects 2015
Continuous testing in agile projects 2015
 
SudiptoDey_Resume - Copy
SudiptoDey_Resume - CopySudiptoDey_Resume - Copy
SudiptoDey_Resume - Copy
 
Building Sustainable Software: An Introduction to Software Engineering
Building Sustainable Software: An Introduction to Software EngineeringBuilding Sustainable Software: An Introduction to Software Engineering
Building Sustainable Software: An Introduction to Software Engineering
 
Testing in a continuous delivery environment
Testing in a continuous delivery environmentTesting in a continuous delivery environment
Testing in a continuous delivery environment
 
How To Transform the Manual Testing Process to Incorporate Test Automation
How To Transform the Manual Testing Process to Incorporate Test AutomationHow To Transform the Manual Testing Process to Incorporate Test Automation
How To Transform the Manual Testing Process to Incorporate Test Automation
 
How BDD enables True CI/CD
How BDD enables True CI/CDHow BDD enables True CI/CD
How BDD enables True CI/CD
 
Manual Software testing - software development life cycle
Manual Software testing - software development life cycleManual Software testing - software development life cycle
Manual Software testing - software development life cycle
 
Software management for tech startups
Software management for tech startupsSoftware management for tech startups
Software management for tech startups
 
CAI - Agile Scrum Development Presentation
CAI - Agile Scrum Development PresentationCAI - Agile Scrum Development Presentation
CAI - Agile Scrum Development Presentation
 
SOFTWARE ENGINEERING
SOFTWARE ENGINEERING  SOFTWARE ENGINEERING
SOFTWARE ENGINEERING
 

Último

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 

Último (20)

Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 

Prototypes are Forever - XP 2010 - EN