The Role of the BA in Agile Software Development
-
Upload
john-r-durgin-cbap-csm-cspo-mba -
Category
Software
-
view
176 -
download
3
Transcript of The Role of the BA in Agile Software Development
![Page 1: The Role of the BA in Agile Software Development](https://reader036.fdocuments.in/reader036/viewer/2022062522/58714a261a28ab55588b659f/html5/thumbnails/1.jpg)
The role of the BA in Agile Software Development
IIBA Central Indiana Chapter - Jan 2016
![Page 2: The Role of the BA in Agile Software Development](https://reader036.fdocuments.in/reader036/viewer/2022062522/58714a261a28ab55588b659f/html5/thumbnails/2.jpg)
Introduction
In which, we discuss what is Agile, what is Scrum, and where Business Analyst fits in.
I’ve been a Developer, a Project Manager, a Product Owner, a Business Analyst, a Development Team Manager and a Consultant. I have a special interest in Lean and Agile application development.
John Durgin, CBAP, MBA, CSM, CSPO
![Page 3: The Role of the BA in Agile Software Development](https://reader036.fdocuments.in/reader036/viewer/2022062522/58714a261a28ab55588b659f/html5/thumbnails/3.jpg)
Agile & Scrum
![Page 4: The Role of the BA in Agile Software Development](https://reader036.fdocuments.in/reader036/viewer/2022062522/58714a261a28ab55588b659f/html5/thumbnails/4.jpg)
A formal definition
Agile is a collection of values and principles expressed in the Agile Manifesto for Software Development.
Scrum is a development framework based on empirical process control wherein cross functional, self-organizing teams deliver working software every 30 days or less.Sprint
RetrospectiveModify
![Page 5: The Role of the BA in Agile Software Development](https://reader036.fdocuments.in/reader036/viewer/2022062522/58714a261a28ab55588b659f/html5/thumbnails/5.jpg)
The Agile Values
Individuals and interactions over processes and toolsWorking software over comprehensive documentationCustomer collaboration over contract negotiationResponding to change over following a plan
That is, while there is value in the items on the right, we value the items on the left more.
http://www.agilemanifesto.org/
![Page 6: The Role of the BA in Agile Software Development](https://reader036.fdocuments.in/reader036/viewer/2022062522/58714a261a28ab55588b659f/html5/thumbnails/6.jpg)
Scrum RolesScrum Master - The Scrum Master is responsible for ensuring Scrum is understood and enacted. Scrum Masters do this by ensuring that the Scrum Team adheres to Scrum theory, practices, and rules.
Product Owner - The Product Owner is responsible for maximizing the value of the product and the work of the Development Team. How this is done may vary widely across organizations, Scrum Teams, and individuals. The Product Owner is one person, not a committee. The Product Owner may represent the desires of a committee in the Product Backlog, but those wanting to change a Product Backlog item’s priority must address the Product Owner.
Development Team - The Development Team consists of professionals who do the work of delivering a potentially releasable Increment of “Done” product at the end of each Sprint. Only members of the Development Team create the Increment.
![Page 7: The Role of the BA in Agile Software Development](https://reader036.fdocuments.in/reader036/viewer/2022062522/58714a261a28ab55588b659f/html5/thumbnails/7.jpg)
The Scrum Process
![Page 8: The Role of the BA in Agile Software Development](https://reader036.fdocuments.in/reader036/viewer/2022062522/58714a261a28ab55588b659f/html5/thumbnails/8.jpg)
Project Management - The Iron Triangle
Time
ScopeResources:People, $$
Quality
![Page 9: The Role of the BA in Agile Software Development](https://reader036.fdocuments.in/reader036/viewer/2022062522/58714a261a28ab55588b659f/html5/thumbnails/9.jpg)
Project Constraints
Traditional: Software Projects
Scope and Time are fixed.
The job of the Project Manager is to manage resources and budget.
Scrum: Product Development
Time and Resources are fixed
The job of the Product Owner is to manage scope.
![Page 10: The Role of the BA in Agile Software Development](https://reader036.fdocuments.in/reader036/viewer/2022062522/58714a261a28ab55588b659f/html5/thumbnails/10.jpg)
?Questions
![Page 11: The Role of the BA in Agile Software Development](https://reader036.fdocuments.in/reader036/viewer/2022062522/58714a261a28ab55588b659f/html5/thumbnails/11.jpg)
The Business Analyst vs.
Product Owner
The BA defines and manages the product
requirements: the “what”
The Product Owner defines and manages scope: also the “what”
![Page 12: The Role of the BA in Agile Software Development](https://reader036.fdocuments.in/reader036/viewer/2022062522/58714a261a28ab55588b659f/html5/thumbnails/12.jpg)
What is Business Analysis?Business analysis is the practice of enabling change in an enterprise by defining needs and recommending solutions that deliver value to stakeholders.
Business analysts are responsible for discovering, synthesizing, and analyzing information from a variety of sources within an enterprise, including tools, processes, documentation, and stakeholders. The business analyst is responsible for eliciting the actual needs of stakeholders—which frequently involves investigating and clarifying their expressed desires—in order to determine underlying issues and causes.
None of this changes in Agile
![Page 13: The Role of the BA in Agile Software Development](https://reader036.fdocuments.in/reader036/viewer/2022062522/58714a261a28ab55588b659f/html5/thumbnails/13.jpg)
What do they do?Business analysts play a role in aligning the designed and delivered solutions with the needs of stakeholders. The activities that business analysts perform include:
• understanding enterprise problems and goals,
• analyzing needs and solutions,
• devising strategies,
• driving change
• facilitating stakeholder collaboration.
None of this changes in Agile
![Page 14: The Role of the BA in Agile Software Development](https://reader036.fdocuments.in/reader036/viewer/2022062522/58714a261a28ab55588b659f/html5/thumbnails/14.jpg)
Business Analyst Roles in AgileFrom the BABOK Agile Extension:
● The analyst might act as the product owner/customer representative where they are empowered by the business to make decisions on product features and priority.
● The analyst could act as a surrogate product owner, in situations where the business product owner is not available.
● The analyst might act as the second in command to a business product owner with limited availability.
The Agile Extension lists numerous other roles, all peripheral to, and in support of the product owner.
![Page 15: The Role of the BA in Agile Software Development](https://reader036.fdocuments.in/reader036/viewer/2022062522/58714a261a28ab55588b659f/html5/thumbnails/15.jpg)
Product Owner Responsibilities and SkillsThe Product Owner must... Skills required
Understand the Business Need Facilitation, Elicitation, Analysis, Enterprise Analysis, Strategy, Business Value, Relationship Building
Create a Vision Analysis, Consensus Building, Clarity
Develop a Roadmap Planning, Alignment (with strategy, goals), release planning
Backlog Refinement Prioritizing, functional decomposition
Challenging and Motivating the Team Leadership, Knowledgable, Available, Integrity, Building Trust
Make Decisions Take Initiative, Domain Expert, Relationship Building with Stakeholders, Empowered
Define Acceptance Criteria Analysis, Clarity, SME
Single Wringable Neck Take Ownership, Accountable
![Page 16: The Role of the BA in Agile Software Development](https://reader036.fdocuments.in/reader036/viewer/2022062522/58714a261a28ab55588b659f/html5/thumbnails/16.jpg)
Desirable Characteristics of a PO
● A Visionary and a Doer● Leader and Team Player● Communicator and Negotiator● Empowered and Committed● Available and Qualified● Spends half the time with users, business leaders, and IT
leaders.● Spends the other half working closely with “the
development team” clarifying specifications.
As a BA, how are doing in these areas?
![Page 17: The Role of the BA in Agile Software Development](https://reader036.fdocuments.in/reader036/viewer/2022062522/58714a261a28ab55588b659f/html5/thumbnails/17.jpg)
A Successful Product Owner...
● Is always thinking of business value.● Encourages and Leads the Development team by
Communicating Vision● BUT, is not the sole source of that vision. It must be
collaboratively developed and widely shared.● Clarifies business/user needs to development teams so that
uncertainty is removed and developer velocity is maximized● Prioritize, Prioritize, Prioritize
How are your skills?
![Page 18: The Role of the BA in Agile Software Development](https://reader036.fdocuments.in/reader036/viewer/2022062522/58714a261a28ab55588b659f/html5/thumbnails/18.jpg)
On any given non-trivial project the BA skills and availability of the Product Owner will be critical to project success. If the PO is not so equipped, a BA can help make a project successful
![Page 19: The Role of the BA in Agile Software Development](https://reader036.fdocuments.in/reader036/viewer/2022062522/58714a261a28ab55588b659f/html5/thumbnails/19.jpg)
?Questions
![Page 20: The Role of the BA in Agile Software Development](https://reader036.fdocuments.in/reader036/viewer/2022062522/58714a261a28ab55588b659f/html5/thumbnails/20.jpg)
The Agile Business Analyst
It’s a skillset, not a role or a title
Yah, but what do you do?
![Page 21: The Role of the BA in Agile Software Development](https://reader036.fdocuments.in/reader036/viewer/2022062522/58714a261a28ab55588b659f/html5/thumbnails/21.jpg)
Business Planning
Level Roles Involved Result
Strategic C-Level Management Business Plan
Functional Alignment
CIO, CTO, Business Leadership IT Roadmap
Solution Alignment Functional DirectorsProduct Owner, Business Analyst
Product Roadmap
Solution Definition Product Owner, BA, Stakeholders Product Backlog
Sprint Planning Product Owner, BA, Dev Team Sprint Backlog
![Page 22: The Role of the BA in Agile Software Development](https://reader036.fdocuments.in/reader036/viewer/2022062522/58714a261a28ab55588b659f/html5/thumbnails/22.jpg)
The Business Analysis Process (traditional)
Problem or Opportunity Identified
Functional Decomposition
Detailed Requirements
Solution Selection
Roadmap to Solution
Prioritization
In Scrum, functional decomp results in “Stories”, which get prioritized
![Page 23: The Role of the BA in Agile Software Development](https://reader036.fdocuments.in/reader036/viewer/2022062522/58714a261a28ab55588b659f/html5/thumbnails/23.jpg)
BA Techniques - User StoriesNote: The concept of user stories is not defined by Scrum. It comes from XP.
● Card, Conversation, Confirmation (Ron Jeffries, Extreme Programming)
○ As a <role>, I want to <do>, so that I can <get value>
○ The user can <do something>● It’s about the goal, not solution attributes
● Story Design - Independent, Negotiable, Valuable, Estimable, Small, Testable
No, there is not a 1-to-1 between user stories and functional requirements.
In many organizations you will be called upon to “write” user stories.
![Page 24: The Role of the BA in Agile Software Development](https://reader036.fdocuments.in/reader036/viewer/2022062522/58714a261a28ab55588b659f/html5/thumbnails/24.jpg)
How to Build a MVP stories not
Independent
Independent
minimum viable product
![Page 25: The Role of the BA in Agile Software Development](https://reader036.fdocuments.in/reader036/viewer/2022062522/58714a261a28ab55588b659f/html5/thumbnails/25.jpg)
Good User Stories❖ Negotiable:
➢ The “story” is a reminder to have a discussion
➢ stuff may change, don’t write too much❖ Valuable:
➢ Stories need to reflect business goals➢ The PO is accountable for determining
value and adding to the product backlog
➢ Learn about story mapping ( that is whole talk in itself)
IndependentNegotiableValuableEstimableSmallTestable
![Page 26: The Role of the BA in Agile Software Development](https://reader036.fdocuments.in/reader036/viewer/2022062522/58714a261a28ab55588b659f/html5/thumbnails/26.jpg)
Good User Stories❖ Estimable:
➢ If the team is having difficulty, likely the story is too large or complex or calls for technology that the team has no expertise in
❖ Small:➢ Story Slicing➢ vertical slice = independent➢ adding details = acceptance criteria
❖ Testable:
➢ if you’ve got some good ACs
➢ make sure details add definition, not scope
IndependentNegotiableValuableEstimableSmallTestable
![Page 27: The Role of the BA in Agile Software Development](https://reader036.fdocuments.in/reader036/viewer/2022062522/58714a261a28ab55588b659f/html5/thumbnails/27.jpg)
Prioritizing the Product Backlog
![Page 28: The Role of the BA in Agile Software Development](https://reader036.fdocuments.in/reader036/viewer/2022062522/58714a261a28ab55588b659f/html5/thumbnails/28.jpg)
Acceptance CriteriaBack of the “card”, capture detail (Confirmation)
Different takes on how to use acceptance criteria
1. Try it with <different data>
2. I can <variations on the function>
3. define parameters of the function
4. define when the story is complete
5. function is working as expected
AC are NOT tests. They can point to the need for certain tests.
Or, a new story?
![Page 29: The Role of the BA in Agile Software Development](https://reader036.fdocuments.in/reader036/viewer/2022062522/58714a261a28ab55588b659f/html5/thumbnails/29.jpg)
?Questions
![Page 30: The Role of the BA in Agile Software Development](https://reader036.fdocuments.in/reader036/viewer/2022062522/58714a261a28ab55588b659f/html5/thumbnails/30.jpg)
"There are lots of people who believe their job is collecting and communicating
requirements. But it's not. The truth is, your job is to change the world. Every
great idea you turn into a product solution changes the world in some small, or not so
small, way for the people that use it."
- Jeff Patton, author of “User Story Mapping”
![Page 31: The Role of the BA in Agile Software Development](https://reader036.fdocuments.in/reader036/viewer/2022062522/58714a261a28ab55588b659f/html5/thumbnails/31.jpg)
Follow-Up Reading
Some books I highly recommend:User Story Mapping - Jeff PattonAgile Product Management with Scrum - Roman PichlerUser Stories Applied - Mike Cohn
![Page 32: The Role of the BA in Agile Software Development](https://reader036.fdocuments.in/reader036/viewer/2022062522/58714a261a28ab55588b659f/html5/thumbnails/32.jpg)
?Retrospective. What went well? What did not?
WHY
![Page 34: The Role of the BA in Agile Software Development](https://reader036.fdocuments.in/reader036/viewer/2022062522/58714a261a28ab55588b659f/html5/thumbnails/34.jpg)
The Marshmallow
Challengean exercise in agile
developmenttools: 1 marshmallow, 12 sticks of
spaghetti, and a 3’ length of painter’s tape
The object of the game is to build the tallest freestanding structure of spaghetti and place the marshmallow on top.
Teams: 3-4 people each
Team formation, roles and responsibilities: 1 minute
Then 14 minutes to build a solution