agile foundations animated

29
Agile Foundations Nick Kramer Andre Simones Building Sustainable Agile Solutions one80services.com

Upload: one80services

Post on 09-Aug-2015

22 views

Category:

Technology


1 download

TRANSCRIPT

Agile Foundations

Nick KramerAndre Simones

Building Sustainable Agile Solutions

one80services.com

The Agile Manifesto Customer collaboration

over contract negotiation.

one80services.com Building Sustainable Agile Solutions

The Agile Manifesto Customer collaboration

over contract negotiation.

Individuals and interactions over processes and tools.

one80services.com Building Sustainable Agile Solutions

The Agile Manifesto Customer collaboration

over contract negotiation.

Individuals and interactions over processes and tools.

Responding to change over following a plan.

one80services.com Building Sustainable Agile Solutions

The Agile Manifesto Customer collaboration

over contract negotiation.

Individuals and interactions over processes and tools.

Responding to change over following a plan.

Working software over full documentation.

one80services.com Building Sustainable Agile Solutions

Agile Principles

one80services.com Building Sustainable Agile Solutions

•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.

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

•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

•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.

•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.

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

•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

•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.

Agile Principles

one80services.com Building Sustainable Agile Solutions

•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.

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

•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

•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.

Agile Principles

one80services.com Building Sustainable Agile Solutions

•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.

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

•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

•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.

Agile Principles

one80services.com Building Sustainable Agile Solutions

•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.

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

•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

•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.

Agile Principles

one80services.com Building Sustainable Agile Solutions

•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.

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

•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

•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.

Agile Principles

one80services.com Building Sustainable Agile Solutions

•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.

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

•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

•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.

Agile Principles

one80services.com Building Sustainable Agile Solutions

•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.

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

•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

•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.

Agile Principles

one80services.com Building Sustainable Agile Solutions

•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.

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

•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

•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.

Agile Principles

one80services.com Building Sustainable Agile Solutions

•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.

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

•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

•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.

Agile Principles

one80services.com Building Sustainable Agile Solutions

•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.

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

•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

•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.

Agile Principles

one80services.com Building Sustainable Agile Solutions

•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.

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

•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

•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.

Agile Principles

one80services.com Building Sustainable Agile Solutions

Scrum Master

Product Owner

Developers

Integrated Team

one80services.com Building Sustainable Agile Solutions

one80services.com Building Sustainable Agile Solutions

Scrum Framework Sprint Review Meeting• Review work commitment • Review work completed • Demo the work • Review project metrics • Priority review for next

iteration/sprint

Sprint RetrospectiveInspect and Adapt:

• What went well during the last sprint?

• What could be improved in the next sprint?

Release PlanningCreate product backlog

• Define iteration length • Create & size user stories • Sequence user stories

Potentially shippable product

increment

2-3 Week Sprint

Sprint Planning Meeting• Review product backlog • Estimate sprint backlog • Commit work for the

sprint • User Story breakdown

into tasks • Tasks estimation

Daily Scrum MeetingEach team member answers these questions:

• What have I accomplished since our last meeting?

• Is there any impediment? • What am I planning to

accomplish before our next meeting?

Prioritized items desired by customer

Product Backlog Sprint Backlog

Product Backlog items selected for sprint and estimated by

team

Vision

24 Hours

Sprint Board

As a user, I… 8 points

As a user, I… 5 points

Code the… 9

Test the… 8

Code the… DC 4

storytasks

progressin

Code the… 2

Test the… 8

Code the… 8

Test the… 4

Code the… 8

Code the… 4

Test the… 8

Code the… 6

Code the… DC 8

one80services.com Building Sustainable Agile Solutions

Test the… SC 8

Code the… DC 4Test the… SC 6

Test the… SC 6Test the…

SC 6Test the… SC 6

Test the… SC 6Test the… SC 6Test the…

SC 6

not started done

story titleas a <type of user>

I want to <immediate goal>

so that <business outcome>

www

who

what

why

one80services.com Building Sustainable Agile Solutions

User Stories

card

conversation

confirmation

a brief, simple requirement statement from the perspective of the user

a story is an invitation for a conversation

each story should have acceptance criteria

one80services.com Building Sustainable Agile Solutions

User Stories

I likdecompose

acceptance criteria

definition of done

prioritized

LDAP integration

register a new login

edit registration

admin reporting

user-managed wish lists

XL

XL

M

L

M

account lockout after three attempts

S

reset lost password

M

SSL enable

S

user login

S

selected product increment

account lockout after three attempts

S

determine requirements for password

policy

page layout (design)

get latest JBoss

running

choose persistence

strategy

code using test-driven

development

exploratory testing

reset lost password

M

analyze example

config file

get official certificate

from IT

install certificate

update deploy

target in build.xml

exploratory testing

(3 browsers)

update installation document

SSL enable

S

agree on best algorithm for randomizing passwords

decide where to put

the link

code using test-driven

development

add screenshot and text to user manual

exploratory testing

user login

S

code using test-driven

development

update migration tool to include new raw for locked

account

manual test (try to break in with policy

installed)

update documents

one80services.com Building Sustainable Agile Solutions

product backlog

sprint backlog

I

N

V

E

S

T

independent

negotiable

valuable

estimable

small

testable

Follow the INVEST guidelines for good

user stories!

one80services.com Building Sustainable Agile Solutions

back end

API

front end

testing

slicing horizontally slicing vertically

Missing Elements

Missing Elements

not testable and not releasable

testable and potentially releasable

missing elements missing elements

one80services.com Building Sustainable Agile Solutions

Story Estimation

0

Cone of Uncertainty

1 2 3 8 13 20 ?

XS S M L XL

5

Hours

one80services.com Building Sustainable Agile Solutions

Building the

backlog

Theme Increase website Traffic

Epic Add new video section

User Story User Story

Task Task

Epic Improve login page usability

User Story As a user, I would like the validation on the login page to be very clear so that I can easily see when/if I

make a mistake when I log in

Task Task Task

one80services.com Building Sustainable Agile Solutions

organize email

manage email

manage calendar

search email

file emails compose email

read email

delete email

view calendar

create appt

update appt

create contact

update contact

search by keyword

move emails

create and send basic email

open basic email

delete email

view list of appts

create basic appt

update contents/location

create basic contact

update contact info

manage contacts

WIP done done done done done WIP

create sub folders

send RTF email

open RTF email

done view monthly formats

create RTF appt

WIP

limit search to one field

send HTML email

open HTML email

empty deleted items

view daily format

create HTML appt

propose new time

create sub folders

create sub folders

limit search to 1+ fields

set email priority

open attachments

mandatory/optional

search attachments

get address from contacts

view weekly formats

get address from contacts

import contacts

search sub folders

send attachments

search calendar

add attachments

export contacts

release 1

release 2

release 3 one80services.com Building Sustainable Agile Solutions

Story

Epic

Theme

Agile Foundations

Nick KramerAndre Simones

Building Sustainable Agile Solutions

one80services.com

thanks for joining us today!