Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software...

102
Agile Methodologies

Transcript of Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software...

Page 1: Agile_  - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration

Agile Methodologies

Page 2: Agile_  - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration

Winston@winstonyw

Page 3: Agile_  - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration

Pivotal Labs SG2011 ~ 2013

Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration

Page 4: Agile_  - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration

Neo Innovations2011 ~ 2013

Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration

Page 5: Agile_  - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration

Established

Since Nov 2013

Page 6: Agile_  - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration

SG Ruby Grouphttp://www.meetup.com/Singapore-Ruby-Group/

Page 7: Agile_  - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration

June 26-27, 2014 Singapore

!http://www.reddotrubyconf.com

Page 8: Agile_  - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration

RubyAsia.comA fortnightly newsletter for Ruby news and articles from Asia

Page 9: Agile_  - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration

Why do Software Projects

Fail?

Page 10: Agile_  - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration

PLANNING AND ESTIMATING IS

DIFFICULT

Page 11: Agile_  - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration

Why Are Software Development Task Estimations Regularly Off By A Factor of 2-3

http://www.quora.com/Engineering-Management/Why-are-software-development-task-estimations-regularly-off-by-a-factor-of-2-3

Page 12: Agile_  - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration

Waterfallhttp://www.flickr.com/photos/mcbridejc/8885815845/

Page 13: Agile_  - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration

Problems with Traditional Planning & Estimation

Page 14: Agile_  - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration

Almighty Documentationhttp://www.flickr.com/photos/sonrisaelectrica/3695743740/

Page 15: Agile_  - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration

Premature System Design

Page 16: Agile_  - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration

Activity-Based Management

Page 17: Agile_  - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration

Estimation == Commitment

Wrong Perception of Estimation

Page 18: Agile_  - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration

No Customer Collaboration

vs.

Page 19: Agile_  - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration

“This project will be completed by Christmas.

- Project Manager, based on Traditional Planning

Unrealistic Timeline

Page 20: Agile_  - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration

Build UAT FixDesign

Time to Ship

Requirements

Waterfall

Page 21: Agile_  - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration

Syste

m Goal

Misfit

Build UAT FixDesignRequirements

Waterfall Product/Market Fit

Page 22: Agile_  - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration

SOFTWARE SERVES

BUSINESS

NEEDS

Page 23: Agile_  - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration

SOFTWARE IS

IMPORTANT!

Page 24: Agile_  - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration

WHAT’S A BETTER WAY TO PLAN AND ESTIMATE..

Features Resources Duration Cost

Page 25: Agile_  - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration

AGILE

Page 26: Agile_  - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration

Manifestoagilemanifesto.org

Page 27: Agile_  - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration

ManifestoIndividuals and Interactions

!

Working Software

!

Customer Collaboration !

Responding to Change

Processes and Tools !

Comprehensive Documentation !

Contract Negotiation !

Following a Plan

>

Page 28: Agile_  - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration

Benefits of Agile

Page 29: Agile_  - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration

HIGHER VISIBILITY.

Page 30: Agile_  - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration

HIGHER ADAPTABILITY.

Page 31: Agile_  - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration

REDUCED RISK AND UNCERTAINTY.

Page 32: Agile_  - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration

GREATER BUSINESS VALUE.

Page 33: Agile_  - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration

EMPOWERED. PURPOSE.

[for the engineers]

Page 34: Agile_  - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration

Comparison

Page 35: Agile_  - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration

Build UAT FixDesign

Time to Ship

Requirements

Waterfall

Page 36: Agile_  - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration

Time to Ship

High Level ScopeHigh Level DesignDetailed DesignEstimateBuildUAT

Agile

Page 37: Agile_  - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration

Syste

m Goal

Misfit

Build UAT FixDesignRequirements

Waterfall Product/Market Fit

Page 38: Agile_  - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration

Misfit

Build + UAT

Scope & Design

Agile Product/Market Fit

Page 39: Agile_  - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration

Kanban Scrum

Extreme Programming etc

Agile Implementations

Page 40: Agile_  - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration

Roles in an Agile Project

Page 41: Agile_  - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration

EngineersProduct OwnerCustomers

Icons: http://www.iconarchive.com/show/sleek-xp-basic-icons-by-deleket

Project Manager

Page 42: Agile_  - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration

Customers

• Use the system/service

• Provides feedback on the system/service

!

Page 43: Agile_  - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration

Product Owner

• Represents the stakeholders

