43
An Introduction to AGILE By Sunil Phal tank ar

An Introduction to AGILE

Embed Size (px)

Citation preview

Page 1: An Introduction to AGILE

8/8/2019 An Introduction to AGILE

http://slidepdf.com/reader/full/an-introduction-to-agile 1/43

An Introduction to AGILE

By

Sunil Phaltankar

Page 2: An Introduction to AGILE

8/8/2019 An Introduction to AGILE

http://slidepdf.com/reader/full/an-introduction-to-agile 2/43

Before we start …

One good news – More and more projects are moving to AGILE.

• Why ?

• One not-so good news

 – Many AGILE projects do not end up in getting the

benefits, that is expected by following AGILE

• Why ?

• One question

 – What makes AGILE project success?

Page 3: An Introduction to AGILE

8/8/2019 An Introduction to AGILE

http://slidepdf.com/reader/full/an-introduction-to-agile 3/43

Agenda

Why AGILE• What is AGILE

• Phases of AGILE

• AGILE Methods• AGILE Scrum

• Scalability

Duration : ~ 2 hours

Page 4: An Introduction to AGILE

8/8/2019 An Introduction to AGILE

http://slidepdf.com/reader/full/an-introduction-to-agile 4/43

Why AGILE ?

80%* of all software projects fail to deliverworking software on time and within budget

• Top 5 Reasons:

 –

Lack of customer involvement – Poor or vague requirements

 – Unrealistic schedules

 – Lack of change management

 – Lack of sufficient testing

 – Inflexible processes

* IEEE estimate

Page 5: An Introduction to AGILE

8/8/2019 An Introduction to AGILE

http://slidepdf.com/reader/full/an-introduction-to-agile 5/43

Agile: Dictionary meaning

adj.• Characterized by quickness, lightness, and ease of 

movement; nimble.

• Mentally quick or alert: an agile mind.

[French, from Latin agilis, from agere, to drive, do.]

• agilely ag'ile·ly adv.

• agileness ag'ile·ness n.

Agile is a light-weight methodology that allows teams to develop

software in the face of vague and rapidly changing requirements

What is AGILE?

Page 6: An Introduction to AGILE

8/8/2019 An Introduction to AGILE

http://slidepdf.com/reader/full/an-introduction-to-agile 6/43

How AGILE addresses top 5 reasons?

• Lack of customer involvement 

 – Agile made customer a member of the team.

• Poor or vague requirements

 – Requirements are written as acceptance tests (user stories) justbefore any code is written.

• Unrealistic schedules

 – Agile make estimating & scheduling a collaborative processbetween customer & development team.

• Lack of change management 

 – Change is crux of Agile. Anything can change except deliverydate. Everyone has to be realistic about change.

• Lack of testing

 – Agile involves continuous build and testing of the code.

• Inflexible processes

 – Agile integrates project management into the process.

Page 7: An Introduction to AGILE

8/8/2019 An Introduction to AGILE

http://slidepdf.com/reader/full/an-introduction-to-agile 7/43

What is AGILE Methodology?

• Software development is – Incremental & Iterative

• small software releases, with rapid cycles

 – Co-operative• Customers and developers working constantly together with

close communication – Straightforward

• the method itself is easy to learn and to modify, welldocumented

 – Adaptive• able to make last moment changes

Iterative and incremental development, where requirements

and solutions evolve through collaboration between self-

organizing, cross-functional teams

Page 8: An Introduction to AGILE

8/8/2019 An Introduction to AGILE

http://slidepdf.com/reader/full/an-introduction-to-agile 8/43

Agile Manifesto

Source: www.agilemanifesto.org

 Individuals &

interactions

Working Software

 Customer

Collaboration

 Responding to

Change

Processes & Tools

 ComprehensiveDocumentation

 Contract

Negotiation

Following a Plan

over

over

over

over

A statement of values

Page 9: An Introduction to AGILE

8/8/2019 An Introduction to AGILE

http://slidepdf.com/reader/full/an-introduction-to-agile 9/43

AGILE Characteristics

• Break task into small increments with minimal planning

• Iterations are short time-frames (time-boxes)

• Each iteration involves: Planning, RequirementAnalysis, Design, Coding, Unit Testing, and AcceptanceTesting (full SDLC)

• Multiple iterations may be required to release newfeatures

• Minimizes overall risk

• Allows the project to adopt to changes quickly

• Cross-functional and Self-organizing teams

• Team members take responsibility for tasks thatdelivers the functionality

Page 10: An Introduction to AGILE

8/8/2019 An Introduction to AGILE

http://slidepdf.com/reader/full/an-introduction-to-agile 10/43

Page 11: An Introduction to AGILE

8/8/2019 An Introduction to AGILE

http://slidepdf.com/reader/full/an-introduction-to-agile 11/43

