35
Copyright 2010 Code71 Inc. All rights reserved. http://www.code71.com http://www.scrumpad.com Managing Software Projects using Agile/Scrum Syed Rayhan Co-founder, Code71, Inc. Contact: [email protected] Blog: http://blog.syedrayhan.com Company: http://www.code71.com Product: http://www.scrumpad.com

Managing Software Projects Using Agile/Scrum

Embed Size (px)

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.

Citation preview

Page 1: Managing Software Projects Using Agile/Scrum

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: [email protected]: http://blog.syedrayhan.comCompany: http://www.code71.comProduct: http://www.scrumpad.com

Page 2: Managing Software Projects Using Agile/Scrum

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

Page 3: Managing Software Projects Using Agile/Scrum

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

Page 4: Managing Software Projects Using Agile/Scrum

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

Page 5: Managing Software Projects Using Agile/Scrum

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?

Page 6: Managing Software Projects Using Agile/Scrum

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

Page 7: Managing Software Projects Using Agile/Scrum

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

Page 8: Managing Software Projects Using Agile/Scrum

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?

Page 9: Managing Software Projects Using Agile/Scrum

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?

Page 10: Managing Software Projects Using Agile/Scrum

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?

Page 11: Managing Software Projects Using Agile/Scrum

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!

Page 12: Managing Software Projects Using Agile/Scrum

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

Page 13: Managing Software Projects Using Agile/Scrum

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/

Page 14: Managing Software Projects Using Agile/Scrum

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.

Page 15: Managing Software Projects Using Agile/Scrum

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.

Page 16: Managing Software Projects Using Agile/Scrum

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

Page 17: Managing Software Projects Using Agile/Scrum

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

Page 18: Managing Software Projects Using Agile/Scrum

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

Page 19: Managing Software Projects Using Agile/Scrum

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

Page 20: Managing Software Projects Using Agile/Scrum

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

Page 21: Managing Software Projects Using Agile/Scrum

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?

Page 22: Managing Software Projects Using Agile/Scrum

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

Key Concepts- Self-organizing Team

Cross-functional, Self-organizing Team

Page 23: Managing Software Projects Using Agile/Scrum

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

Key Concepts- Inspect & Adapt

Inspect & Adapt

Page 24: Managing Software Projects Using Agile/Scrum

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

Key Concepts

Information Radiators

ScrumPad provides electronic “K anban.”

Page 25: Managing Software Projects Using Agile/Scrum

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

Page 26: Managing Software Projects Using Agile/Scrum

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

Page 27: Managing Software Projects Using Agile/Scrum

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

Page 28: Managing Software Projects Using Agile/Scrum

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

Page 29: Managing Software Projects Using Agile/Scrum

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

Page 30: Managing Software Projects Using Agile/Scrum

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

Page 31: Managing Software Projects Using Agile/Scrum

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

Page 32: Managing Software Projects Using Agile/Scrum

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

Page 33: Managing Software Projects Using Agile/Scrum

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

Page 34: Managing Software Projects Using Agile/Scrum

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.

Page 35: Managing Software Projects Using Agile/Scrum

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: [email protected]: http://blog.syedrayhan.comCompany: http://www.code71.comProduct: http://www.scrumpad.com