• Represents customers and subject matter experts

• Manages product backlog by ranking and prioritizing user stories

• Ensures that the Team delivers value to the business

Page 44: Agile_  - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration

Project Manager

• Bridge between the Product Owner and Engineers

• Could be the Lead Developer too

!

Page 45: Agile_  - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration

Engineers

• Write the code

• Estimate the stories effort

• Provide expertise on simplest solution first

• Pivotal to the success or failure of a project

Page 46: Agile_  - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration

EngineersProduct OwnerCustomers

Project Manager

Icons: http://www.iconarchive.com/show/sleek-xp-basic-icons-by-deleket

Page 47: Agile_  - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration

Management Practices

Engineering Practices

Page 48: Agile_  - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration

Management Practices

• Inception

• Iteration Planning

• Release Planning

• Retrospectives

Page 49: Agile_  - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration

Engineering Practices

• Daily Standups

• Pair Programming

• Test Driven Development

• Continuous Integration/Deployment

Page 50: Agile_  - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration

Agile Project Life Cycle

Page 51: Agile_  - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration

Time to Ship

High Level ScopeHigh Level DesignDetailed DesignEstimateBuildUAT

AgileIn

cept

ion

Itera

tions

Page 52: Agile_  - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration

Agile

Iteration 1Inception Iteration 2

Retrospective (every 2-4 iterations)

Release Planning Meeting (every 12-24 iterations)

Iteration 3 ... Iteration n

Page 53: Agile_  - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration

Iteration

Build

Release

Iteration Planning Meeting

An Iteration

Page 54: Agile_  - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration

Stories Generation Stories Clarification Stories Estimation Stories Prioritization

Build

Release

Iteration Planning Meeting

An Iteration

Iteration

Page 55: Agile_  - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration

Daily Standups Pair Programming Test Driven Development

Build

Release

Iteration Planning Meeting

An Iteration

Iteration

Page 56: Agile_  - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration

Continuous Integration Continuous Deployment

Build

Release

Iteration Planning Meeting

An Iteration

Iteration

Page 57: Agile_  - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration

Build

Release

Iteration Planning Meeting

An Iteration

Stories Generation Stories Clarification Stories Estimation Stories Prioritization

Daily Standups Pair Programming Test Driven Development

Continuous Integration Continuous Deployment

Iteration

Page 58: Agile_  - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration

What is..

Page 59: Agile_  - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration

Inception

• Alignment and Expectation Setting

• Days to Week depending on size of project

• Agenda:

• Goals (Business, Product, Non-Goals)

• Risks

• High Level Stories Estimation and Prioritization

• Release Planning

[Management Practice]

Page 60: Agile_  - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration

“.. is used to create a release plan, which lays out the overall project. The release plan is then used to create iteration plans for each individual iteration.

-http://www.extremeprogramming.org/rules/planninggame.html

Release Planning Meetings[Management Practice]

Page 61: Agile_  - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration

Release Planning Meetings

• Each release is 3 - 6 months

• Business to make decision on MVP, and its features

• Release is planned by Time or Scope

• Project can be quantified by:

• Scope, Time, Resources and Quality

[Management Practice]

Page 62: Agile_  - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration

Release Planning Meetings[Management Practice]

Today

MVP

1 Iteration

Estimation by Engineers !

Prioritization by Product Owner

Page 63: Agile_  - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration

Release Planning Meetings[Management Practice]

Today

MVP

1 Iteration

Estimation by Engineers !

Prioritization by Product Owner

Page 64: Agile_  - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration

“.. is called at the beginning of each iteration. User stories are chosen for this iteration by the customer in order of the most valuable to the customer first.

-http://www.extremeprogramming.org/rules/iterationplanning.html

Iteration Planning Meetings[Management Practice]

Page 65: Agile_  - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration

Iteration Planning Meetings

• Each iteration is short, 1 - 3 weeks

• Features are prioritized, based on:

• Business value (usually in financial sense)

• Effort required

• Amount and significance of new knowledge gained from feature

• Risk added / removed

[Management Practice]

Page 66: Agile_  - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration

Retrospective

“.. play a very important role in iterative and incremental development. At the end of every iteration a retrospective is held to look for ways to improve the process for the next one.

- http://en.wikipedia.org/wiki/Retrospective

[Management Practice]

Page 67: Agile_  - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration

Retrospective

• Reflect and Adapt methods and to help whole team learning

• Benefits of Retrospectives:

• Productivity

• Capability

• Quality