Phases of AGILE

AGILE Planning• AGILE Design

• AGILE Development

Page 12: An Introduction to AGILE

8/8/2019 An Introduction to AGILE

http://slidepdf.com/reader/full/an-introduction-to-agile 12/43

AGILE Planning

• Project Scope: – Customer Requirements may change frequently

 – No focus on clear cut project scope

 – Project scope is frozen only for current iteration

• Estimation: – limited for particular feature in particular iteration

 – Done by the team, collaboratively with customer

 – More realistic

 – Previous experiences may be utilized

• Project Duration: – Fixed by customer and deadline is sacred

 – Features may be added, removed or scaled down toadhere to deadline.

Page 13: An Introduction to AGILE

8/8/2019 An Introduction to AGILE

http://slidepdf.com/reader/full/an-introduction-to-agile 13/43

AGILE Planning – cont.

Agile Plan:

• Created & owned by Agile Team

• In consultation with all stakeholders

• High Level Plan – Overall Objectives & Goals of product/project

 – Schedule for the same – In consultation with team

 – Feature based

• Comprehensive Plan

 – Detailed plan – By team, during periodic team meeting

 – Complements high level plan

• Plans are updated once tasks are completed by team

Page 14: An Introduction to AGILE

8/8/2019 An Introduction to AGILE

http://slidepdf.com/reader/full/an-introduction-to-agile 14/43

AGILE Design

• Software architecture & design that provide room for

 future additions & enhancements – Modularize

 – Keep Clean & simple

• UML used to define and represent system architecture

& workflow• Logically dividing complex tasks into smaller sub-tasks

• Focus on code structures than design diagrams

• Object oriented design strategy –

Code Abstraction – Inheritance

 – Week coupling

 – High Cohesion

Page 15: An Introduction to AGILE

8/8/2019 An Introduction to AGILE

http://slidepdf.com/reader/full/an-introduction-to-agile 15/43

AGILE Development

• Iterative & incremental development

• Each iteration involves full SDLC: – Planning:

• Scope (features) identification

• Requirement Analysis

• Designing – Coding:

• Coding and unit testing

• Continuous integration & Acceptance Testing

• Refactoring

 – Review:• Presentation & Review of completed work

• Feedback from customer

• Acceptance / Rejection of work by customer

Page 16: An Introduction to AGILE

8/8/2019 An Introduction to AGILE

http://slidepdf.com/reader/full/an-introduction-to-agile 16/43

AGILE methods

Well-known agile software development methods:

 – Agile Modeling

 – Agile Unified Process (AUP)

 – Dynamic Systems Development Method (DSDM)

 – Essential Unified Process (EssUP)

 – Extreme Programming (XP)

 – Feature Driven Development (FDD)

 –Open Unified Process (OpenUP)

 – Scrum

 – Velocity tracking

Page 17: An Introduction to AGILE

8/8/2019 An Introduction to AGILE

http://slidepdf.com/reader/full/an-introduction-to-agile 17/43

AGILE SCRUM

AGILE Development Method

Page 18: An Introduction to AGILE

8/8/2019 An Introduction to AGILE

http://slidepdf.com/reader/full/an-introduction-to-agile 18/43

AGILE Scrum

Scrum is an iterative, incremental methodologyfor project management.

Page 19: An Introduction to AGILE

8/8/2019 An Introduction to AGILE

http://slidepdf.com/reader/full/an-introduction-to-agile 19/43

AGILE Scrum - Characteristics

• Iteration: 2-4 weeks ‘sprint’

• Incremental: Product progresses in a series of ‘sprints’

• Self-organizing teams, team collaboration

through daily scrum meetings• Constant Customer involvement from

requirement definition till acceptance

• Requirements are captured as items in a list of ‘product backlog’

• No specific engineering practices prescribed(Team can use any or none)

Page 20: An Introduction to AGILE

8/8/2019 An Introduction to AGILE

http://slidepdf.com/reader/full/an-introduction-to-agile 20/43

Sprints

Scrum iteration• 2 –4 weeks or a calendar month at most

• A constant duration leads to a better rhythm

•Product is designed, coded, and tested duringthe sprint

Page 21: An Introduction to AGILE

8/8/2019 An Introduction to AGILE

http://slidepdf.com/reader/full/an-introduction-to-agile 21/43

AGILE Scrum - Development

Source: “The New Product Development Game” by Takeuchi and Nonaka. Harvard Business Review, January 1986.

Rather than doing all of 

one thing at a time...

Rather than doing all of 

one thing at a time...

...Scrum teams do a little

of everything all the time

...Scrum teams do a little

of everything all the time

Requirements Design Code Test

Page 22: An Introduction to AGILE

8/8/2019 An Introduction to AGILE

