building software to help our clients grow s ince 1985 agile software development andrew nichols,...

59
building software to help our clients grow SINCE 1985 www.tallan.c om Agile Software Development Andrew Nichols, Certified Scrum Master 11/03/22 Tallan, Inc. Proprietary and Confidential. Copyright 2009 [email protected] Art Stewart, Director of Business Development [email protected]

Upload: asher-berry

Post on 26-Dec-2015

212 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Building software to help our clients grow S INCE 1985  Agile Software Development Andrew Nichols, Certified Scrum Master 9/6/2015Tallan,

building software to help our clients growSINCE 1985

www.tallan.com

Agile Software Development

Andrew Nichols, Certified Scrum Master

04/19/23Tallan, Inc. Proprietary and Confidential. Copyright 2009

[email protected] Stewart, Director of Business [email protected]

Page 2: Building software to help our clients grow S INCE 1985  Agile Software Development Andrew Nichols, Certified Scrum Master 9/6/2015Tallan,

Founded in 1985 Offices in NYC, Boston, LA, Tampa Over 100 technology consultants with a

wide range of expertise and knowledgeArchitects, developers, user experience

designers, technical managers, and testers

Delivered 1000’s of projects to over 500 clients

Focus on business-critical customized solutions

Company Overview

2Tallan, Inc. Proprietary and Confidential. Copyright 2009

Page 3: Building software to help our clients grow S INCE 1985  Agile Software Development Andrew Nichols, Certified Scrum Master 9/6/2015Tallan,

User Experience/Web Property Development – Leveraging the latest web technologies to build communities via the web

eCommerce Web Development - Connecting companies to their customers and partners (B2B and B2C)

Enterprise Application Integration and Service Oriented Architecture – Connecting critical internal and external systems, thereby increasing operational efficiency and leveraging existing assets

Business Intelligence – Providing internal and external users with accurate, timely, actionable information in the most understandable format

Both Microsoft .net framework and Java skillsets

Tallan Professional Services

3Tallan, Inc. Proprietary and Confidential. Copyright 2009

Page 4: Building software to help our clients grow S INCE 1985  Agile Software Development Andrew Nichols, Certified Scrum Master 9/6/2015Tallan,

Tallan, Inc. Proprietary and Confidential. Copyright 2009 4

Partnership - Microsoft

Managed Gold Level Partner Mid-Market, Enterprise Four Competencies

Custom Development Solutions- .netData Management Solutions-SQL Server, BI Business Process and Integration-BizTalk Server Information Worker Solutions-SharePoint Server

Page 5: Building software to help our clients grow S INCE 1985  Agile Software Development Andrew Nichols, Certified Scrum Master 9/6/2015Tallan,

Why Tallan?

20+ year history Delivered 1000’s of projects to over 500

companies Deliver on Time and on Budget = Client

Longevity ING: 7 years Disney: 5 years Talbots: 12 years Ingram Micro: 7 years Columbia House: 7 years Barnes & Noble: 5 years FedEx Office, formerly Kinko’s: 5 years

5Tallan, Inc. Proprietary and Confidential. Copyright 2009

Page 6: Building software to help our clients grow S INCE 1985  Agile Software Development Andrew Nichols, Certified Scrum Master 9/6/2015Tallan,

04/19/23Tallan, Inc. Proprietary and Confidential. Copyright 2009 6

The Traditional Waterfall

Requirements

Design

Develop

Test

Deploy

Originally introduced in 1970 by Winston W. Royce

Page 7: Building software to help our clients grow S INCE 1985  Agile Software Development Andrew Nichols, Certified Scrum Master 9/6/2015Tallan,

The Waterfall Approach

Assumes cost of change is lower earlier in the process

Strives to reduce rework with focus on upfront planning and design, measure twice cut once

Signoff and approval required at phase transition points

Page 8: Building software to help our clients grow S INCE 1985  Agile Software Development Andrew Nichols, Certified Scrum Master 9/6/2015Tallan,

Inflexible to Change

Heavy change control (prevention) processes

Requirements

Design

Develop

Test

Deploy

Page 9: Building software to help our clients grow S INCE 1985  Agile Software Development Andrew Nichols, Certified Scrum Master 9/6/2015Tallan,

Inherent problems with upfront design

Assumes perfect understanding of problem

