More Related Content Similar to Managing Requirements With Distributed Agile Teams (20) Managing Requirements With Distributed Agile Teams2. ©2018 Synerzip2
Challenge
“Software requirements is a communication problem!”
– Mike Cohn (Agile Coach, Mountain Goat Software)
• Need a bridge between people who want things built and those actually building them
• How do we do this effectively when a product owner and the development team have
limited time to interact?
• What level of detail does the remote development team need?
Outcome: Shared understanding of what needs to be built. Clear expectations
for both client and development team before kick-off.
4. ©2018 Synerzip4
Domain Familiarity of Dev Team vs.
Available Requirements Granularity
Domain
Familiarity
Medium
Low
High
Available granularity of requirements
High Medium Low
Vision onlyBDD / ATDD
5. ©2018 Synerzip5
Domain Familiarity vs.
Requirements Granularity - Example
E.g. Online
Auction Platform
E.g. Pharmacy
System
E.g. Mobile
Email Client
User Story w/ clear
Acceptance Criteria
User Story Epic
Domain
Familiarity
High
Low
Requirements
Granularity
High Low
6. ©2018 Synerzip6
Example – Mobile Email Client
As a user, when I get an email notification on my device, I am able to access it
immediately.
Acceptance Criteria:
1. Swiping/tapping notification takes user to message directly
2. View shows conversation - if the new message was a reply, then it is
displayed above the original
3. Message count is updated
4. Message is marked read after it is displayed
7. ©2018 Synerzip7
Example - Online Auction UI
As a bidder, I want items from my search result to be organized by pages, so that I can
navigate easily.
Acceptance Criteria :
1. When search results are more than 20, a new page is displayed for the additional
items.
2. Previous/Next buttons are shown.
3. Page count is displayed.
4. If page count is greater than 3, show links to pages 1, 2 and 3; then ellipses and the
last page number.
5. Allow user to specify the number of results to be displayed per page, for example,
20, 50, 100.
8. ©2018 Synerzip8
Example – Pharmacy System
As a pharmacy technician, I want the ability to update information for a given medication,
so that it is specific to the patient.
9. ©2018 Synerzip9
Factors for Understanding Software
Requirements Better
• Domain / Industry familiarity
• Available granularity of written requirements
• Business requirement / Product vision
• Transparency / collaboration
• User perspective
• Slicing of functionality - vertical or horizontal
10. ©2018 Synerzip10
Fundamentals of Good User Stories for Remote Teams
• Context
• Persona
• Action
• Expected outcome(s)
• Drawing / Picture
INVEST - Independent, Negotiable, Valuable, Estimable, Small, Testable
User Stories by Mike Cohn
https://www.youtube.com/watch?v=6q5-cVeNjCE
11. ©2018 Synerzip11
Big Picture / Story Map
Feature
Epic Epic Epic
Product
Time
Feature Feature Feature Feature Feature
Story
Story
Story
Story
Story
Story Story
Story
Story
Story Story Story
Story
Story
Story Story
Story
Story
Story
Story
Story
Story
Story
Story
Story Story
Story
Sprint N
Sprint N+1
Backlog
http://www.jpattonassociates.com/user-story-mapping/
12. ©2018 Synerzip12
Big picture / Story Map - Example
Notification
Receive Messages Send Messages Multiple Mailboxes
Mobile email client
Time
View Format Spellcheck Gmail Yahoo!
Story
Story
Story
Story
Story
Story Story
Story
Story
Story Story Story
Story
Story
Story Story
Story
Story
Story
Story
Story
Story
Story
Story
Story Story
Story
Sprint N
Sprint N+1
Backlog
http://www.jpattonassociates.com/user-story-mapping/
13. ©2018 Synerzip13
Product Manager, Product Owner Roles
- Same or Different?
Product owner (PO) works closely with development teams—elaborating users’ stories,
managing sprint-level backlogs, expanding specifications, and interpreting product
vision. (S)he address the agile development teams’ intense need for real-time input on
user stories, user experience/user interface, and requirements.
Product manager’s (PM) primary job is to meet existing customers and potential
prospects and deeply understand what they want. A product manager, driven by the
market, determines what goes into the final product, creating a 12-18 month roadmap.
Product owners operating in close alignment with a product manager is a good approach to
ensure product success.
https://pragmaticmarketing.com/resources/articles/the-strategic-role-of-product-management-when-development-goes-agile
14. ©2018 Synerzip14
Typical Distributed Team
● Product Manager, usually located
closer to end customers’ geography
● Product Owner, usually located
closer to the dev team
● Sometimes, Proxy Product Owner
located close to the dev team
● Local dev environment
● Common source code control, issue
tracking system, and all other
infrastructure components on cloud
● If needed, point-to-point VPN
connection between remote sites
15. ©2018 Synerzip15
Process
• Where is the client in the requirements process?
• User Stories with acceptance criteria - does not mean every detail is covered but
story contains basic acceptance criteria
• User Stories – documents what needs to be built but missing acceptance criteria
• Epic – High level description of features or activity
• Determine level of product owner involvement - need for frequent feedback loop
• Understand domain specific assumptions and constraints, for example, PHI data needs
special handling
• Set expectations about how the process is likely to unfold. Daily conversations between
product owner and development team at the beginning of the project tapering down to
1-2 times/week
16. ©2018 Synerzip16
Product Manager (PM) / Product Owner (PO) Model
Dev Only PO + Dev PM + PO + Dev
PM / PO PM Product Vision
Remote Team Role
Client Role
Available Granularity
17. ©2018 Synerzip17
What Synerzip Needs to Provide
- to Complement/Support Client
Medium
Low
High
High Medium Low
Dev + QA
only
Dev + QA +
PO
Dev + QA +
PO + PM
Available Granularity
Domain
Familiarity
18. ©2018 Synerzip18
Prescription for Synerzip Engagements
1. Assess where the client team is on this map
2. Based on that, what product management support Synerzip needs to provide
Medium
Low
High
High Medium Low
Dev + QA
only
Dev + QA +
PO
Dev + QA +
PO + PMDomain
Familiarity
Available Granularity
20. ©2018 Synerzip20
(LF) Example – Epic + Story
• Epic description is available. Example: Edit patient-related information
• Story description, if available, is at a high level
• Developers/QA need a lot of time with PO to understand expectations
• Assumption : Vision is to build the UI and backend for a retail pharmacy
Story:
As Phil, the pharmacy tech, I want the ability to customize prescription drug information
for a patient, so that it is relevant to her/him.
LF – Low Familiarity, MF – Medium Familiarity, HF – High Familiarity
21. ©2018 Synerzip21
(LF) Example – Epic + Story + Acceptance Criteria
• Epic / Feature description is available. Example: Edit patient-related information
• Story description is present but acceptance criteria is not fully fleshed
• Developer/QA need details and clarifications from the PO
• Basic UI design is available
Story:
As Phil, the pharmacy tech, I want the ability to customize prescription drug information
for a patient, so that it is relevant to her/him.
Acceptance Criteria:
Detail 1: I am prompted to fill in mandatory information, such as dosage and timings
Detail 2: I am prompted to fill in optional information
LF – Low Familiarity, MF – Medium Familiarity, HF – High Familiarity
22. ©2018 Synerzip22
(LF) Example – Epic + Story + Acceptance Criteria + UI Design
• Epic / Feature description is available. Example: Edit patient-related information
• Story description and acceptance criteria has both necessary and sufficient details
• Developer/QA needs little (if any) clarifications from the PO
• Refined UI is available
Story:
As Phil, the pharmacy tech, I want the ability to customize prescription drug information
for a patient, so that it is relevant to her/him.
Acceptance Criteria:
Detail 1: I am prompted to fill in mandatory information, such as dosage and timings
Detail 2: Limit is 256 characters, all characters are allowed, including special ones
Detail 3: All text is saved as it is being typed
Note: Multiple stories like the above are needed to complete the epic
LF – Low Familiarity, MF – Medium Familiarity, HF – High Familiarity
23. ©2018 Synerzip23
(MF) Example - Epic + Story
• Epic description is available
• Story description(s), if available, is at a high level
• Developers/QA need a lot of time with PO to understand expectations
• Assumption : Vision is to build a process automation tool UI
Story :
As Maggie, the mortgage loan manager, I want a reporting system, so that I can track
data related to a mortgage application lifecycle.
LF – Low Familiarity, MF – Medium Familiarity, HF – High Familiarity
24. ©2018 Synerzip24
(MF) Example - – Epic + Story + Acceptance Criteria
• Epic / Feature description is available
• Story description is present but acceptance criteria is not fully fleshed
• Developer/QA need details and clarifications from the PO
• Basic UI design is available
Story example:
As Maggie, the mortgage loan manager, I want to know the number of approved
applications per month, so that I can determine if I need to increase/decrease staff.
Acceptance Criteria:
I can view the number of approved, rejected and total applications.
LF – Low Familiarity, MF – Medium Familiarity, HF – High Familiarity
25. ©2018 Synerzip25
(MF) Example - Epic + Story + Acceptance Criteria + UI Design
• Epic / Feature description is available
• Story description and acceptance criteria has both necessary and sufficient details
• Developer/QA needs little (if any) clarifications from the PO
• Refined UI design is available
Story:
As Maggie, the mortgage loan manager, I want to know the number of approved
applications per month, so that I can determine if I need to add more staff.
Acceptance Criteria:
I can view the number of approved, rejected and total applications in a given month.
I can view the data as a pie chart or bar chart.
I can change the period of reporting, example, pick last month instead of current month.
Note: Multiple stories like the above are needed to complete the epic
LF – Low Familiarity, MF – Medium Familiarity, HF – High Familiarity
26. ©2018 Synerzip26
(HF) Example - Epic + Story
• Epic description is available
• Story description(s), if available, is at a high level
• Developers/QA need time with PO to understand expectations
• Assumption : Vision is to manage multiple calendars via one application, which is
accessed via web and mobile clients
Story :
As Olivia, the office manager, I want to view/edit multiple calendars in one application, so
that I can efficiently manage team members’ schedules.
LF – Low Familiarity, MF – Medium Familiarity, HF – High Familiarity
27. ©2018 Synerzip27
(HF) Example - Epic + Story + Acceptance Criteria
• Epic / Feature description is available
• Story description is present but acceptance criteria is not fully fleshed out
• Developer/QA minor clarifications from the PO
• Basic UX design is available
Story:
As Olivia, the office manager, I want to view my team members’ calendars in one
application, so that I can manage the team’s schedule.
Acceptance Criteria:
I can view 5 members’ calendars.
I can view the calendar in day, week or month format.
LF – Low Familiarity, MF – Medium Familiarity, HF – High Familiarity
28. ©2018 Synerzip28
(HF) Example - Epic + Story + Acceptance Criteria
• Epic / Feature description is available
• Story description is present but acceptance criteria is not fully fleshed out
• Developer/QA minor clarifications from the PO
• Basic UX design is available
Story:
As Olivia, the office manager, I want to view my team members’ calendars in one
application, so that I can manage the team’s schedule.
Acceptance Criteria:
I can view 5 members’ calendars.
I can view the calendar in day, week or month format.
LF – Low Familiarity, MF – Medium Familiarity, HF – High Familiarity
29. ©2018 Synerzip29
(HF) Example - Epic + Story + Detailed Acceptance Criteria
• Epic / Feature description is available
• Story description and acceptance criteria has both necessary and sufficient details
• Developer/QA needs little (if any) clarifications from the PO
Story:
As Olivia, the office manager, I want to manage multiple calendars on one screen, so that I
can keep the team calendar up to date.
Acceptance Criteria:
I can add up to 5 people’s calendars by adding their names.
I can edit only 1 member’s calendar at any given time.
Time slots are in increments of 30 minutes.
Team member’s calendar is updated within 10 seconds of my adding an entry to their
calendar.
Note: Multiple stories like the above are needed to complete the epic
LF – Low Familiarity, MF – Medium Familiarity, HF – High Familiarity
31. Your Trusted Agile Software Co-
development Partner
1. Accelerate delivery of your
product/technology roadmap
2. Address technology skills gap in
your inhouse team
3. Save >50% with India based
software development talent
4. Leverage US based professionals
to make it easy for your inhouse
team to collaborate
31
33. Upcoming Webinar
Organizing & Scaling Agile Teams
Wednesday, January 16, 2019
@ 1pm ET | Noon CT | 10am PT
Presentor:
Ron Lichty
Agile Consultant &
Author: Managing the Unmanageable
34. ©2018 Synerzip
Texas
4100 Spring Valley Road
Suite 308
Dallas, TX 75244
Tel: +1.469.374.0500 | Fax: +1.469.322.0490
Silicon Valley
1750 Meridian Avenue
Suite 4105
San Jose, CA 95150
Tel: +1.510.519.9673 | Fax: +1.510.519.9673
India
3rd Floor, Revolution Mall,
Above Big Bazaar, Kothrud,
Pune, India 411 038
Tel: +91.20.67283222 | Fax: +91.20.67283222
sales@synerzip.com