Nothing Special   »   [go: up one dir, main page]

Agile Development Methodology

Download as pdf or txt
Download as pdf or txt
You are on page 1of 11

Agile Development Methodology and SCRUM

Imran Ashraf

Agenda
Agile Approach to Projects Phases in an Agile Development Process Basic Terminologies Key Principles SCRUM Pros and Cons

Agile Approach to Projects


Agile Manifesto Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more.

Agile Approach to Projects


Agile Teams
Work as one team Work in short iterations Deliver something each iteration Focus on business priorities Inspect and Adapt

Agile Development Phases


Initiation Requirements Iteration
Analysis Design Development Testing Integration Acceptance with Customer

Deployment Maintenance

Software Development Methodology


Traditional Approach Agile Approach

Waterfall Vs Agile
High High Low High High Low

End Uncertainty
Low

End Uncertainty

Low

(What)

Means Uncertainty

(What) Means Uncertainty

Waterfal l Source: Agile Estimating and


Planning by Mike Cohn

(How)

Agile

(How)

Basic Terminologies
Story and Story Points Iteration Timeboxing Release Velocity Ideal Time and Elapsed Time Agile measures of size
Story Points Ideal Days

Agile Development Process

Problems Targeted by Agile Approach


Trying to Define All Requirements Up Front Trying to Define All Development Tasks Up Front Setting Unrealistic Customer Expectations Tracking Activities Instead of Features Reluctance to Update the Plan Waiting Months to Get User Feedback
Source: http://www.extremeplanner.com

Key Principles of Agile Development


Active User Involvement is Necessary The team must be empowered to make decisions Develop small, incremental releases and iterate Focus on frequent delivery of products Testing is integrated throughout the project life cycle A collaborative & cooperative approach between all stakeholders is necessary
Source: http://www.agile-software-development.com

SCRUM

SCRUM Framework
Roles

Product Owner Scrum Master Team


Ceremonies

Sprint planning Sprint review Sprint retrospective Daily scrum meeting


Artifacts

Source: http://www.mountaingoatsoftware.com

Product backlog Sprint backlog Burndown charts

SCRUM Roles
Product Owner
Be responsible for the profitability of the product (ROI) Prioritize features according to market value Adjust features and priority every iteration, as needed

SCRUM Master Represents management to the project Shield the team from external interferences
Removes Impediments

SCRUM Team
Makes the estimates Builds the product Shares Responsibility

SCRUM Ceremonies
Sprint
1 day of Sprint Planning 4 weeks of work 1 day of Sprint Review A few minutes on Sprint Retrospective

Daily SCRUM
1. 2. 3.

What have I done since last meeting? What will I do until next meeting? What problems do I have?

SCRUM Artifacts
Product Backlog
A list of all desired work on the project Prioritized by the product owner Reprioritized at the start of each sprint Sample

Sprint Backlog
An item from Product Backlog forms a set of tasks in Sprint Backlog

Burndown Charts
Sample

A Sample Product Backlog

Source: http://www.mountaingoatsoftware.com

A Typical Burndown Chart

Source: http://www.mountaingoatsoftware.com

SCRUM

SCRUM

Pros and Cons of Agile Approach


Pros
Customer driven Iterative confidence buildup Ensured quality and business value game Collaborative customer relation Iterative development and deployment Testing is also iterative so cant be squeezed Value of product becomes evident during development

Cons
Suitable for small and medium sized projects Customer may get annoyed with constant involvement Complexity increases incase of distributed teams

Thank You!

You might also like