Mistakes are unavoidable

Attempts to fix scope

Page 10: Building software to help our clients grow S INCE 1985  Agile Software Development Andrew Nichols, Certified Scrum Master 9/6/2015Tallan,

Poor Quality

Testing late in process increases risk of defects

Requirements

Design

Develop

Test

Deploy

Page 11: Building software to help our clients grow S INCE 1985  Agile Software Development Andrew Nichols, Certified Scrum Master 9/6/2015Tallan,

Poor Quality

Testing late in process increases risk of defects

Page 12: Building software to help our clients grow S INCE 1985  Agile Software Development Andrew Nichols, Certified Scrum Master 9/6/2015Tallan,

Difficult to get signoff in early phases

1. “I can’t sign off on all 300 pages of this requirement document”

2. “What are all these diagrams with arrows and boxes?”

Page 13: Building software to help our clients grow S INCE 1985  Agile Software Development Andrew Nichols, Certified Scrum Master 9/6/2015Tallan,

How does Agile address these issues?

Page 14: Building software to help our clients grow S INCE 1985  Agile Software Development Andrew Nichols, Certified Scrum Master 9/6/2015Tallan,

04/19/23Tallan, Inc. Proprietary and Confidential. Copyright 2009 14

The Traditional Waterfall

Requirements

Design

Develop

Test

Deploy

Page 15: Building software to help our clients grow S INCE 1985  Agile Software Development Andrew Nichols, Certified Scrum Master 9/6/2015Tallan,

04/19/23Tallan, Inc. Proprietary and Confidential. Copyright 2009 15

Agile Methods

Requirements

Design

Develop

Test

Deploy

Requirements

Design

Develop

Test

Deploy

Requirements

Design

Develop

Test

Deploy

Requirements

Design

Develop

Test

Deploy

Requirements

Design

Develop

Test

Deploy

Breaking up the work into small batches

Page 16: Building software to help our clients grow S INCE 1985  Agile Software Development Andrew Nichols, Certified Scrum Master 9/6/2015Tallan,

The Agile Methods

Iteratively Deliver Working Software

Page 17: Building software to help our clients grow S INCE 1985  Agile Software Development Andrew Nichols, Certified Scrum Master 9/6/2015Tallan,

On Time On Budget On Scope

Solves True Business Problem

Maximum Value Minimal Cost

Traditional Success Agile Definition of Success

Definition of Project Success

04/19/23Tallan, Inc. Proprietary and Confidential. Copyright 2009 17

Page 18: Building software to help our clients grow S INCE 1985  Agile Software Development Andrew Nichols, Certified Scrum Master 9/6/2015Tallan,

Waterfall Agile

The Old Triple Constraint

Scope is Fixed Quality is Fixed to High!

Page 19: Building software to help our clients grow S INCE 1985  Agile Software Development Andrew Nichols, Certified Scrum Master 9/6/2015Tallan,

7 Phases of Scrum

04/19/23Tallan, Inc. Proprietary and Confidential. Copyright 2009 19

Discovery

Release Planning

Sprint Planning

Daily Scrum

Develop/Test/Deploy

Sprint Demo

SprintRetrospect

ive

Page 20: Building software to help our clients grow S INCE 1985  Agile Software Development Andrew Nichols, Certified Scrum Master 9/6/2015Tallan,

7 Phases of Scrum

04/19/23Tallan, Inc. Proprietary and Confidential. Copyright 2009 20

Discovery

Release Planning

Sprint Planning

Daily Scrum

Develop/Test/Deploy

Sprint Demo

SprintRetrospect

ive

Page 21: Building software to help our clients grow S INCE 1985  Agile Software Development Andrew Nichols, Certified Scrum Master 9/6/2015Tallan,

04/19/23Tallan, Inc. Proprietary and Confidential. Copyright 2009 21

# Description

1 Login/Logout

2 Forgot Password

3 Change Password

4 View Account Summary

5 View Account Detail

6 Sort Detail by Date

7 Sort Detail by Check #

8 Sort Detail by Amount

Product Backlog

Page 22: Building software to help our clients grow S INCE 1985  Agile Software Development Andrew Nichols, Certified Scrum Master 9/6/2015Tallan,

7 Phases of Scrum

04/19/23Tallan, Inc. Proprietary and Confidential. Copyright 2009 22

