Managing Requirements in Agile Development - Best Practices for Tool-Based Requirements Management Using Jama

  • 584 views
Uploaded on

Agile software development leverages requirements management (RM) and offers many improvement opportunities for established RM practices. At the same time, agile RM must often be adopted to its …

Agile software development leverages requirements management (RM) and offers many improvement opportunities for established RM practices. At the same time, agile RM must often be adopted to its specific application contexts and be combined with established RM. This is especially true for more complex areas like continuous product development and integrated hardware/software systems.

This presentation provides a brief overview of requirements management in the agile development lifecycle using methods like Scrum, XP, and Kanban. It introduces agile RM practices such as user stories and the Scaled Agile Framework (SAFeTM). Using examples from requirements tool Jama, the presentation illustrates how tool infrastructure can effectively support agile requirements management.

Contents of the presentation are:
- What is agile development? What is agile requirements management?
- Definition and agreement on agile user stories
- Requirements reviews & collaboration
- The interaction of requirements and tests in agile development
- Transition to agile RM

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

Views

Total Views
584
On Slideshare
0
From Embeds
0
Number of Embeds
2

Actions

Shares
Downloads
0
Comments
0
Likes
2

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. Managing Requirements in Agile Development Best Practices for Tool-Based Requirements Management Using Jama Handout Version Dr. Andreas Birk und Gerald Heller, Software.Process.Management July 18, 2014, Webinar of QA Systems Akademie Includes additional notes & comments
  • 2. Agenda What is agile development? – What is agile requirements management (RM)? Agile requirements practices  User stories & more  Requirements collaboration & reviews  From user stories to agile development cycles Agile requirements in product development & for hardware/software systems Transition to agile RM Summary 2July 18, 2014 © 2014, Software.Process.Management
  • 3. What Is Agile Development? 3July 18, 2014 © 2014, Software.Process.Management
  • 4. Agile Methods Lean Scrum FDD DAD XP ASD Crystal Kanban 4July 18, 2014 © 2014, Software.Process.Management Agile development can be characterized by referring to the use of agile methods. Scrum, XP, Lean, and Kanban might be the most well-known. Scrum might be by far the one applied most often. Many organizations use a blend of agile methods.
  • 5. 5July 18, 2014 © 2014, Software.Process.Management The Agile Manifesto summarizes the widely agreed-upon common values of agile development.
  • 6. Scrum Overview (By The Book) Sprint Planning Increment Sprint 1-4 Weeks Agile Iteration Cycle (Sprint) Sprint Review & Retrospective Daily Scrum Sprint Backlog Product Backlog Source:J.Sutherland,K.Schwaber:TheScrumGuide:TheDefinitiveGuidetoScrum:TheRulesof theGame.Srum.org,July2013. 6July 18, 2014 © 2014, Software.Process.Management Scrum illustrates important characteristics of agile development.Backlogs and backlog items define the work to be done Iterative development cycles (Sprints) structure the development work Increments make the work focus on relevant results and help critiquing and improving the work done so far But where are the requirements?! …
  • 7. What Is Agile Requirements Management? 7July 18, 2014 © 2014, Software.Process.Management
  • 8. 8July 18, 2014 © 2014, Software.Process.Management There is no such thing like “Agile RM” … at least, there is no agreed-upon, comprehensive definition of “Agile Requirements Management”
  • 9. Agile RM Is … Agile RM is an evolving collection of practices Every project or organization should adopt its own suitable approach to agile RM However, there are blueprints of recommended agile RM practices Frameworks are available that help setting agile RM practices into context 9July 18, 2014 © 2014, Software.Process.Management Most agile methods have emerged with a focus on implementation. Although agile has made many important contributions to RM, a mature and comprehensive agile RM approach is still lacking.
  • 10. Agile Requirements Frameworks Scaled Agile Framework SAFe (Leffingwell) Scaling Lean & Agile Development LeSS (Larman, Vodde) Disciplined Agile Delivery DAD (Ambler) Discover to Deliver (Gottesdiener) Specification by Example SBE (Adzic, Fowler, and others) Acceptance Test Driven Development ATDD (Gärtner, Koskela, and others) User Stories Applied (Cohn) Use Case 2.0 (Jacobson) Agile Product Canvas (Pichler) Agile Modeling & Agile Documentation (Ambler, Rüping and others) Further information: http://makingofsoftware.com/2014/agile-requirements-frameworks 10July 18, 2014 © 2014, Software.Process.Management Agile requirements frameworks guide the design of your specific agile RM approach. However, they nearly always must be tailored to the situation at hand. SAFe is perhaps the most comprehensive and useful agile RM framework available today You find a brief presentation of the Agile Product Canvas later in this presentation
  • 11. Map of Selected Agile RM Practices User Story Epic Feature Task Work Item ArtifactsGoal & Coordination Artifacts Vision Investment Theme Sprint Goal Story Map Supporting Practices Acceptance Test 3 C‘s Role – Feature – Reason Given – When – Then Definition of Ready INVEST Persona 11July 18, 2014 © 2014, Software.Process.Management Agile RM practices can guide and support requirements activities on an individual activities level User stories are the most important fundamental concept of agile RM
  • 12. Challenges & Gaps of Agile RM Elicit & collect backlog items Organize backlog for multiple teams & on one product Achieve overall product view Organize HW/SW system development Support reuse of products & requirements 12July 18, 2014 © 2014, Software.Process.Management Most available agile RM approaches leave several challenges and gaps when it comes to more complex development tasks or contexts. Be prepared to design and evolve your RM practices in order to deal with such challenges. Below, you find suggestions and recommendations for how you design your agile RM approach in order to master these challenges.
  • 13. Agile Requirements Practices: User Stories & More 13July 18, 2014 © 2014, Software.Process.Management
  • 14. User Story A User Story is a software system requirement formulated as one or two sentences in the everyday or business language of the user  A User Story must be small enough to be completed in one cycle  A User Story is an informal statement of the requirement as long as the correspondence of acceptance testing procedures is lacking 14 Wikipedia July, 2009 cancel reservation As a traveler I want to cancel my reservation cancel reservation (back) □ a premium member can cancel the same day without a fee □ a non-premium member is charged 10% for a cancellation □ an email confirmation is sent out □ the hotel is notified of any cancellation July 18, 2014 © 2014, Software.Process.Management
  • 15. Agile RM - User Story 15July 18, 2014 © 2014, Software.Process.Management This screen shot shows how you can design and structure your user story items in Jama.
  • 16. Extended Agile RM Framework 16 Agile Development Cycles (e.g., according to Scrum or SAFe) Define Project Elicit Requirements Goals Scope Stake- holders Requirements Artifacts & Knowledge Representation Initial Backlog Address requirements activities & information that precede and accompany agile development cycles July 18, 2014 © 2014, Software.Process.Management Many agile methods leave it open how you can gain the initial backlog. We recommend you start using established RM practices. Consider to maintain a continuous requirements base while performing the agile development workflow.
  • 17. Support a Product View Perspective: The Product Canvas Structure 17 Source:RomanPichler,PichlerConsulting,http://www.romanpichler.com/ July 18, 2014 © 2014, Software.Process.Management The Agile Product Canvas provides a structure of early high-level product planning and requirements definition.
  • 18. Structure Agile Projects 18July 18, 2014 © 2014, Software.Process.Management Within an RM tool like Jama, represent each aspect of the Agile Product Canvas by a separate requirements set. You might also define specific item types for individual kinds of requirement, e.g., for personas.
  • 19. Configure Relationships of Requirements 19July 18, 2014 © 2014, Software.Process.Management From Jama version 2014.1 on, you can explicitly define the relationships between requirements item types. This helps maintaining large requirements structures and provides guidance to requirements managers.
  • 20. Requirements Collaboration & Requirements Reviews 20July 18, 2014 © 2014, Software.Process.Management
  • 21. Communicate about Requirements 21July 18, 2014 © 2014, Software.Process.Management Jama offers many collaboration features that facilitate and foster agile communication on requirements.
  • 22. Review Requirements 22July 18, 2014 © 2014, Software.Process.Management Jama’s review functionality is another useful support to agile collaboration within the team and for customer interaction
  • 23. From User Stories to Agile Development Cycles 23July 18, 2014 © 2014, Software.Process.Management
  • 24. Connect Features and User Stories 24July 18, 2014 © 2014, Software.Process.Management In medium to large size agile development, user stories must be assigned to features or epics. Use Jama’s relationships to link these item types with each other. Trace relationships can be visualized in the explorer window, helping to maintain good requirements structure and supporting easy navigation.
  • 25. Cascades of Agile Requirements Backlogs 25 Sprint Backlog (User Stories) Portfolio Backlog Release Backlog Product Backlog Sprint Backlog (Tasks) Let‘s illustrate this in Jama ... July 18, 2014 © 2014, Software.Process.Management Agile development usually requires a cascade of related requirements and tasks backlogs.
  • 26. Agile RM - Sprints 26July 18, 2014 © 2014, Software.Process.Management In Jama, you can organize different kinds of backlogs as separate requirements sets.
  • 27. Agile RM – Release Backlog 27July 18, 2014 © 2014, Software.Process.Management The release can conveniently be defined using Jama’s release concept.
  • 28. Transfer User Stories to Agile Workflow Tool 28 transfer & synchronize user stories Jama offers integrations with specialized agile tools like JIRA Agile Consider to use such integrations in order to blend strong RM support with agile workflow support July 18, 2014 © 2014, Software.Process.Management Often, it can be required to link a requirements tool with a specialized agile workflow tool like JIRA Agile. Jama offers plug-ins for transferring and synchronizing requirements to those other tools.
  • 29. Use Specialized Agile Workflow Support in Conjunction with RM Tool like Jama 29 Image Source: https://www.atlassian.com/software/jira/agile While managing requirements and early phases of the agile workflow in Jama, tools like JIRA Agile provide specific agile development support, e.g., task boards & burndown charts July 18, 2014 © 2014, Software.Process.Management
  • 30. Product Development & Hardware/Software Systems 30July 18, 2014 © 2014, Software.Process.Management In continuous product development or for integrated hardware/software systems, you often need to manage requirements collections for agile as well as for non-agile development.
  • 31. Manage Overall Requirements Collection for Agile & Non-Agile Development 31 Overall system requirements and subsystem-requirements … Hardware requirements: Non-agile workflow Software requirements: Agile workflow Manage all requirements centrally Serve different workflows per subsystem July 18, 2014 © 2014, Software.Process.Management This example shows hot you can structure requirements to serve agile as well as non-agile development.
  • 32. Transition to Agile RM 32July 18, 2014 © 2014, Software.Process.Management How can you transition to agile RM? What principles can guide this transition?
  • 33. Build Your Own Agile RM Practices Start with a basic & simple approach Eliminate impediments while moving forward Use available agile improvement approaches: Daily Scrum, Scrum master, retrospectives etc. 33 Photo:Byedgarator,CreativeCommonsby-na,http://www.flickr.com/photos/edgarator/5848267059/ July 18, 2014 © 2014, Software.Process.Management When moving to agile RM, start simple and gradually evolve your practices.
  • 34. Summary Integrate agile methods with established RM practices Establish strong tool support: RM with/plus Agile Develop your own customized agile RM solution 34July 18, 2014 © 2014, Software.Process.Management
  • 35. Contact 35 Dr. Andreas Birk Software.Process.Management info@swpm.de http://www.swpm.de Blog & Resources http://MakingOfSoftware.com Gerald Heller July 18, 2014 © 2014, Software.Process.Management
  • 36. Further Information Survey of agile requirements management frameworks http://makingofsoftware.com/2014/agile-requirements-frameworks Training der QA-Systems Akademie Requirements-Management in der agilen Software-Entwicklung 6. November 2014, Ludwigsburg bei Stuttgart http://www.qa-systems.de/akademie/einzelansicht.html?tuid=36 36July 18, 2014 © 2014, Software.Process.Management
  • 37. Agile RM D. Leffingwell, Agile software requirements: Lean requirements practices for teams, programs, and the enterprise. Boston, MA: Addison Wesley, 2010. Scaled Agile Framework (SAFe™) website: http://scaledagileframework.com/ M. Cohn, User stories applied: For agile software development. Amsterdam: Addison-Wesley Longman, 2004. July 18, 2014 © 2014, Software.Process.Management 37
  • 38. Agile RM R. Pichler, Agile product management with scrum: Creating products that customers love, 1st Ed. Amsterdam: Addison-Wesley Longman, 2010. July 18, 2014 © 2014, Software.Process.Management 38 J. Bergsmann, Requirements Engineering für die agile Softwareentwicklung: Methoden, Techniken und Strategien. Heidelberg: dpunkt.verlag, 2014.
  • 39. Agile Improvement E. Derby and D. Larsen, Agile retrospectives: Making good teams great. The Pragmatic Programmers, 2006. N. L. Kerth, Project retrospectives: A handbook for team reviews. Sunnyvale, CA: Computer Bookshops, 2001. July 18, 2014 © 2014, Software.Process.Management 39
  • 40. Agile Improvement L. Rising and M. L. Manns, Fearless change: Patterns for introducing new ideas. Amsterdam: Addison-Wesley Longman, 2004. July 18, 2014 © 2014, Software.Process.Management 40