Managing Software Projects Using Agile/Scrum

Post on 14-May-2015

3,671 views 0 download

Tags:

description

This presentation gives an overview of Agile software development process using Scrum. It compares and contrasts Agile/Scrum with Traditional approach (a.k.a, Waterfall). If your are new to Agile or thinking about introducing Agile to your company, this will help you show why.

transcript

Copyright 2010 Code71 Inc. All rights reserved.http://www.code71.com http://www.scrumpad.com

Managing Software Projects using Agile/Scrum

Syed RayhanCo-founder, Code71, Inc.Contact: srayhan@code71.comBlog: http://blog.syedrayhan.comCompany: http://www.code71.comProduct: http://www.scrumpad.com

http://www.scrumpad.comCopyright 2010 Code71 Inc. All rights reserved.http://www.code71.com

Agenda

• Tradit ional software development lifecycle• What are the issues with tradit ional software

development?• What is the answer?• What is Agile?• Why should you use it?• Scrum Framework• Q& A

http://www.scrumpad.comCopyright 2010 Code71 Inc. All rights reserved.http://www.code71.com

Tradit ional Software Project Lifecycle

Waterfall

Requirements

Implementation

Varification

Maintenance

Design

Feedback loop

http://www.scrumpad.comCopyright 2010 Code71 Inc. All rights reserved.http://www.code71.com

Assumptions of Waterfall Projects

Project can be accurately planned in details

http://www.scrumpad.comCopyright 2010 Code71 Inc. All rights reserved.http://www.code71.com

Assumptions of Waterfall projects

Words are precise

En tré e c om e s w ith s oup o r s a lad and b re ad

Soup or (s a la d and bre a d)?(S oup or s a la d) and bre a d?

http://www.scrumpad.comCopyright 2010 Code71 Inc. All rights reserved.http://www.code71.com

And the result…

According to the Standish group, only 34% IT projects are successful

http://www.scrumpad.comCopyright 2010 Code71 Inc. All rights reserved.http://www.code71.com

A few top reasons for failure

. Unrealistic or unarticulated project goals

Inaccurate estimates

Badly defined system requirements

Poor communication among customers,developers, and users

Stakeholder politics

Poor software development process andpractices

1

2

3

4

5

6

http://www.scrumpad.comCopyright 2010 Code71 Inc. All rights reserved.http://www.code71.com

In reality, software projects are like…

forecasting weather- rain or

shine?

http://www.scrumpad.comCopyright 2010 Code71 Inc. All rights reserved.http://www.code71.com

In reality, software projects are like…

functional silos?

highly interactive cross-functional social sett ings?

http://www.scrumpad.comCopyright 2010 Code71 Inc. All rights reserved.http://www.code71.com

In reality, software projects involve…

factory workers who needs detailed direction ?

knowledge workers who can self-manage?

http://www.scrumpad.comCopyright 2010 Code71 Inc. All rights reserved.http://www.code71.com

What is the solution?

We need a new way of looking at the problem!

http://www.scrumpad.comCopyright 2010 Code71 Inc. All rights reserved.http://www.code71.com

Birth of Agile Software Development

In 2001, a group of thought leaders in the software industry defined

“Agile Manifesto”

There has to be a better way to reduce the failure rate… ..

http://www.scrumpad.comCopyright 2010 Code71 Inc. All rights reserved.http://www.code71.com

Agile Manifesto

• Individuals and interactions

• Working software

• Customer collaboration

• Responding to change

• Processes and tools

• Comprehensive documentation

• Contract negotiation

• Following a plan

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

Over

Source : http://a gilemanife s to.org/

http://www.scrumpad.comCopyright 2010 Code71 Inc. All rights reserved.http://www.code71.com

Agile Principles

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

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

http://www.scrumpad.comCopyright 2010 Code71 Inc. All rights reserved.http://www.code71.com

Agile Principles Contd.

• Working software is the primary measure of progress.

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

