Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

The importance of early testing and automation

1,558 views

Published on

Early testing is a must, aligned with the Agile concept of quick feedback as well as teamwork. Test automation is also key for saving money and allowing continuous deployment, but needs to be started based on some criteria.

Published in: Technology
  • Be the first to comment

The importance of early testing and automation

  1. 1. V 1.0 1 16th Agile Meetup The importance of early testing and automation V 1.0
  2. 2. V 1.0 2  Xavier Albaladejo is Agile-Lean Coach of organizational transformation and member of everis Agile Excellence Center. He helps large organizations to bring more value, faster and efficiently, using Agile and Lean principles.  Xavier Albaladejo coordinates a Postgraduate on Agile methods in La Salle, he is Certified Scrum Practitioner, founder of proyectosagiles.org, Agile Barcelona and member of Agile Spain Board of Directors. AGILE EXCELLENCE CENTER IT Government – Technology BU PMA Postgrado en Métodos Ágiles Speaker Bio & Company Information
  3. 3. V 1.0 • Waterfall • Agile • Early testing - first steps • Testing automation • Questions Agenda 3
  4. 4. V 1.0 4 Waterfall
  5. 5. V 1.0 5 Familiar ? Req. Analysis Design Programming Testing UAT
  6. 6. V 1.0 Waterfall 6 Feedback based on paper, not on the real product Waterfall approach It is the first time where you see/touch the final product Req. Analysis Design Programming Testing UAT
  7. 7. V 1.0 Waterfall 7 FRIGHT Best situation … Waterfall approach Req. Analysis Design Programming Testing UAT
  8. 8. V 1.0 Waterfall 8 FRIGHTDEATH Worst situation … Waterfall approach Req. Analysis Design Programming Testing UAT
  9. 9. V 1.0 Waterfall Waterfall approach 9 FRIGHTDEATH Req. Analysis Design Programming Testing UAT And you know that this can be even worse
  10. 10. V 1.0 Waterfall Req. Analysis Design Initial plan Programming 10 Testing The sad reality Req. Analysis Design Programming Cumulated delays UAT We’re late!! UAT It is normal that the testing phase (as the end development process) will be the one that will suffer the most
  11. 11. V 1.0 Waterfall Req. Analysis Design Initial plan Programming The sad reality Req. Analysis Design Programming Cumulated delays 11 Testing UAT We’re late!! UAT Teamwork
  12. 12. V 1.0 Waterfall Req. Analysis Design Initial plan Programming The sad reality Req. Analysis Design Programming Cumulated delays 12 Testing UAT We’re late!! UAT What about predictability? How many “testing iterations” in the end you will need? What about latency due to waiting in Programming and Testing “teams"
  13. 13. V 1.0 Waterfall Waterfall approach 13 FRIGHTDEATH Waterfall approach has these problems ”by design” Req. Analysis Design Programming Testing UAT We need another way of working based on early testing
  14. 14. V 1.0 14 ¿Agile?
  15. 15. V 1.0 Agile is… 15 teamwork Thinking together
  16. 16. V 1.0 Agile is… 16 teamwork Thinking together Diverse perspectives Synergies Better solutions!
  17. 17. V 1.0 Agile is… 17 teamwork Concurrent engineering Requirements & test cases Programming & testing … & Ready to ship Continuously working together Short feedback loops between program- mers and testers All specialists integrated, not phased
  18. 18. V 1.0 Please, tell me that you’re not doing waterfall inside your Sprints
  19. 19. V 1.0 Agile is… 19 Early testing! Are we developing with the appropriate quality? Let’s know it from the beginning, from the first small chunk! quick feedback
  20. 20. V 1.0 Agile is… 20 Find and fix ASAP! quick feedback Avoid spreading errors Devs remember how they just have programed it Still there aren’t new layers of software on top (faster fixing, and not patching)
  21. 21. V 1.0 Early testing first steps
  22. 22. V 1.0 Acceptance criteria 22 Face to face “conversations” with stakeholders and end users when gathering requirements Reduction of bugs due to requirements “Card” “Confirmation”  Clarification  Disambiguation  Hypothesis reduction  Fixing target for programming
  23. 23. V 1.0 Acceptance criteria 23 Third factor of productivity and success  1 Person capability 2 Team cohesion 3 Technical / product simplicity http://www.slideshare.net/xalbaladejo/en-cas2013-agile-lean- organization-and-productivity-improvement-frameworkv30 Promotes KISS, YAGNI, avoids over-engineering by programming only the minimum needed to pass the acceptance criteria
  24. 24. V 1.0 24 Testing Automation
  25. 25. V 1.0 If something is good, do it always, continuously 25 Testing automation  Quicker feedback of regression, faster quality cycles Nightly Hours Minutes  Flexibility to changes, to modify and refactoring without fear (iterative development). It supports:  Emergent architecture.  Continuous deployment.  Running documentation, executable specs, using domain language.
  26. 26. V 1.0 Automation investment 26 Costs of automation? What criteria for automation do you have?
  27. 27. V 1.0 Automation investment 27 Some criteria: Reducing development costs Keeping incomes and end-user experience  Business impact, not loosing money (sales, image, security)  Repetitive testing (parts of the system where there is recurrent re-programming).  Logic complexity (high number of test cases that can be parameterized).
  28. 28. V 1.0 28 Automate using criteria for no loosing or saving money. To achieve concurrent engineering, you need to work continuously as a real team, integrating clients, programmers and testers. BTW, regularly reflect on how to improve all together!!  Automation supports iterative development and continuous deployment. Summary Early testing, acceptance criteria and fixing asap saves money, speeds up development, and increases predictability.

×