Presented at AgileDC conference on Sept 23, 2019. Described how a Business Analyst fits into Product Development when the team is using the Agile Methodology
4. Agile Manifesto
Individuals and
interactions
over Process and tools
Working software over Comprehensive documentation
Customer collaboration over Contract negotiation
Responding to change over Following a plan
While there is value in the items on the right, we
value the items on the left more.
http://agilemanifesto.org/
product
5. Agile Software / Product Development
Principles
https://www.visual-paradigm.com/scrum/agile-manifesto-and-agile-principles/
6. excella.com | @excellaco
3 Amigos and the Team
I’m a BA Girl in an Agile World
Life is tri-tastic, it’s fantastic!
7. excella.com | @excellaco
• 3 Varying Perspectives
• Example: Product Owner, Developer, Tester
• “Developer” meant “Development Team”
• BA is part of the Team
Who are the 3 Amigos?
Credit: George Dinwiddie, Bob Payne
13. excella.com | @excellaco
• Processes
• Comprehensive documentation
• Contract negotiations (change requests)
• Following a plan
This is how we control projects….
Traditional IT Project Management
14. excella.com | @excellaco
Waterfall Process
“I believe in this concept,
but the implementation described
above is risky and invites failure”
– Dr. Winston Royce
Managing the Development of Large Software Systems, Winston Royce (1970)
Requirements
Design
Develop
Test
Deploy
16. excella.com | @excellaco
Enables change
by defining needs
and recommending solutions
that deliver value
Defines and validates solutions
that meet business
needs, goals or objectives
Definition of Business Analysis
23. excella.com | @excellaco
Analysis at Every Horizon
Product Vision
RoadmapDay
Sprint…
…
…
Plan
Day
Day
Daily Scrum
Review
Retro
Sprint
Plan
Review
Retro
Idea
Initiation Release
Plan
Release Release
Plan
Plan
Time
24. excella.com | @excellaco
• Product Backlog Refinement – grooming stories
• Sprint Planning – what can we deliver with our
capacity, generate sprint backlog
• Daily Standups – status and collaboration
• Sprint Reviews – deliver often, adapt to changes
• Retrospectives – continuous improvement, every
sprint end
Scrum Framework – Events
25. excella.com | @excellaco
Progressive Elaboration of Stories
Ready Now – Product Backlog Items
Some Elaboration - Requirements
Early Ideas - Needs
28. excella.com | @excellaco
Simple, clear, short description of customer valued
functionality
3Cs - Card, Conversation, Confirmation
• Written description used for planning
• Conversation to flesh out details
• Tests to determine completeness
Representation rather than documentation
What’s a User Story?
32. excella.com | @excellaco
Help define when Done
Manage expectations
May Lead to new
requirements
Must be:
• Objective
• Measurable
• Tangible
Story - Acceptance Criteria
• Floor has a shine
• Minimal scratches
• Deep color
Initial Ideas
33. excella.com | @excellaco
Help define when Done
Manage expectations
May Lead to new
requirements
Must be:
• Objective
• Measurable
• Tangible
Story - Acceptance Criteria
• Brown
• Maple Rio 5 inch sq
• No scratches > than 1in
• No more than 1 scratch
per sq foot
Refined Story
34. excella.com | @excellaco
Story Requirements
Spike Research, Hypotheses
Bug Production Issues
What else?
Types of Requirements
35. excella.com | @excellaco
Value Statement => Role, Objective, Value
Write from user’s perspective
• What is the user’s goal for the story
• What is the user’s value from the story
Avoid using generic “as a user” or “as a customer”
Value Statement
As a <your role / who>
I want <objective / what>
so that <value / why>
36. excella.com | @excellaco
• BDD – Behavior Driven Development
• The intended behavior
Given < situation >
When < action >
Then < expected result >
Acceptance Criteria
Credit: George Dinwiddie 2013
38. excella.com | @excellaco
Value Statement:
As an online shopper,
I want to search for products
so that I can view and order them
Example: Amazon
AC:
Given I am on a product page
When I enter the search term “Barbie”
Then I expect to see a list of Barbie dolls and
accessories
39. excella.com | @excellaco
As a busy professional person on travel,
I want to watch movies while connected or disconnect
from the Internet
so that I can watch my shows anytime, anywhere
Example: Netflix
AC:
• I can watch a movie while connected
• I can watch a movie while disconnected
• I can watch 2 or more movies while
disconnected
• I can allocate how many movies I can watch
while disconnected
40. excella.com | @excellaco
• The conversation might lead to additional
documentation
• High-level designs
• Detailed designs
• Specifications
• Requirements traceability matrix
• Test plans
• Wireframes
• Use cases
• Just-in-time documentation
• Just enough documentation
Additional Documentation
42. excella.com | @excellaco
• 2 people = 2 channels pairing
• 3 people = 3 channels an extension of pairing
• 4 = 6 3 more with 1 added
• 5 = 10 4 more with 1 added
• 6 = 15 5 more with 1 added
How Many Channels Until it Breaks
https://sciencing.com/calculate-communication-channels-8015685.html
43. excella.com | @excellaco
• The more people on the team,
the more people in a meeting,
the more voices with fantastic ideas to share
• Not everyone can be in every meeting
• Each team figures out what works
How Many Channels Until it Breaks
45. excella.com | @excellaco
• Ongoing Conversations with Any and All Stakeholders
• Be ready for any Conversation
• Prioritization with PO and Development team
• Creating well-formed always-refining stories
How is an Agile BA Successful?
47. excella.com | @excellaco
Now you know why
I’m a BA Girl in an Agile World
Don’t you want to
be one too?
Closing Thought
Editor's Notes
Anyone have anything else they were expecting/wanting to discuss?
How many of you aren’t sure a BA is welcome on an agile project?
How many of you are certain a BA is welcome on a waterfall project?
Why is that?
Please stop me if you don’t know a term I use – grooming stories?
We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value
https://en.wikipedia.org/wiki/Agile_software_development
Agile software development principles
The Manifesto for Agile Software Development is based on twelve principles:[21]
Customer satisfaction by early and continuous delivery of valuable software.
Welcome changing requirements, even in late development.
Deliver working software frequently (weeks rather than months)
Close, daily cooperation between business people and developers
Projects are built around motivated individuals, who should be trusted
Face-to-face conversation is the best form of communication (co-location)
Working software is the primary measure of progress
Sustainable development, able to maintain a constant pace
Continuous attention to technical excellence and good design
Simplicity—the art of maximizing the amount of work not done—is essential
Best architectures, requirements, and designs emerge from self-organizing teams
Regularly, the team reflects on how to become more effective, and adjusts accordingly
-------------------------
Listed are some scenarios, for each scenario, identify if:
The team is making decisions guided by Agile principles or
The team is making decisions counter to Agile principles
If the team is making decisions guided by Agile principles, identify which principles
If the team is making decisions counter to Agile principles, identify which principles conflict with the decisions
What George meant is it takes 3 voices to have a meaningful team. And a BA can be one of those voices!
People take the 3 Amigos too literally and forget to talk about the role others, such as a BA, contributes to a team.
George meant it as minimum of 3 people, and include everyone else that can add value.
https://scrumandkanban.co.uk/three-amigos/
Behavior Driven Development increases speed of delivery through automation of testing. It leads to better customer collaboration, faster response to change, and quicker delivery of working software.
Why would this be important?
Thinking as the customer
Thinking of intended result for customer
Eliminates waste (time, documentation, separate req and test scenarios) by focusing our efforts only on those things that deliver value for customer
Where is a BA in the Core team?
Core Scrum Development team are people creating the product- BA, Developer, Tester
Scrum Team includes the ScrumMaster and Product Owner
Other SMEs and Stakeholders with a vested interest and ability to help the project team create a better product
T-shaped experience – not just BA skill to offer a project team
BA is different from (but also overlaps with) SM, PO, Design, Development, Testing, etc.
- Yes, a BA is all these things at some point
UX: If no UX/UI person then BA works with Developers and PO to come up with a design. Not as good as UX/UI person would do though
Testing: Most often, a BA also does testing. Depending on the nature of the work and the skill set of the person, a BA does testing – they wrote the requirements and know what the edge cases could be
Dual SM/BA: on small project with small teams this is done
Other specialties of analysis: data, system, process
Result: Analysts think about the broad focus and implications
I’ve always been in IT and on technical projects. I can’t imagine a team that would not want a BA on their team. There is no other person on the project that would want to do what I enjoy doing.
Talking with the various POs and SMEs, finds everyone knowledgeable about the feature
Proxy Product Owner – frequently as the ideal is a dedicated PO but that’s rare
Writing to create requirements and stories, with test criteria. I do like the writing! Creates the process flow of the feature
Thinking of the long-term big picture, grooming ahead of sprints development work – developers don’t mind doing grooming but its more likely the BA will be the proactive member of the team to continuously have these conversations, ping the developers who happily will do it too.
Stepping in for Scrummasters when needed – I’ve been on a project in a dual SM/BA role – with 4 developers – small team
Sometimes the primary tester – first one to think of edge testing
Poor substitute for UX when there is no one dedicated to doing that on the team
Finally, as BA Coach to other Analysts new to the project and/or team
Business analysis is understanding the problem and exploring solutions that deliver value
Involves finding the real problem, not just expressed desire
Business analysis is integral to determining the right thing to build
Identify the real need not just the expressed want or desire… which is putting the solution before understanding the problem.
Spend time on the problem, understanding the problem.
5 Whys technique
avoid logical traps
discussions based on wrong assumptions
the essence of why the problem is really happening.
Consequently, you can easily
avoid playing the blame game,
feeling sorry for yourself
other unproductive activities,
get straight to finding the source of the problem.
If you don’t like the result you’re getting, use 5 Whys to understand not just the behavior, but the systems and beliefs and assumptions to uncover what’s really going on.
Example:
Why did the lawn look bad?- My dog Coco dog was digging it up.
Why was Coco digging it up?- Because she was trying to get at the moles.
Why were moles in the yard? Because they like the ready supply of grubs.
Why are there grubs in my beautiful yard? They are attracted to the new fertilizer.
Why did I switch to a new fertilizer?I thought it would make my yard look better!
5 whys have saved Coco and my yard. I've gone back to my old fertilizer, which it turns out is cheaper anyway.
Facilitation - brainstorming, story-boarding/story-telling, interviewing and prototyping
Excellent Communication – for all those various communication channels (multiplied if there are multiple POs), conversations within the team, with other IT and business teams, at different stages of the work on the feature (grooming, development, testing, overall)
Stakeholder management – understanding all SH, taking the time to connect and engage all SH
Prioritization – help the SH prioritize, current project has 8 PMs, of which I have 3 over various work on my team
Requirements
Agile encourages flexibility to respond to change.
Just in Time development
Comes from manufacturing/logistics practices
Stories is available for the team at the right level of detail at the right time.
IIBA – Agile Extension
MB
BABOK’s Agile Extension’s Horizons – Strategy, Initiative, and Delivery
Analysis is also done at every level of the project
Not only done in the context of iterative sprints, its done at
high level stages, like planning the roadmap
Mid-level states, like planning an upcoming release
It’s good to keep mid and high level planning light so a team can more easily pivot plans in response to feedback
Many other frameworks and methodologies that can be used as well – Kanban, Lean, eXtreme Programming (XP), as well as Scrum
Analysts work is in between these meetings – its not about during these meetings.
Lays out the initially known and best-understood requirements.
The higher the order, the more a Product Backlog item has been considered, and the more consensus exists regarding it and its value.
Higher ordered Product Backlog items are clearer and more detailed than lower ordered ones.
More precise estimates are made based on the greater clarity and increased detail;
Product Backlog Refinement is an ongoing activity throughout a Scrum project
Keep the Product Backlog ordered
Remove or demote items that no longer seem important
Add or promote items that arise or become more important
Split items into smaller items
Merge items into larger items
Estimate items
Here’s the real difference
Build Backlog:
- Refinement - We work with the PO and team to develop PBIs that meet the requirements of the PO and the team’s definition of ready; grooming and refinement meetings with everyone; output are stories ready to estimate (but not sized yet)
Planning for impending work:
REFINEMENT - We work with the team to write clear stories and criteria
Spring Planning: do the estimating with PBIs ready to develop
During work:
- We work with the development team when gaps are found or discover additional work or a blocker to identify and adjust the backlog as needed
Output:
- We also can do acceptance testing
Refinement - Estimating the Story – Story Points
Meet the Definition of Ready
Create Sprint Backlog – stories to work on in that sprint
Definition of Done
Refinement stays 2 sprints ahead of the current sprint work in 2 week sprint cadence
This is just one way to represent a "Requirement" - and you have the flexibility to continue to evolve the requirement as need and de-prioritize if needed.
Card has the details of the requirements
Card, Conversation, Confirmation
What other types of requirements do you work with?
BDD is a technique used for developing product. It starts with the intended behavior – GIVEN.
Requirement written this way is useful to everyone on the project team.
Flexible: can be used manually or for a variety of development tools to automate
User centric: focuses on actions and outcomes not design specific
Light weight: does not require have documentation but focuses on building the thing right
ASK: Do you consider one point most important? How does that tie in with what you thought was your favorite agile principle?
A good requirement
- Focuses on the value and feature to develop – not the solution – as much as possible
- Smaller requirements are better
- easier to prioritize and manage
- see results faster
- easier to adjust the roadmap as needed
- When the team and product owner share the same mindset, you don’t need ultra-detailed requirements
- Helpful to have a “Not Doing” section of notes somewhere, like in Confluence, where the PO and development team can see it.
https://agileforall.com/new-to-agile-invest-in-good-user-stories/
Focus on the PBI level.
I - Stories should be as independent as possible.
N - A story is NOT a contract. A story IS an invitation to a conversation.
V - If a story does not have discernible value it should not be done.
E - A story has to be able to be estimated or sized so it can be properly prioritized.
S - Obviously stories are small chunks of work, but how small should they be? – be able to get to a “done” state in the timeframe set by the team
T - how do I know when I’m done with the story? Its testable to that point. Helps with ATDD (acceptance test driven development)
Other characteristics from the BABOK not listed above:
Unambiguous
Clear (concise, terse, simple, precise)
Correct
Understandable
Feasible (realistic, possible)
Atomic
Necessary
Implementation-free (abstract)
Slice by Data Boundaries
Example:
As customer I want to search for a product by it's product number, so I can quickly find a product that I already know;
As customer I want to search for products in a price range, so that the search results are more relevant;
As customer I want to search for products by their color, so that the search results are more relevant;
As customer I want to search for products in a product group, so that the search results are more relevant;
Explain activity, provide time, then ask each group to share
Card, Conversation, Confirmation
Pairing is common with Developers in agile – an agile supported methodology for working more efficiently with an improved result
3 (3-1)/2=3*2=6/2=3
4(4-1)/2=6 – double the channels and added 3 more channels
5(5-1)/2=10 – added 4 more channels than the last, from 3 the increase is more than double with only 2 people added
6(6-1)/2=15 – added 5 more than last; from 3 the increase was 5 times more channels than 3 additional people – this could be 1 SM, 3 devs, 1 BA/tester, 1 UX
https://sciencing.com/calculate-communication-channels-8015685.html
MB
Everyone on the team is an analyst at some point! We all contribute to making good requirements and AC and testing strategies in stories and hypothesis.
As Barbie’s philosophy says: We all have choices – who wants to be a BA with me?!!
[On the philosophy behind Barbie] My whole philosophy was that through the doll, a little girl could be anything she wanted to be.
Ruth Handler
SF
Everyone on the team is an analyst at some point! We all contribute to making good requirements and AC and testing strategies in stories and hypothesis.
https://www.pngkey.com/detail/u2q8a9q8t4u2t4w7_vector-royalty-free-download-png-image-barbie-hd/