http://www.scrumpad.comCopyright 2010 Code71 Inc. All rights reserved.http://www.code71.com

What is Agile Software Development?

• Any process that incorporates the Agile Manifesto is called Agile process

– Scrum– XP– DSDM– FDD– Agile RUP

“Agile Software Development" is an umbrella term … ..

http://www.scrumpad.comCopyright 2010 Code71 Inc. All rights reserved.http://www.code71.com

Survey Results from “State of Agile Development”

A survey conducted in June 2007, 1700 individuals from 71 countries part icipated

Metric >=10% >=25%Increased productivity 90% 55%Cost reduction 66% 28%Reduced software defects 85% 54%Quicker implementation 83% 54%

Most popular Agile MethodologyScrum 37%Scrum/XP Hybrid 23%XP 12%DSDM 5%

Source :http://www.ve rs ionone .com/pdf/S ta teOfAgileDeve lopme t2_FullDa taReport.pdf

http://www.scrumpad.comCopyright 2010 Code71 Inc. All rights reserved.http://www.code71.com

Scrum Framework

•Product Owner•Development team•Scrum Master

• Sprint Planning• Sprint Review• Daily Scrum• Sprint Retrospect

• Product Backlog• Sprint Backlog• Burndown Chart

ToolsRitualsRoles &Responsibilit ies

Self-managing Team

Iterative and Incremental delivery

Inspect & AdaptPrinciples

mechanics

3 4 3

http://www.scrumpad.comCopyright 2010 Code71 Inc. All rights reserved.http://www.code71.com

Scrum Processes

Stories broken down into

tasks

1. What did I do yesterday?2. What will I do today?3. Any Impediments?

Track done

http://www.scrumpad.comCopyright 2010 Code71 Inc. All rights reserved.http://www.code71.com

Roles and Responsibilit ies

• Manages product backlog in priority order• Represents all stakeholders’ needs

• Removes impediments to allow the team to make progress at constant/desired pace• Facilitates communication/interaction among all parties

• Performs the actual development work• Decides on how works get done• Responsible for managing the sprint backlog and meeting the self-defined target

Symbiotic Relationship through cooperation yet keeps each other focused

Product Owner

Scrum Master Development Team

http://www.scrumpad.comCopyright 2010 Code71 Inc. All rights reserved.http://www.code71.com

Key Concepts- Iterative and Incremental Delivery

Iterative and Incremental (frequent) delivery of working software

Data Tier

Business Tier

UI

Valuable and usable

Valuable but not usable

How to slice requirements?

http://www.scrumpad.comCopyright 2010 Code71 Inc. All rights reserved.http://www.code71.com

Key Concepts- Self-organizing Team

Cross-functional, Self-organizing Team

http://www.scrumpad.comCopyright 2010 Code71 Inc. All rights reserved.http://www.code71.com

Key Concepts- Inspect & Adapt

Inspect & Adapt

http://www.scrumpad.comCopyright 2010 Code71 Inc. All rights reserved.http://www.code71.com

Key Concepts

Information Radiators

ScrumPad provides electronic “K anban.”

http://www.scrumpad.comCopyright 2010 Code71 Inc. All rights reserved.http://www.code71.com

Planning-Tradit ional vs. Scrum

Fixed

Estimated

Scope/Requirements

Costs Schedule

Costs Schedule

Scope/Requirements

Plan DrivenValue Driven

http://www.scrumpad.comCopyright 2010 Code71 Inc. All rights reserved.http://www.code71.com

Roles- Tradit ional vs. Scrum

Development TeamScrum MasterProduct Owner

Project Manager

What? How and When?Facilitates

t ime

involvement

Scrum masterProduct owner

http://www.scrumpad.comCopyright 2010 Code71 Inc. All rights reserved.http://www.code71.com

Organization- Tradit ional vs. Scrum

Analysts

UIDeveloper

DBDeveloper

MiddlewareDeveloper

Tester

Team 1