Discovery

Release Planning

Sprint Planning

Daily Scrum

Develop/Test/Deploy

Sprint Demo

SprintRetrospect

ive

Page 23: Building software to help our clients grow S INCE 1985  Agile Software Development Andrew Nichols, Certified Scrum Master 9/6/2015Tallan,

04/19/23Tallan, Inc. Proprietary and Confidential. Copyright 2009 23

# Description Release

1 Login/Logout 1

2 Forgot Password 1

3 Change Password 1

4 View Account Summary 2

5 View Account Detail 2

6 Sort Detail by Date 3

7 Sort Detail by Check # 3

8 Sort Detail by Amount 3

Product Backlog

Page 24: Building software to help our clients grow S INCE 1985  Agile Software Development Andrew Nichols, Certified Scrum Master 9/6/2015Tallan,

7 Phases of Scrum

04/19/23Tallan, Inc. Proprietary and Confidential. Copyright 2009 24

Discovery

Release Planning

Sprint Planning

Daily Scrum

Develop/Test/Deploy

Sprint Demo

SprintRetrospect

ive

Page 25: Building software to help our clients grow S INCE 1985  Agile Software Development Andrew Nichols, Certified Scrum Master 9/6/2015Tallan,

7 Phases of Scrum

04/19/23Tallan, Inc. Proprietary and Confidential. Copyright 2009 25

Discovery

Release Planning

Sprint Planning

Daily Scrum

Develop/Test/Deploy

Sprint Demo

SprintRetrospect

ive

Page 26: Building software to help our clients grow S INCE 1985  Agile Software Development Andrew Nichols, Certified Scrum Master 9/6/2015Tallan,

7 Phases of Scrum

04/19/23Tallan, Inc. Proprietary and Confidential. Copyright 2009 26

Discovery

Release Planning

Sprint Planning

Daily Scrum

Develop/Test/Deploy

Sprint Demo

SprintRetrospect

ive

Page 27: Building software to help our clients grow S INCE 1985  Agile Software Development Andrew Nichols, Certified Scrum Master 9/6/2015Tallan,

7 Phases of Scrum

04/19/23Tallan, Inc. Proprietary and Confidential. Copyright 2009 27

Discovery

Release Planning

Sprint Planning

Daily Scrum

Develop/Test/Deploy

Sprint Demo

SprintRetrospect

ive

Page 28: Building software to help our clients grow S INCE 1985  Agile Software Development Andrew Nichols, Certified Scrum Master 9/6/2015Tallan,

7 Phases of Scrum

04/19/23Tallan, Inc. Proprietary and Confidential. Copyright 2009 28

Discovery

Release Planning

Sprint Planning

Daily Scrum

Develop/Test/Deploy

Sprint Demo

SprintRetrospect

ive

Page 29: Building software to help our clients grow S INCE 1985  Agile Software Development Andrew Nichols, Certified Scrum Master 9/6/2015Tallan,

7 Phases of Scrum

04/19/23Tallan, Inc. Proprietary and Confidential. Copyright 2009 29

Discovery

Release Planning

Sprint Planning

Daily Scrum

Develop/Test/Deploy

Sprint Demo

SprintRetrospect

ive

Page 30: Building software to help our clients grow S INCE 1985  Agile Software Development Andrew Nichols, Certified Scrum Master 9/6/2015Tallan,

Nobody is specialized Resources are available for

many different tasks Communication between roles

and team members is high Team is empowered to

determine best way to get job done

Team organization

Self Organizing Cross Functional Teams

Page 31: Building software to help our clients grow S INCE 1985  Agile Software Development Andrew Nichols, Certified Scrum Master 9/6/2015Tallan,

04/19/23Tallan, Inc. Proprietary and Confidential. Copyright 2009 31

Increase Flexibility Increase Quality Decrease Cost Decrease Risk More Predictable Timelines

Benefits of Iterative Approach

Page 32: Building software to help our clients grow S INCE 1985  Agile Software Development Andrew Nichols, Certified Scrum Master 9/6/2015Tallan,

Responsibilities

Users & Business Sponsor Developers and Testers

Defining Product Prioritizing Features Tracking Value

Estimating Delivering Quality

Page 33: Building software to help our clients grow S INCE 1985  Agile Software Development Andrew Nichols, Certified Scrum Master 9/6/2015Tallan,