http://slidepdf.com/reader/full/an-introduction-to-agile 22/43

Scrum Framework

•Product owner

•Team

•Scrum Master

Roles

•Sprint Planning

•Daily Scrum Meeting

•Sprint Review

•Sprint Retrospective

Meetings

•Product Backlog

•Sprint Backlog

•Burn down

Artifacts

Page 23: An Introduction to AGILE

8/8/2019 An Introduction to AGILE

http://slidepdf.com/reader/full/an-introduction-to-agile 23/43

Scrum Framework

•Product owner

•Team

•Scrum Master

Roles

•Daily Scrum Meeting

•Sprint Planning

•Sprint Review

•Sprint Retrospective

Meetings

•Product Backlog

•Sprint Backlog

•Burn down

Artifacts

Page 24: An Introduction to AGILE

8/8/2019 An Introduction to AGILE

http://slidepdf.com/reader/full/an-introduction-to-agile 24/43

Product Owner

• Voice of the customer

• Decide on release date and content

• Defines sprint goals

• Defines the features (user stories) of the product

• Prioritize features according to market value

• Adjust features and priority every iteration, asneeded

•Accept or reject work results

• Be responsible for the profitability of the product(ROI)

Page 25: An Introduction to AGILE

8/8/2019 An Introduction to AGILE

http://slidepdf.com/reader/full/an-introduction-to-agile 25/43

The Team

• Responsibility to deliver product

• Typically 5-9 people

• Cross-functional:

 – Programmers, testers, user experience designers,

etc.

• Members should be full-time

 – May be exceptions (e.g., database administrator)

• Teams are self-organizing• Membership should change only between

sprints

Page 26: An Introduction to AGILE

8/8/2019 An Introduction to AGILE

http://slidepdf.com/reader/full/an-introduction-to-agile 26/43

The Scrum Master

• Removes impediments

• Shield the team from external interferences

• Enable close cooperation across all roles andfunctions

• Responsible for enacting Scrum values andpractices

• Ensure that the team is fully functional and

productive• Represents management to the project

(though not a leader of the team)

Page 27: An Introduction to AGILE

8/8/2019 An Introduction to AGILE

http://slidepdf.com/reader/full/an-introduction-to-agile 27/43

Scrum Framework

•Scrum Master

•Product owner

•Team

Roles

•Sprint Planning

•Daily Scrum Meeting

•Sprint Review

•Sprint Retrospective

Meetings

•Product Backlog

•Sprint Backlog

•Burn down

Artifacts

Page 28: An Introduction to AGILE

8/8/2019 An Introduction to AGILE

http://slidepdf.com/reader/full/an-introduction-to-agile 28/43

Sprint Planning Meeting

• Team selects items from the product backlog they

can commit to completing

• Sprint backlog is created

 – Tasks are identified and each is estimated (1-16 hours)

 –

Collaboratively, not done alone by the Scrum Master• High-level design is considered

As a vacation

planner, I wantto see photos ofthe hotels.

As a vacation

planner, I wantto see photos ofthe hotels.

1. Code the middle tier (8)

2. Code the user interface (4)3. Write test fixtures (4)

4. Code the foo class (6)

5. Update performance tests (4)

1. Code the middle tier (8)

2. Code the user interface (4)3. Write test fixtures (4)

4. Code the foo class (6)

5. Update performance tests (4)

Product Backlog Sprint Backlog

Page 29: An Introduction to AGILE

8/8/2019 An Introduction to AGILE

http://slidepdf.com/reader/full/an-introduction-to-agile 29/43

Sprint Planning Meeting – cont.

Sprint planning meeting

Sprint prioritization

• Analyze and evaluate product

backlog

• Select sprint goal

Sprint planning

• Decide how to achieve sprint goal

(design)• Create sprint backlog (tasks) from

product backlog items (user stories

/ features)

• Estimate sprint backlog in hours

 TeamCapacity

 Product

Backlog

 Business

Conditions

 CurrentProduct

Technology

Sprint

Goal

SprintBacklog

Page 30: An Introduction to AGILE

8/8/2019 An Introduction to AGILE

http://slidepdf.com/reader/full/an-introduction-to-agile 30/43

The Daily Scrum Meeting

• Called a ‘daily scrum’ or ‘daily stand-up’ meeting

• Parameters

 – Daily at same time, same location

 – 15-minutes max.

 –Stand-up

• Not for problem solving

• Whole world is invited

Only team members, Scrum Master, productowner, can talk

• Helps avoid other unnecessary meetings

Page 31: An Introduction to AGILE

8/8/2019 An Introduction to AGILE

http://slidepdf.com/reader/full/an-introduction-to-agile 31/43

The Daily Scrum Meeting – cont.

• Everyone answers 3 questions :

• These are not status for the Scrum Master

• They are commitments in front of peers

