Rugby - An Agile Process Model Based on Continuous Delivery

Rugby - An Agile Process Model Based on Continuous Delivery

Presentation at RCoSE'14 in Hyderabad, India

7cbae0b6c3348182a2a6968f52b21b89?s=128

Stephan Krusche

June 04, 2014
Tweet

Transcript

  1. Rugby: An Agile Process Model based on Continuous Delivery Stephan

    Krusche, Lukas Alperowitz, Bernd Bruegge and Martin O. Wagner Technische Universität München, Chair for Applied Software Engineering 3 June 2014 RCoSE 2014 1
  2. RCoSE, ICSE’14 - Stephan Krusche, Lukas Alperowitz, Bernd Bruegge, Martin

    O. Wagner - Rugby: An Agile Process Model Based on Continuous Delivery Typical problems in software engineering projects • Requirements are often imprecise and volatile in early phases of a project (especially in innovation projects) • Planning needs a lot of time, if requirements cannot be disambiguated or refined at later stages • Communication between developers and real stakeholders is limited • Feedback can only be gathered after the software was delivered 2
  3. RCoSE, ICSE’14 - Stephan Krusche, Lukas Alperowitz, Bernd Bruegge, Martin

    O. Wagner - Rugby: An Agile Process Model Based on Continuous Delivery How do agile methods handle these problems? (e.g. Scrum) • Requirements can be vague when they are in the Product Backlog, but must be precise when they are in the Sprint Backlog • Software is delivered at the end of the Sprint (potentially shippable product increment) • Limitations: • Requirements on the Sprint Backlog cannot be changed • Sprint Planning can consume a lot of time • Software is delivered at the end of the Sprint 3 2 — 4 Week Sprints
  4. RCoSE, ICSE’14 - Stephan Krusche, Lukas Alperowitz, Bernd Bruegge, Martin

    O. Wagner - Rugby: An Agile Process Model Based on Continuous Delivery Rugby: An extension of Scrum based on Continuous Delivery • Developers can deliver software event-based during the Sprint ➡Obtain important user feedback during the Sprint ➡Decide whether to incorporate the feedback in the Sprint or not • The development team baselines requirements during Sprint Planning ➡Can refine these requirements during the Sprint with user feedback 4
  5. RCoSE, ICSE’14 - Stephan Krusche, Lukas Alperowitz, Bernd Bruegge, Martin

    O. Wagner - Rugby: An Agile Process Model Based on Continuous Delivery Rugby's Lifecycle Model 5 adapted from [6] Version Control Continuous Integration Continuous Delivery Analysis Design Implementation Project Management Release Management Sprint 0 Sprint 1 Sprint 2 … Sprint n Test Requirements Elicitation Feedback Management Time based Release Event based Release
  6. RCoSE, ICSE’14 - Stephan Krusche, Lukas Alperowitz, Bernd Bruegge, Martin

    O. Wagner - Rugby: An Agile Process Model Based on Continuous Delivery Release Management Workflow 6 Version Control Server Developer 1 notify upload build 5 download 6 Issue Tracker notify store feedback as issues 10 release 4 Release
 Manager checkout, compile and test build 2 upload feedback give feedback 9 Continuous Integration Server Continuous Delivery Server 7 Device 8 User inform about build status commit 3 11 adapted from [15]
  7. RCoSE, ICSE’14 - Stephan Krusche, Lukas Alperowitz, Bernd Bruegge, Martin

    O. Wagner - Rugby: An Agile Process Model Based on Continuous Delivery Sprint
 End Event-based Delivery in Rugby 7 master feature branches develop Sprint
 Start Developer Customer User Manager Non-releasable build Releasable build Release Key
  8. RCoSE, ICSE’14 - Stephan Krusche, Lukas Alperowitz, Bernd Bruegge, Martin

    O. Wagner - Rugby: An Agile Process Model Based on Continuous Delivery Feedback Management Workflow 8 Developer User Feedback Management Feedback Provision Development Issue Tracker x R1 R2 F1 F2 F3 R3 F1: Feature Request F2: Bug F3: Design Change put into Product Backlog Release Feedback Key
  9. RCoSE, ICSE’14 - Stephan Krusche, Lukas Alperowitz, Bernd Bruegge, Martin

    O. Wagner - Rugby: An Agile Process Model Based on Continuous Delivery Evaluation 9
  10. RCoSE, ICSE’14 - Stephan Krusche, Lukas Alperowitz, Bernd Bruegge, Martin

    O. Wagner - Rugby: An Agile Process Model Based on Continuous Delivery Research Questions 1) Do the Release Management and Feedback workflows help developers to deliver more often and to obtain more and better feedback? 2) How often do developers deliver builds to users and obtain feedback? 10
  11. RCoSE, ICSE’14 - Stephan Krusche, Lukas Alperowitz, Bernd Bruegge, Martin

    O. Wagner - Rugby: An Agile Process Model Based on Continuous Delivery Evaluation Setup • Two Multi-Customer Courses with 11 projects/teams in university • ~90 developers (30% bachelor, 70% master students) • Three months projects conducted in summer 2012 and summer 2013 • Personal interviews with release managers in 2012 and 2013 • Retrospective with project managers in 2013 • Online questionnaire in 2013 • Sent to all developers • 41 full responses 11
  12. RCoSE, ICSE’14 - Stephan Krusche, Lukas Alperowitz, Bernd Bruegge, Martin

    O. Wagner - Rugby: An Agile Process Model Based on Continuous Delivery Results of the interviews • Developers receive more feedback (quantitative and qualitative) • Releases are used to visualize and explain status • Team meetings • Project management meetings ➡Reduces time for explanation and discussion 12
  13. RCoSE, ICSE’14 - Stephan Krusche, Lukas Alperowitz, Bernd Bruegge, Martin

    O. Wagner - Rugby: An Agile Process Model Based on Continuous Delivery Questionnaire: The Release Management workflow leads to … 13 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% More Releases More Feedback Better Feedback 44% 37% 59% 32% 39% 27% 24% 24% 15% no uncertain yes
  14. RCoSE, ICSE’14 - Stephan Krusche, Lukas Alperowitz, Bernd Bruegge, Martin

    O. Wagner - Rugby: An Agile Process Model Based on Continuous Delivery Average Usage of the Release Management Workflow per Team 14 Version Control Continuous Integration Continuous Delivery 2 500 75,5 56,3 14,8 n/a n/a # Branches # Commits # Builds
 Created # Builds Successful # Builds
 Delivered # Builds Downloaded # Feedback Reports 26 575,4 439,6 413,9 49 126 13,9 + 1200% + 15% + 479% + 639% + 227% 2012 2013
  15. RCoSE, ICSE’14 - Stephan Krusche, Lukas Alperowitz, Bernd Bruegge, Martin

    O. Wagner - Rugby: An Agile Process Model Based on Continuous Delivery Limitations • Evaluation was only done in university projects • Threat: Selection bias in online questionnaire • Answers equally distributed over all teams • At least 3 answers per team 15
  16. RCoSE, ICSE’14 - Stephan Krusche, Lukas Alperowitz, Bernd Bruegge, Martin

    O. Wagner - Rugby: An Agile Process Model Based on Continuous Delivery Summary • Rugby is an agile process model that extends Scrum with • Release Management workflow to support event-based releases • Feedback Management workflow to support user feedback ➡Developers can release software and obtain feedback more often ➡It is the responsibility of the developers how to handle the feedback 16
  17. RCoSE, ICSE’14 - Stephan Krusche, Lukas Alperowitz, Bernd Bruegge, Martin

    O. Wagner - Rugby: An Agile Process Model Based on Continuous Delivery Challenges and Research Directions 1) How much and what kind of feedback should we allow within a Sprint? 2) Can developers resist to include feedback during the current Sprint and postpone it to the next one? 3) How many releases can an end user handle? 4) Can we combine a release with certain questions from the developers? 17
  18. RCoSE, ICSE’14 - Stephan Krusche, Lukas Alperowitz, Bernd Bruegge, Martin

    O. Wagner - Rugby: An Agile Process Model Based on Continuous Delivery References (1) (1) K. Beck, M. Beedle, A. Van Bennekum, A. Cockburn, W. Cunningham, M. Fowler, J. Grenning, J. Highsmith, A. Hunt, R. Jeffries, et al. Manifesto for agile software development. The Agile Alliance, 2001. (2) B. Bruegge and A. H. Dutoit. Object Oriented Software Engineering Using UML, Patterns, and Java (Third Edition). Prentice Hall International, 2009. (3) B. Bruegge, S. Krusche, and M. Wagner. iOS Praktikum, 2012. http://www1.in.tum.de/ios12. (4) B. Bruegge, S. Krusche, and M. Wagner. Teaching Tornado: from communication models to releases. In Proceedings of the 8th edition of the Educators’ Symposium, pages 5–12. ACM, 2012. (5) B. Bruegge, S. Krusche, and M. Wagner. iOS Praktikum, 2013. http://www1.in.tum.de/ios13. (6) V. Driessen. A successful git branching model, 2010. http://nvie.com/posts/a-successful-git-branching-model. (7) M. Fowler. The new methodology. Wuhan University Journal of Natural Sciences, 6(1-2):12–24, 2001. (8) P. Gfader. Use scrum and continuous delivery to build the right thing, 2013. https://www.scrum.org/ Portals/0/ Documents/Community%20Work/Scrum. org%20Whitepaper_Continuous%20Delivery.pdf. (9) E. Hossain, M. A. Babar, and H.-y. Paik. Using scrum in global software development: A systematic literature review. In ICGSE’09, pages 175–184. IEEE, 2009. (10) J. Humble. Devops: A software revolution in the making? Cutter IT Journal, 24(8), 2011. (11) J. Humble and D. Farley. Continuous delivery: reliable software releases through build, test, and deployment automation. Pearson Education, 2010. 18
  19. RCoSE, ICSE’14 - Stephan Krusche, Lukas Alperowitz, Bernd Bruegge, Martin

    O. Wagner - Rugby: An Agile Process Model Based on Continuous Delivery References (2) (12) J. Humble and J. Molesky. Why enterprises must adopt devops to enable continuous delivery. Cutter IT Journal, 24(8): 6, 2011. (13) D. A. Kolb et al. Experiential learning: Experience as the source of learning and development, volume 1. Prentice-Hall Englewood Cliffs, NJ, 1984. (14) P. Kruchten. The rational unified process: an introduction. Addison-Wesley Professional, 2004. (15) S. Krusche and L. Alperowitz. Introduction of Continuous Delivery in Multi-Customer Project Courses. In Proceedings of ICSE’14. IEEE, 2014. (16) W. Maalej, H.-J. Happel, and A. Rashid. When users become collaborators: towards continuous and context-aware user input. In OOPSLA’09, 2009. (17) M. Paasivaara, S. Durasiewicz, and C. Lassenius. Using scrum in distributed agile development: A multiple case study. In ICGSE’09, pages 195–204. IEEE, 2009. (18) D. Pagano and B. Bruegge. User involvement in software evolution practice: a case study. In Proceedings of ICSE’13, pages 953–962. IEEE, 2013. (19) R. B. Rowen. Software project management under incomplete and ambiguous specifications. Engineering Management, IEEE Transactions on, 37(1):10–21, 1990. (20) K. Schwaber and M. Beedle. Agile software development with Scrum. Prentice Hall PTR, 2002. (21) H. Takeuchi and I. Nonaka. The new new product development game. Harvard business review, 64(1):137–146, 1986. 19