Decrease cost of change

04/19/23Tallan, Inc. Proprietary and Confidential. Copyright 2009 33

Iteration1Features 1, 2, 3

Iteration 2 Features 5, 6, 7, 8

Iteration 2Features 4, 5

Scope changes allowed between iterations

Page 34: Building software to help our clients grow S INCE 1985  Agile Software Development Andrew Nichols, Certified Scrum Master 9/6/2015Tallan,

04/19/23Tallan, Inc. Proprietary and Confidential. Copyright 2009 34

Perfect Plan may not be the Best Plan

Embrace Flexibility

Perfect Plan

Best Plan

Page 35: Building software to help our clients grow S INCE 1985  Agile Software Development Andrew Nichols, Certified Scrum Master 9/6/2015Tallan,

Increase quality

Testing occurs within each iteration keeping defects low

Page 36: Building software to help our clients grow S INCE 1985  Agile Software Development Andrew Nichols, Certified Scrum Master 9/6/2015Tallan,

04/19/23Tallan, Inc. Proprietary and Confidential. Copyright 2009 36

Poka Yoke: Mistake Proof

Increase Quality

Page 37: Building software to help our clients grow S INCE 1985  Agile Software Development Andrew Nichols, Certified Scrum Master 9/6/2015Tallan,

04/19/23Tallan, Inc. Proprietary and Confidential. Copyright 2009 37

Test Early (Unit testing) Test Often (Continuous regression

testing) Automate Tests (Testing a part of build

process) Design Software to be Testable (IOC)

Increase Quality

Test Driven Development

Page 38: Building software to help our clients grow S INCE 1985  Agile Software Development Andrew Nichols, Certified Scrum Master 9/6/2015Tallan,

Decrease Cost

Rates of Feature Use in Software

Page 39: Building software to help our clients grow S INCE 1985  Agile Software Development Andrew Nichols, Certified Scrum Master 9/6/2015Tallan,

Decrease Cost

Never used features are prioritized out of project

Page 40: Building software to help our clients grow S INCE 1985  Agile Software Development Andrew Nichols, Certified Scrum Master 9/6/2015Tallan,

04/19/23Tallan, Inc. Proprietary and Confidential. Copyright 2009 40

Define Value

Page 41: Building software to help our clients grow S INCE 1985  Agile Software Development Andrew Nichols, Certified Scrum Master 9/6/2015Tallan,

04/19/23Tallan, Inc. Proprietary and Confidential. Copyright 2009 41

Decrease Cost

Page 42: Building software to help our clients grow S INCE 1985  Agile Software Development Andrew Nichols, Certified Scrum Master 9/6/2015Tallan,

04/19/23Tallan, Inc. Proprietary and Confidential. Copyright 2009 42

Decrease Cost

Page 43: Building software to help our clients grow S INCE 1985  Agile Software Development Andrew Nichols, Certified Scrum Master 9/6/2015Tallan,

04/19/23Tallan, Inc. Proprietary and Confidential. Copyright 2009 43

Decrease Cost

Page 44: Building software to help our clients grow S INCE 1985  Agile Software Development Andrew Nichols, Certified Scrum Master 9/6/2015Tallan,

Decrease Cost

1st Agile Release

Waterfall Release

Page 45: Building software to help our clients grow S INCE 1985  Agile Software Development Andrew Nichols, Certified Scrum Master 9/6/2015Tallan,

04/19/23Tallan, Inc. Proprietary and Confidential. Copyright 2009 45

Mistakes discovered earlier in process UAT performed upfront with more

customer involvement

Lower Risk

Page 46: Building software to help our clients grow S INCE 1985  Agile Software Development Andrew Nichols, Certified Scrum Master 9/6/2015Tallan,

Decrease Risk

“Biggest risk in a project is building the wrong product.”

[Mike Cohn 2005]

Page 47: Building software to help our clients grow S INCE 1985  Agile Software Development Andrew Nichols, Certified Scrum Master 9/6/2015Tallan,

How long will it take to implement 100 features?

What % complete are we?

How long did it take to implement 5 features?

How many tests are passing?

Predictive Means Empirical Means

More Predictable Timelines

04/19/23Tallan, Inc. Proprietary and Confidential. Copyright 2009 47