What did you do yesterday?What did you do yesterday?11

What will you do today?What will you do today?22

Is anything in your way?Is anything in your way?33

Page 32: An Introduction to AGILE

8/8/2019 An Introduction to AGILE

http://slidepdf.com/reader/full/an-introduction-to-agile 32/43

Sprint Review Meeting

• Review the completed & non-completed work

• Present completed work during the sprint – A demo of new features or underlying architecture

• In-complete work may or may not be carried overto next sprint

• Informal – Max 4 hour

 – 2-hour prep time

 – No slides

• Whole team participates

• Invite the world

Page 33: An Introduction to AGILE

8/8/2019 An Introduction to AGILE

http://slidepdf.com/reader/full/an-introduction-to-agile 33/43

Sprint Retrospective Meeting

• Done after every sprint (after sprint review

meeting)• All team members reflect on past sprint

• Make continuous process improvements

• Whole team, Scrum Master, Product Ownerparticipates

• Other stakeholders may attend

• Two questions asked: –

What went well during sprint? – What can be improved in the next sprint?

• Max 3 hours

Page 34: An Introduction to AGILE

8/8/2019 An Introduction to AGILE

http://slidepdf.com/reader/full/an-introduction-to-agile 34/43

Page 35: An Introduction to AGILE

8/8/2019 An Introduction to AGILE

http://slidepdf.com/reader/full/an-introduction-to-agile 35/43

Product Backlog

• The Requirements

• A list of all desired work / features on the

project

Ideally expressed such that each item hasvalue to the users or customers of the product

(in the form of user stories)

• Prioritized by the product owner

• Reprioritized at the start of each sprint

Page 36: An Introduction to AGILE

8/8/2019 An Introduction to AGILE

http://slidepdf.com/reader/full/an-introduction-to-agile 36/43

Sample Product Backlog

Backlog Items Estimate

Allow a guest to make a reservation 3

As a guest, I want to cancel a reservation. 5

As a guest, I want to change the dates of a reservation. 3

As a hotel employee, I can run RevPAR reports

(revenue-per-available-room)

8

Improve exception handling 8

… 30

… 30

Page 37: An Introduction to AGILE

8/8/2019 An Introduction to AGILE

http://slidepdf.com/reader/full/an-introduction-to-agile 37/43

Sprint Backlog

• Product backlog items selected for the sprint

• Tasks & subtasks created for sprint backlog items

• Individuals take up tasks – never assigned

• Team estimates each task and updates sprint

backlog• Estimated work remaining is updated daily

• Any team member can add, delete or change any

task of sprint backlog• If not clear, assign max time to backlog item, then

later break it down to tasks & subtasks andupdate the estimate

Page 38: An Introduction to AGILE

8/8/2019 An Introduction to AGILE

http://slidepdf.com/reader/full/an-introduction-to-agile 38/43

Sample Sprint Backlog

Task Mon Tue Wed Thu Fri

Code the user interface 8 4 8

Code the middle tier 16 12 10 4

Test the middle tier 8 16 16 11 8

Write online help 12Write the foo class 8 8 8 8 8

Add error logging 8 4 4

Page 39: An Introduction to AGILE

8/8/2019 An Introduction to AGILE

http://slidepdf.com/reader/full/an-introduction-to-agile 39/43

Sprint Burn-down chart

52

4042

27

16

0

10

20

30

40

50

60

Mon Tue Wed Thu Fri

Estimated Work Remaining

       H     o     u     r     s

Page 40: An Introduction to AGILE

8/8/2019 An Introduction to AGILE

http://slidepdf.com/reader/full/an-introduction-to-agile 40/43

Scalability

• Called Scrum of Scrums

• Individual team is 7 ± 2 people

 – Scalability comes from team of teams

Factors in scaling: – Type of application

 – Team size

 – Team dispersion

 – Project duration

• Scrum has been used on multiple 500+ person

projects

Page 41: An Introduction to AGILE

8/8/2019 An Introduction to AGILE

http://slidepdf.com/reader/full/an-introduction-to-agile 41/43

Questions?

• What makes AGILE project Success ?

Page 42: An Introduction to AGILE

8/8/2019 An Introduction to AGILE

http://slidepdf.com/reader/full/an-introduction-to-agile 42/43

Attribution

Some portions of this presentation are from:

A presentation by: Mike Cohn

Mountain Goat Software, LLC

www.mountaingoatsoftware.com

(720) 890-6110

A presentation by: Mike Cohn

Mountain Goat Software, LLC

www.mountaingoatsoftware.com

(720) 890-6110

Page 43: An Introduction to AGILE

8/8/2019 An Introduction to AGILE

http://slidepdf.com/reader/full/an-introduction-to-agile 43/43

Thank You

Sunil Phaltankar

[email protected]