the role of the ba in agile software development

Post on 08-Jan-2017

176 Views

Category:

Software

3 Downloads

Preview:

Click to see full reader

TRANSCRIPT

The role of the BA in Agile Software Development

IIBA Central Indiana Chapter - Jan 2016

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

Agile & Scrum

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

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/

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.

The Scrum Process

Project Management - The Iron Triangle

Time

ScopeResources:People, $$

Quality

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.

?Questions

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”

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

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

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.

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

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?

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?

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

?Questions

The Agile Business Analyst

It’s a skillset, not a role or a title

Yah, but what do you do?

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

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

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.

How to Build a MVP stories not

Independent

Independent

minimum viable product

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

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

Prioritizing the Product Backlog

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?

?Questions

"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”

Follow-Up Reading

Some books I highly recommend:User Story Mapping - Jeff PattonAgile Product Management with Scrum - Roman PichlerUser Stories Applied - Mike Cohn

?Retrospective. What went well? What did not?

WHY

Thanks!Contact me:

LinkedIn: John R. Durgin

Twitter: @moshuptrail

eMail: john.r.durgin@gmail.com

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

top related