Page 48: Building software to help our clients grow S INCE 1985  Agile Software Development Andrew Nichols, Certified Scrum Master 9/6/2015Tallan,

Keys to Success and Challenges with Agile

04/19/23Tallan, Inc. Proprietary and Confidential. Copyright 2009 48

Page 49: Building software to help our clients grow S INCE 1985  Agile Software Development Andrew Nichols, Certified Scrum Master 9/6/2015Tallan,

Keys to success with Agile

Iteration scope must remain fixed Deliver high quality software at each

iteration“Team must meet their iteration

commitment”, Mary Poppendieck

Strong Product Management Strong interest from Business Owners

Page 50: Building software to help our clients grow S INCE 1985  Agile Software Development Andrew Nichols, Certified Scrum Master 9/6/2015Tallan,

Challenges with Agile

Constant delivery

Constant planning

Getting sufficient time from Product Managers

Product Manager’s ability to prioritize features

Page 51: Building software to help our clients grow S INCE 1985  Agile Software Development Andrew Nichols, Certified Scrum Master 9/6/2015Tallan,

Automated Testing Continuous Integration

Critical Agile Practices

Engineering Practices

Page 52: Building software to help our clients grow S INCE 1985  Agile Software Development Andrew Nichols, Certified Scrum Master 9/6/2015Tallan,

Daily Standup (Scrum) Transparency To Customer Cross Functional Team Single Project Focus Per Iteration

Critical Agile Practices

Management Practices

Page 53: Building software to help our clients grow S INCE 1985  Agile Software Development Andrew Nichols, Certified Scrum Master 9/6/2015Tallan,

04/19/23Tallan, Inc. Proprietary and Confidential. Copyright 2009 53

Scrum Ken Schwaber and Jeff Sutherland

eXtreme Programming Kent Beck, Ward Cunningham, Ron Jeffries

Crystal Methods Alistair Cockburn

Feature Driven Development Jeff DeLuca

Dynamic Systems Development Method DSDM Consortium

Agile Methodologies

Page 54: Building software to help our clients grow S INCE 1985  Agile Software Development Andrew Nichols, Certified Scrum Master 9/6/2015Tallan,

04/19/23Tallan, Inc. Proprietary and Confidential. Copyright 2009 54

Agile Project Management Jim Highsmith, Sanjiv Augustine

Agile ManagementDavid Anderson

eXtreme Project ManagementRob Thomsett, Doug DeCarlo

Agile Management Frameworks

Page 55: Building software to help our clients grow S INCE 1985  Agile Software Development Andrew Nichols, Certified Scrum Master 9/6/2015Tallan,

References and Recommended Reading

Agile Software Development with Scrum, Ken Schwaber

Lean Software Development, an Agile Toolkit, Mary Poppendieck

Agile Estimating and Planning, Mike Cohn

Managing the Development of Large Software Systems, Winston Royce

Standish Group Study Reported at XP2002, Jim Johnson

Page 56: Building software to help our clients grow S INCE 1985  Agile Software Development Andrew Nichols, Certified Scrum Master 9/6/2015Tallan,

Irony of the Waterfall Approach

“…the implementation…is risky and invites failure….invariably a major redesign is required…and one can expect up to a 100% overrun in schedule and/or costs.”, [Royce 1970]

Page 57: Building software to help our clients grow S INCE 1985  Agile Software Development Andrew Nichols, Certified Scrum Master 9/6/2015Tallan,

Questions?

04/19/23Tallan, Inc. Proprietary and Confidential. Copyright 2009 57

Page 58: Building software to help our clients grow S INCE 1985  Agile Software Development Andrew Nichols, Certified Scrum Master 9/6/2015Tallan,

A Different Kind of Contract

Traditional IT Contract Tell us the exact scope that you want and we will

estimate the date and cost. If you change the scope, we will surely extend the date and increase the cost.

Agile Contract Let’s agree on a target delivery date and we will deliver

your highest‐priority features as efficiently as possible. Discoveries along the way should lead to a better product than you could have specified up front.

Page 59: Building software to help our clients grow S INCE 1985  Agile Software Development Andrew Nichols, Certified Scrum Master 9/6/2015Tallan,

Agile Software Development Manifesto

We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:

That is, while there is value in the items on the right, we value the items on the left more.