• Capacity

[Management Practice]

Page 68: Agile_  - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration

Daily Standups

Page 69: Agile_  - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration

Daily Standups

• General project updates

• Which story did you work on yesterday?

• Which story are you going to work on today?

• Blockages?

[Engineering Practice]

Page 70: Agile_  - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration

Pair Programming

Page 71: Agile_  - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration

Pair Programming

• Benefits of Pair Programming:

• Focus

• Knowledge Exchange

• Collective Code Ownership

• High Code Quality

• Engineering Happiness!

[Engineering Practice]

http://winstonyw.com/2012/12/02/pair_programming/

Page 72: Agile_  - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration

Test Driven Development

“.. when you create your tests first, before the code, you will find it much easier and faster to create your code.

- http://www.extremeprogramming.org/rules/testfirst.html

[Engineering Practice]

Page 73: Agile_  - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration

Test Driven Development

• Red, Green, Refactor

• Benefits of Test Driven Development:

• Quality

• Accountability

• Maintainability

• Live Documentation

[Engineering Practice]

Page 74: Agile_  - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration

Continuous Integration/Deployment

Page 75: Agile_  - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration

Continuous Integration/Deployment

“.. often avoids diverging or fragmented development efforts, where developers are not communicating with each other about what can be re-used, or what could be shared.

- http://www.extremeprogramming.org/rules/integrateoften.html

[Engineering Practice]

Page 76: Agile_  - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration

WHAT SETS AGILE

APART FROM WATERFALL

Page 77: Agile_  - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration

High Level Stories Estimation and Prioritization

Page 78: Agile_  - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration

“.. one or more sentences in the everyday or business language of the end user or user of a system that captures what a user does or needs to do as part of his or her job function.

- http://en.wikipedia.org/wiki/User_story

What is a User Story?

Page 79: Agile_  - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration

As a <user role>, I want <capability>, so that <business value>.

Structure of a User Story (1)

Page 80: Agile_  - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration

Acceptance Criteria: 1. <do this> 2. <do that> ... n. <expected result>

Structure of a User Story (2)

Page 81: Agile_  - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration

As a Facebook User, I want to sign up with my FaceBook account, so that I can start using the service instantaneously.

Example of a User Story (1)

Page 82: Agile_  - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration

Acceptance Criteria: 1. Go to homepage 2. Click on “Login with Facebook” 3. Wait to be redirected to Facebook Login page 4. Login with your Facebook credentials 5. You will be redirected to homepage 6. You should see “Welcome John” in header

Example of a User Story (2)

Page 83: Agile_  - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration

HOW TO

ESTIMATE STORIES?

Page 84: Agile_  - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration

Techniques

Page 85: Agile_  - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration

ANALOGY.

Page 86: Agile_  - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration

EXPERT ADVICE.

Page 87: Agile_  - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration

DIVIDE AND CONQUER.

Page 88: Agile_  - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration

TECHNIQUES

NOT ENOUGH

Page 89: Agile_  - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration

TOTAL STORY POINTSVELOCITY DURATION=

Page 90: Agile_  - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration

Relative Sizing

Page 91: Agile_  - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration

Relativity

Page 92: Agile_  - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration

Type Size

Golf Ball

Basketball

Soccer Ball

Ping Pong Ball

Tennis Ball

Let’s Estimate

Estimate the size of these balls. Pick from S, M, L or XL.

S

XL

L

S

M

Page 93: Agile_  - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration

Size Chart and Story Points

Page 94: Agile_  - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration

Size Points Points

S 1 1

M 2 2

L 4 3

XL 8 5

XXL 16 8

Size Chart

Incr

easin

g Or

der o

f Com

plex

ity

Page 95: Agile_  - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration

TOTAL STORY POINTSVELOCITY DURATION=

Page 96: Agile_  - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration

Velocity

Page 97: Agile_  - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration

Velocity

• Story Points per Iteration (Throughput)

• Derived based on:

• Estimation

• Historical Data

• Depends on:

• Team Members (skills)

• Team Size

Page 98: Agile_  - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration

TOTAL STORY POINTSVELOCITY DURATION=

Page 99: Agile_  - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration

ESTIMATE WITH

PLANNING POKER

Page 100: Agile_  - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration

ENGINEERS

ESTIMATE !

Product Owner

PRIORITIZE

Page 101: Agile_  - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration

AGILE IS

CONSTANT FEEDBACK

Page 102: Agile_  - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration

Thank You