Upgrade to Pro — share decks privately, control downloads, hide ads and more …

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

Stephan Krusche

June 04, 2014
Tweet

More Decks by Stephan Krusche

Other Decks in Research

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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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]

    View Slide

  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

    View Slide

  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

    View Slide

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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide