Agile Business Driven Development

46
WeBeAgile.com

description

Business Analysis & Business Analyst Role in the World of “Being” Agile

Transcript of Agile Business Driven Development

Page 1: Agile Business Driven Development

WeBeAgile.com

Page 3: Agile Business Driven Development
Page 4: Agile Business Driven Development
Page 5: Agile Business Driven Development

5

Agile/Lean Development

Delivering early and

often, giving ourselves

the best opportunity to

beat the competition to

market, realize revenue

and discover insights

that we can use to help

us improve

Page 6: Agile Business Driven Development

The actualization and effectively dealing with -

More Success + Greater Speed + Fewer Resources +

Constant Uncertainty + Increased Competition +

Quicker Time to Market

1. Agile puts the Product Owner (aka “the business” or customer representative) in

the driver’s seat – In the majority of the waterfall style projects the customer is involved, but in a

limited capacity. They get to define a scope up-front, but then any changes they deem necessary are

change ordered back to them. This practice assumes that the customer knows exactly what they want up

front and penalizes them for changing their minds later in the development process.

2. Agile allows the business to quickly react to changing market conditions and

needs – The only thing constant in today‟s economy is change. Businesses need to be able to make

quick course corrections in order to survive.

3. Agile provides visibility into the development process – For many customers software

development is a dark art. They don‟t have the background in order to understand the technical details

and in most cases the development team prefers it this way. The customer is left feeling helpless and

Agile engages them throughout the development lifecycle, providing enhanced visibility.

4. Agile also puts the Development Team in the driver’s seat - While the Product Owner is

responsible for “what” is to be developed the Development Team is self-directing and self-organizing as to

“how” to develop the system-software product

Page 7: Agile Business Driven Development

Copyright © 2008 Russell Pannone. All rights reserved.

1. Selecting Stories from the

Product Backlog based on

the team’s velocity

2. Identifying the tasks to

realize a selected Story

3. Estimating the hours

required to complete the

task

4. ScrumMaster validates total

estimated work against

total team capacity during a

Sprint (# of people *

productive hours/day * # of

days for the Sprint)

7

Page 8: Agile Business Driven Development

Copyright © 2008 Russell Pannone. All rights reserved.

1. Selecting identified

tasks to complete

2. Completing them per

the team's definition of

done

3. This cycle repeats until

all Story points for the

Sprint are earned

and/or Sprint is

complete

8

Page 9: Agile Business Driven Development

9Copyright © 2008 Russell Pannone. All rights reserved.

Page 10: Agile Business Driven Development

10

SS Agile SS Agile

Copyright © 2008 Russell Pannone. All rights reserved.

Page 11: Agile Business Driven Development

11Copyright © 2008 Russell Pannone. All rights reserved.

Page 12: Agile Business Driven Development

12

Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.

Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.

Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.

Business people and developers must work together daily throughout the project.

Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.

Working software is the primary measure of progress.

The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.

Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.

Continuous attention to technical excellence and good design enhances agility.

Simplicity--the art of maximizing the amount of work not done--is essential.

The best architectures, requirements, and designs emerge from self-organizing teams.

At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.

Page 13: Agile Business Driven Development

13Copyright © 2009 Russell Pannone. All rights reserved.

Delivering early and often,

giving ourselves the best

opportunity to beat the

competition to market,

realize revenue and

discover insights that we

can use to help us improve

Page 14: Agile Business Driven Development

14Copyright © 2009 Russell Pannone. All rights reserved.

Conceptualize

• Select the Customer

• Understand the Customer

• Express Feature Set

Realize

• Plan

• Test

• Develop

• Deliver

• Inspect

• Adapt

Operationalize

• Deployment

• Servicing

Page 15: Agile Business Driven Development

By delivering early and

often we give ourselves

the best opportunity to

beat the competition to

market, realize revenue

and discover insights

that we can use to help

us improve

Page 16: Agile Business Driven Development

16

Scrum Explained

Copyright © 2008 Russell Pannone. All rights reserved.

In Scrum you work in iterations

delivering value-adding results

incrementally

“The… „relay race‟ approach to

product development…may conflict

with the goals of maximum speed

and flexibility. Instead a holistic or

‘rugby’ approach—where a team

tries to go the distance as a unit,

passing the ball back and forth—

may better serve today’s

competitive requirements.”- Hirotaka

Takeuchi and Ikujiro Nonaka, “The New New Product Development

Game”, Harvard Business Review, January 1986

Page 17: Agile Business Driven Development

17

Scrum Roles & Definitions(continued on next slide)

Copyright © 2008 Russell Pannone. All rights reserved.

Copyright © 2005 Mountain Goat Software.

Page 18: Agile Business Driven Development

18

Scrum Roles & Definitions(continued on next slide)

Copyright © 2008 Russell Pannone. All rights reserved.

Copyright © 2005 Mountain Goat Software.

Page 19: Agile Business Driven Development

19Copyright © 2008 Russell Pannone. All rights reserved.

Scrum Roles & Definitions(continued from previous slide)

Copyright © 2005 Mountain Goat Software.

Page 20: Agile Business Driven Development

US Airways Confidential – Do not distribute or duplicate

All

Requirements

All

Planning

All

Design

All

Development

All

Validation

All

Implementation

Problem /

Opportunity

Feedback

Traditional Development implied sequential “waterfall” time delay in obtaining feedback

Iterative & Incremental

Development and Delivery

Page 21: Agile Business Driven Development

21Copyright © 2008 Russell Pannone. All rights reserved.

Page 22: Agile Business Driven Development

Kanban Board

Pending WIP Done

Test

Define

Design

Code

Build & Implement

Copyright © 2008 Russell Pannone. All rights reserved.

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

Story

Story

Story

Story

Story

Story

Story

Story

Story

Story

Page 23: Agile Business Driven Development

23

Candidate Practices

Page 24: Agile Business Driven Development

24

Usage scenario

– When a project team wants to “be” agile they self-organize & self-direct around the 9 practices

– The team then selects 1 or more practice to apply to their work at hand

Benefits

– Iterative & Incremental adoption of “being” agile

– Gives team a context and narrow focus to rally around

– Provides a non-threatening easy way for team to learn together, “be” agile, apply an iterative and incremental approach, and get better at what we do

Page 25: Agile Business Driven Development

The actualization and effectively dealing with -

More Success + Greater Speed + Fewer Resources +

Constant Uncertainty + Increased Competition +

Quicker Time to Market

1. Agile puts the Product Owner (aka “the business” or customer representative) in

the driver’s seat – In the majority of the waterfall style projects the customer is involved, but in a

limited capacity. They get to define a scope up-front, but then any changes they deem necessary are

change ordered back to them. This practice assumes that the customer knows exactly what they want up

front and penalizes them for changing their minds later in the development process.

2. Agile allows the business to quickly react to changing market conditions and

needs – The only thing constant in today‟s economy is change. Businesses need to be able to make

quick course corrections in order to survive.

3. Agile provides visibility into the development process – For many customers software

development is a dark art. They don‟t have the background in order to understand the technical details

and in most cases the development team prefers it this way. The customer is left feeling helpless and

Agile engages them throughout the development lifecycle, providing enhanced visibility.

4. Agile also puts the Development Team in the driver’s seat - While the Product Owner is

responsible for “what” is to be developed the Development Team is self-directing and self-organizing as to

“how” to develop the system-software product

Page 26: Agile Business Driven Development

Copyright@ 2008 Russell Pannone. All rights reserved.

Page 27: Agile Business Driven Development

Copyright © 2008 Russell Pannone. All rights reserved.

Page 28: Agile Business Driven Development

User Stories Business

Priority

Story Points

Story A 1 5

Story B 2 8

Story C 3 1

Story D 4 8

Story E 5 2

Story F 6 2

Story G 7 2

Story H 8 8

Story I 9 5

Story J 10 1

28Copyright@ 2008 Russell Pannone. All rights reserved.

Page 29: Agile Business Driven Development

29Copyright@ 2008 Russell Pannone. All rights reserved.

Page 30: Agile Business Driven Development

The Product Owner/Customer tells us they want an implement for writing,

drawing, or marking that is easy to keep sharp, is comfortable to hold, and when

they want to they can easily make a correction.

We collaborate more with the Product Owner/Customer on their needs or

requirements and define the implement’s features and corresponding

benefit/value, as depicted in the table below. Take notice that we have benefits

that influence the implement’s functionality and constrain its design and final

form.

Features Benefits/Value

Is made of wood Easy to sharpen and smells good

Has a specific diameter Comfortable

Surface to be coated Won’t get splinters

Contains a lead composite filler Creates an impressive line

Has an eraser at the end Makes correcting easy

Copyright © 2008 Russell Pannone. All rights reserved. 30

Page 31: Agile Business Driven Development

• As an implement user I want an implement that is made of wood so it is easy to sharpen and smells good when sharpening

• As an implement user I want an implement that has a specific diameter so it is comfortable to hold

• As an implement user I want the surface of the implement to be coated so I won’t get splinters when I use it

• As an implement user I want the implement to contain a lead composite filler so I can create an impressive line

• As an implement user I want to have at the end of the implement an eraser so I can easily make a correction

Copyright © 2008 Russell Pannone. All rights reserved.31

Page 32: Agile Business Driven Development

32Copyright@ 2008 Russell Pannone. All rights reserved.

A story is a “placeholder”

for a requirement formulated as a

brief description written in the

everyday language of the customer

or user describing desired

functionality; containing just

enough information so that the

product team can produce a

reasonable estimate of the effort to

implement it

Page 33: Agile Business Driven Development

Samples Stories

33

As a user, I want to cancel a reservation

As a vacation planner, I want to see photos of the hotels to help me determine if it meets my needs

As a frequent flier, I want to rebook a past trip, so that I save time booking trips I take often

Page 34: Agile Business Driven Development

34

Where Are the Details?

As a user, I can cancel a reservation Does the user get a full or partial refund?

Is the refund to her credit card or is it site credit?

How far ahead must the reservation be cancelled?

Is that the same for all hotels?

For all site visitors? Can frequent travelers cancel later?

Is a confirmation provided to the user?

How?

Page 35: Agile Business Driven Development

35Copyright@ 2008 Russell Pannone. All rights reserved.

Page 36: Agile Business Driven Development

36

Details as Conditions-of-Satisfaction

The product owner‟s conditions of satisfaction can be added to a story These are essentially acceptance tests

As a user, I can cancel a reservation Verify that a premium member

can cancel the same day without a fee.

Verify that a non-premium member is charged 10% for a same-day cancellation.

Verify that an email confirmation is sent.

Verify that the hotel is notified of any cancellation.

Continued next page

Page 37: Agile Business Driven Development

37

Story - As an eligible user, I can pay the one-time registration fee of $10, so that I can access my driver’s

record in the future

Conditions-of Satisfaction:

• verify that a payment can be made

• verify that once a payment is made, the user can view their record (with any subsequent fees)

• verify that payment option is not available if registration has already been paid

Story - As an eligible user, I can create a unique user name and password so that my access is limited to

my record and to track activity and payment

Conditions-of Satisfaction:

• verify that a user account can be created

• verify that a user name that is already in use (assigned) is not accepted and the user notified then

prompted for a different user name

• verify that the user name conforms to naming convention (length, caps, etc.)

• verify that the password conforms to naming convention (length, caps, symbols, etc.)

• verify that the legal compliance conditions and consequences of use are displayed and accepted

• verify that if the user does not accept the legal compliance conditions and consequences than no

user name is created

Story - As an eligible user, I can access my record, so that I can verify that it is correct