Team 2

Tradit ional Agile

AnalystsDevelopersTestersSystem Admins

http://www.scrumpad.comCopyright 2010 Code71 Inc. All rights reserved.http://www.code71.com

Project ROI- Tradit ional vs. Scrum

Timeline in Months

valu

e

T imeline in months

valu

e

Waterfall

Agile

Which one has higher

risk?

6

1 2 3 4

http://www.scrumpad.comCopyright 2010 Code71 Inc. All rights reserved.http://www.code71.com

Mechanics- Tradit ional vs. Agile

• Sprint Estimates• Release Estimates• Level of details matches the planning horizon• Empirical timeboxes

• Release and Sprint Burndowns• Impediment List• Short daily stand-up meetings• # of features accepted• Serial checkpoints

Project Plan

Tracking

• WBS• Plan in details to the end• Procedural phases

• Gantt chart• Issues List• Long weekly status meetings• % completion of tasks• Parallel checkpoints

• Emerging design• Continuous integration• Continuous tests• Never miss build• Incremental delivery

Engineering• Grand upfront design• Large integration on the backend• Long tests on the backend• Never miss development• Big-bang delivery

Scrum Waterfall

http://www.scrumpad.comCopyright 2010 Code71 Inc. All rights reserved.http://www.code71.com

Tradit ional vs. Agile

• Protect the project scope• Conformance to the plan• Squeeze tests rather scope• Culture of sign-offs• Direct, monitor, and control• Contract with customer

Culture • Protect the iteration scope• Response to changes• Squeeze low priority scope• Culture of learning and adoption • Facilitate, observe, and serve• Partner with customer

Scrum Waterfall

• Prioritized backlog and Impediment list • Information radiators• Daily stand-ups• Reviews and retrospectives• Embedded activity

Risk Management

• Risk list• Separate activity

http://www.scrumpad.comCopyright 2010 Code71 Inc. All rights reserved.http://www.code71.com

Lean Concepts in Agile

How Agile/Scrum Minimizes

Transportation => Continuous integration, automated deployment

Inventory => Just in time elaboration of requirements

Motion => Physical or virtual collocation (open-space)

Waiting => Cross-functional team

Overproduction => Prioritized backlog (requirements)

Over processing => Time-boxed small development cycles

Defects => Agile engineering practices (CI, TDD, etc.)

1

2

3

4

5

6

7

7 “Mudas” or Wastes

ScrumPad makes it easy to eliminate/reduce wastes

http://www.scrumpad.comCopyright 2010 Code71 Inc. All rights reserved.http://www.code71.com

Agile/Scrum adoption

2006 2007 2009

65% 69% 69%

Increasingly more companies are adopting agile

Source : http://www.ddj.com/a rchite c t/20760061 5

http://www.scrumpad.comCopyright 2010 Code71 Inc. All rights reserved.http://www.code71.com

Agile Community

Scrum has been used for projects of all shapes and sizes.

• Agile Alliance• Agile 2010 Conference

• Scrum Alliance• Certifications • Scrum Gathering 2010

• User Groups

• PMI Agile Group

http://www.scrumpad.comCopyright 2010 Code71 Inc. All rights reserved.http://www.code71.com

Diverse projects, organizations are using Scrum

•Nielsen Media•First American Real Estate•BMC Software•John Deere•Lexis Nexis•Sabre•Salesforce.com•Time Warner•Turner Broadcasting

•Microsoft•Yahoo•Google•Electronic Arts•High Moon Studios•Lockheed Martin•Philips•Siemens•Nokia•Capital One•BBC•Intuit

Scrum has been used for projects of all shapes and sizes.

http://www.scrumpad.comCopyright 2010 Code71 Inc. All rights reserved.http://www.code71.com

Q& A

Please contact for on-site training or Webinar:Contact: srayhan@code71.comBlog: http://blog.syedrayhan.comCompany: http://www.code71.comProduct: http://www.scrumpad.com