Conditions-of Satisfaction:

• verify that the user‟s record is displayed

• verify that the user cannot access records other than his/her own (or dependents)

• verify that user is charged $10 for the first access and $5 for subsequent accesses.

• verify that the user is limited to three record access each year.

• verify that the system displays user profile information including: names, addresses, email

addresses, credit cards, and PayPal.

• verify that records for any nonresident individual with a driving record in the state can be accessed

(by March 1)

Another Example of Details as Conditions-of-Satisfaction

Page 38: Agile Business Driven Development

38

INVESTing in Good Stories

Independent- Dependencies lead to problems estimating and prioritizing

- Can ideally select a story to work on without pulling in 18 other stories

Negotiable- Stories are not contracts

- Leave or imply some flexibility

Valuable- To users or customers, not developers

- Rewrite developer stories to reflect value to users or customers

Estimatable- Because plans are based on user stories, we need to be able to estimate them

Sized appropriately- Complex stories are intrinsically large

- Compound stories are multiple stories in one

Testable- Stories need to be testable

Bill Wake, xp123.com

Page 39: Agile Business Driven Development

BusStrategy

BusinessModel

System RequirementsFunctional

&Non-Functional

Solution/IT-Services

Sometimes You Have to See the

Big Pictureto Know How the

PiecesFit Best Together

Use Cases

39Copyright © 2008 Russell Pannone. All rights reserved.

Optional

Optional

OptionalOptional

Page 40: Agile Business Driven Development

Copyright © 2008 Russell Pannone. All rights reserved. 40

Five factors to consider when prioritizing1.The commercial or operational value of having the story

2.Degree of uncertainty - the amount and significance of learning and new

knowledge gained by developing the story; focused on requirements

and technology

3.The amount of risk removed by developing and delivering the story –

focused on schedule, budget, scope, operation, technology

4.Dependencies – stories that must be developed together and are

delivered together to provide value to the customer

5.The cost of developing and delivering the story

Page 41: Agile Business Driven Development

User Stories Business

Priority

Story Points

Story A 1 5

Story B 2 8

Story C 3 1

Story D 4 8

Story E 5 2

Story F 6 2

Story G 7 2

Story H 8 8

Story I 9 5

Story J 10 1

41Copyright@ 2008 Russell Pannone. All rights reserved.

Page 42: Agile Business Driven Development

Copyright © 2008 Russell Pannone. All rights reserved.

42

Story Points: Relative Measure of the Size of a Story

Page 43: Agile Business Driven Development

Copyright © 2008 Russell Pannone. All rights reserved.

1. Selecting Stories from the

Product Backlog based on

the team’s velocity

2. Identifying the tasks to

realize a selected Story

3. Estimating the hours

required to complete the

task

4. ScrumMaster validates total

estimated work against

total team capacity during a

Sprint (# of people *

productive hours/day * # of

days for the Sprint)

43

Page 44: Agile Business Driven Development

Copyright © 2008 Russell Pannone. All rights reserved.

1. Selecting identified

tasks to complete

2. Completing them per

the team's definition of

done

3. This cycle repeats until

all Story points for the

Sprint are earned

and/or Sprint is

complete

44

Page 45: Agile Business Driven Development
Page 46: Agile Business Driven Development

Collaboratively and adaptively develop value-adding product increments in a continuous flow from requirements to deployment

Be objective and see things as a whole

Be value-driven not plan/task-driven

Identify and continually discuss individual, team and enterprise strengths, weaknesses, opportunities and challenges

Put together a coalition to lead by example and teach

Create a vision to help direct change

Use every vehicle possible to constantly communicate the vision and strategies

Get rid of barriers to being agile

Generate short-term wins

Develop people who can implement the change

Anchor being agile in the culture

46

Roadmap to “being” agile

Agile Transition

Program

Agile Coaching & Training

Scrum Coaching & Training

Organizational Change

Management

Cultural Renewal