1 Scrum Agile Methodology by Srinivas Mahakud. Session Objective Scrum Agile Methodology2 Provide...

36
Scrum Agile Methodology 1 Scrum Agile Methodology by Srinivas Mahakud

Transcript of 1 Scrum Agile Methodology by Srinivas Mahakud. Session Objective Scrum Agile Methodology2 Provide...

Page 1: 1 Scrum Agile Methodology by Srinivas Mahakud. Session Objective Scrum Agile Methodology2  Provide an Overview of Agile Methodology  Comparison of Agile.

1Scrum Agile Methodology

Scrum Agile Methodology

by Srinivas Mahakud

Page 2: 1 Scrum Agile Methodology by Srinivas Mahakud. Session Objective Scrum Agile Methodology2  Provide an Overview of Agile Methodology  Comparison of Agile.

Scrum Agile Methodology 2

Session Objective Provide an Overview of Agile Methodology

Comparison of Agile with Traditional Methods

Learn about Scrum Agile Methodology

Project Tracking using Burn Down Chart

Objective of the Session

Page 3: 1 Scrum Agile Methodology by Srinivas Mahakud. Session Objective Scrum Agile Methodology2  Provide an Overview of Agile Methodology  Comparison of Agile.

Scrum Agile Methodology 3

Agile Methodology IntroductionClassical Method of Software Development have many disadvantages and here are the top 5 reasons for Projects failing:

Lack of end-user (customer) involvementPoor requirementsUnrealistic schedulesLack of change managementLack of testingInflexible and bloated processes

New Method for Software Development: Agile Software Development Methodology

Definition: Agile software development based on iterative and incremental development, where requirements and solutions evolve through collaboration between self-organizing, cross-functional teams. It promotes adaptive planning, a time-boxed iterative approach, and encourages rapid and flexible response to change.

Page 4: 1 Scrum Agile Methodology by Srinivas Mahakud. Session Objective Scrum Agile Methodology2  Provide an Overview of Agile Methodology  Comparison of Agile.

Scrum Agile Methodology 4

Agile Methodology Introduction Cont..

How Agile Methodology Addresses these Problems:

The Customer is King – Addresses ‘lack of end user or customer involvement’

Requirements are written as Acceptance Tests Before Any code is written – Addresses ‘Poor Requirements’

Schedules aren’t Assigned, They are Negotiated – Addresses ‘Unrealistic Schedules’

Nothing is Carved in Stone except for the Delivery Date – Addresses ‘lack of Change Management’

Tests are Written before code is written and Testing is Automated – Addresses ‘lack of Testing’

Project Management is not a separate Activity – Addresses ‘inflexible and bloated processes’

Page 5: 1 Scrum Agile Methodology by Srinivas Mahakud. Session Objective Scrum Agile Methodology2  Provide an Overview of Agile Methodology  Comparison of Agile.

Scrum Agile Methodology 5

Agile Methodology Introduction Cont..

How Agile Methodology Addresses these Problems:

The Customer is King – Addresses ‘lack of end user or customer involvement’

Requirements are written as Acceptance Tests Before Any code is written – Addresses ‘Poor Requirements’

Schedules aren’t Assigned, They are Negotiated – Addresses ‘Unrealistic Schedules’

Nothing is Carved in Stone except for the Delivery Date – Addresses ‘lack of Change Management’

Tests are Written before code is written and Testing is Automated – Addresses ‘lack of Testing’

Project Management is not a separate Activity – Addresses ‘inflexible and bloated processes’

Page 6: 1 Scrum Agile Methodology by Srinivas Mahakud. Session Objective Scrum Agile Methodology2  Provide an Overview of Agile Methodology  Comparison of Agile.

Scrum Agile Methodology 6

Agile Vs. Traditional Methods  Waterfall Spiral Iterative Agile

Defined Processes Required Required Required Planning & Closure only

Final product Determined during planningDetermined during planning Set during project Set during project

Project Cost Determined during planning Partially variable Set during project Set during project

Project Completion Date Determined during planning Partially variable Set during project Set during project

Responsiveness to environment Planning only Planning primarily At end of each iteration Throughout

Team flexibility, creativity Limited Limited Limited Unlimited during iterations

Knowledge transfer Training prior to project Training prior to project Training prior to project Teamwork during project

Probability of success Low Medium Low Medium High

TestingTesting at the end of the project (high bugs)

Testing at the end of the project (high bugs)

Extensive Testing at every stage (reduced bugs)

Extensive Testing at every stage (reduced bugs)

Customer SatisfactionHigh Possibility of customer dissatisfaction

High Possibility of customer dissatisfaction

Reduced Possibility of customer dissatisfaction

Reduced Possibility of customer dissatisfaction

Documentation Emphasis is placed on documentationEmphasis is placed on documentation

Emphasis is placed on documentation

Less importance to documentation

Page 7: 1 Scrum Agile Methodology by Srinivas Mahakud. Session Objective Scrum Agile Methodology2  Provide an Overview of Agile Methodology  Comparison of Agile.

Scrum Agile Methodology 7

Agile Methodology Characteristics Agile Iterations lasts from one to four weeks

Each Iteration will have planning, requirements analysis, design, coding, unit testing and acceptance testing.

At the end of each iteration working product is demonstrated to stakeholders, which minimizes overall risk and allows the project to adapt to changes quickly.

At the end of each Iteration the stakeholders review the progress and re-evaluate priorities as per customer needs and company goals.

Agile prefers to have small size teams between 5-9 people to simplify team communication and team collaboration

Agile enforces a stand up meeting for 15-30 mins with all the people involved in a particular Iteration and discuss about 'what each member has done the previous day', 'what they intend to do today', 'are their any road blocks'- this is referred as daily stand-up meetings or daily scrum meetings. Agile can also be applied to Teams working across different geographic locations or teams working for a larger development efforts by coordinating priorities across teams, using video conferencing, voice, email etc.

Agile assumes people are well versed with the technology and know what is to be done instead of spending time on learning.

Page 8: 1 Scrum Agile Methodology by Srinivas Mahakud. Session Objective Scrum Agile Methodology2  Provide an Overview of Agile Methodology  Comparison of Agile.

Scrum Agile Methodology 8

Different Agile Methodologies

Extreme Programming (XP): promotes high customer involvement, rapid feedback loops, continuous testing, continuous planning, deliver software at frequent intervals typically every 1-3 weeks.

Dynamic System Development Method (DSDM): DSDM is based on rapid application development (RAD), focuses more towards solving most common failures of information systems projects, including exceeding budgets, missing deadlines, and lack of user involvement and top-management commitment. based on nine key principles that primarily revolve around business needs/value, active user involvement, empowered teams, frequent delivery, integrated testing, and stakeholder collaboration. All critical work must be completed in a DSDM project.

Lean Software Development: focuses eliminating waste through selecting only the truly valuable features of a system, prioritizing those selected and delivering them in small batches. Practiced by companies like Toyota

Kanban: emphasizes on continual delivery while not overburdening the development team, promotes continuous collaboration, ongoing learning and improving by defining the best possible team workflow.

Page 9: 1 Scrum Agile Methodology by Srinivas Mahakud. Session Objective Scrum Agile Methodology2  Provide an Overview of Agile Methodology  Comparison of Agile.

Scrum Agile Methodology 9

Different Agile Methodologies

Crystal: comprised of a family of Agile Methodologies such as Crystal Clear, Crystal Yellow, Crystal Orange etc. Its based on the fact that each project may require a slightly tailored set of policies, practices and processes in order to meet the projects unique characteristics.

Feature-Driven Development (FDD):Describes very short phases of work which are to be accomplished separately per feature, these include domain walkthrough, design, design inspection, code, code inspection, regular builds.

Agile Unified Process (AUP) : is a simplified version of the IBM Rational Unified Process (RUP).The AUP applies agile techniques including test driven development (TDD), Agile Modeling, agile change management, and database refactoring to improve productivity.

Scrum: Scrum is a lightweight agile project management framework with broad applicability for managing and controlling iterative and incremental projects of all types. Scrum has been proven to scale to multiple teams across very large organizations. With Scrum, projects progress via a series of iterations called sprints. Each sprint is typically 2-4 weeks long and sprint planning is essential. While an agile approach can be used for managing any project, Scrum is ideally suited for projects with rapidly changing or highly emergent requirements such as we find in software development.

Page 10: 1 Scrum Agile Methodology by Srinivas Mahakud. Session Objective Scrum Agile Methodology2  Provide an Overview of Agile Methodology  Comparison of Agile.

Scrum Agile Methodology 10

Scrum Vs XP

The length of an iteration in XP is usually 1-3 weeks whereas, in Scrum sprints are 2-4 weeks

Once sprint (or iteration in XP) starts, customer cannot change the requirements, in other words the customer will have to wait until the sprint (or iteration in XP) finishes. In XP however, requirements can change anytime.

In XP features are developed in a strict order whereas in Scrum, the team is free to choose the features to be developed. Sequence does not matter.

Both XP and Scrum define the role of a coach, In Scrum it is called Scrum Master and requires (or strongly recommended) certification, whereas, XP defines the role of coach quite informally and the role may float between members of the team.

Scrum and XP are often used together: Scrum defines the framework and XP defines the engineering practices and they fit together nicely.

Page 11: 1 Scrum Agile Methodology by Srinivas Mahakud. Session Objective Scrum Agile Methodology2  Provide an Overview of Agile Methodology  Comparison of Agile.

Scrum Agile Methodology 11

Scrum Explained

Page 12: 1 Scrum Agile Methodology by Srinivas Mahakud. Session Objective Scrum Agile Methodology2  Provide an Overview of Agile Methodology  Comparison of Agile.

Scrum Agile Methodology 12

Roles in Scrum

Page 13: 1 Scrum Agile Methodology by Srinivas Mahakud. Session Objective Scrum Agile Methodology2  Provide an Overview of Agile Methodology  Comparison of Agile.

Scrum Agile Methodology 13

Basics of Scrum

Page 14: 1 Scrum Agile Methodology by Srinivas Mahakud. Session Objective Scrum Agile Methodology2  Provide an Overview of Agile Methodology  Comparison of Agile.

Scrum Agile Methodology 14

Basics of Scrum Cont..

Page 15: 1 Scrum Agile Methodology by Srinivas Mahakud. Session Objective Scrum Agile Methodology2  Provide an Overview of Agile Methodology  Comparison of Agile.

Scrum Agile Methodology 15

Basics of Scrum Cont..

Page 16: 1 Scrum Agile Methodology by Srinivas Mahakud. Session Objective Scrum Agile Methodology2  Provide an Overview of Agile Methodology  Comparison of Agile.

Scrum Agile Methodology 16

Basics of Scrum Cont..

(Owned by Product Owner)

Page 17: 1 Scrum Agile Methodology by Srinivas Mahakud. Session Objective Scrum Agile Methodology2  Provide an Overview of Agile Methodology  Comparison of Agile.

Scrum Agile Methodology 17

Basics of Scrum Cont..

Page 18: 1 Scrum Agile Methodology by Srinivas Mahakud. Session Objective Scrum Agile Methodology2  Provide an Overview of Agile Methodology  Comparison of Agile.

Scrum Agile Methodology 18

Basics of Scrum Cont..

Page 19: 1 Scrum Agile Methodology by Srinivas Mahakud. Session Objective Scrum Agile Methodology2  Provide an Overview of Agile Methodology  Comparison of Agile.

Scrum Agile Methodology 19

Basics of Scrum Cont..

Page 20: 1 Scrum Agile Methodology by Srinivas Mahakud. Session Objective Scrum Agile Methodology2  Provide an Overview of Agile Methodology  Comparison of Agile.

Scrum Agile Methodology 20

Basics of Scrum Cont..

Page 21: 1 Scrum Agile Methodology by Srinivas Mahakud. Session Objective Scrum Agile Methodology2  Provide an Overview of Agile Methodology  Comparison of Agile.

Scrum Agile Methodology 21

Basics of Scrum Cont..(Owned by Development Team)

Page 22: 1 Scrum Agile Methodology by Srinivas Mahakud. Session Objective Scrum Agile Methodology2  Provide an Overview of Agile Methodology  Comparison of Agile.

Scrum Agile Methodology 22

Basics of Scrum Cont..

Page 23: 1 Scrum Agile Methodology by Srinivas Mahakud. Session Objective Scrum Agile Methodology2  Provide an Overview of Agile Methodology  Comparison of Agile.

Scrum Agile Methodology 23

Basics of Scrum Cont..

Page 24: 1 Scrum Agile Methodology by Srinivas Mahakud. Session Objective Scrum Agile Methodology2  Provide an Overview of Agile Methodology  Comparison of Agile.

Scrum Agile Methodology 24

Basics of Scrum Cont..

Page 25: 1 Scrum Agile Methodology by Srinivas Mahakud. Session Objective Scrum Agile Methodology2  Provide an Overview of Agile Methodology  Comparison of Agile.

Scrum Agile Methodology 25

Basics of Scrum Cont..

Page 26: 1 Scrum Agile Methodology by Srinivas Mahakud. Session Objective Scrum Agile Methodology2  Provide an Overview of Agile Methodology  Comparison of Agile.

Scrum Agile Methodology 26

Basics of Scrum Cont..

Page 27: 1 Scrum Agile Methodology by Srinivas Mahakud. Session Objective Scrum Agile Methodology2  Provide an Overview of Agile Methodology  Comparison of Agile.

Scrum Agile Methodology 27

Basics of Scrum Cont..

Page 28: 1 Scrum Agile Methodology by Srinivas Mahakud. Session Objective Scrum Agile Methodology2  Provide an Overview of Agile Methodology  Comparison of Agile.

Scrum Agile Methodology 28

Basics of Scrum Cont..

Page 29: 1 Scrum Agile Methodology by Srinivas Mahakud. Session Objective Scrum Agile Methodology2  Provide an Overview of Agile Methodology  Comparison of Agile.

Scrum Agile Methodology 29

Burn Down Chart

• Quick View of Sprint Progress

• How much time is left in the Sprint Vs How much work is left to be done

• Depicts the total Sprint Backlog hours remaining per day

• Shows the estimated amount of time to release

• Ideally should burn down to zero to the end of the Sprint

• Y- Axis Remaining Effort required to Complete the Task, X-Axis Iteration Timeline in days

Scrum Methodology Uses ‘Burn Down Chart’ as a mechanism for Tracking and Reporting the progress of Sprint.

Page 30: 1 Scrum Agile Methodology by Srinivas Mahakud. Session Objective Scrum Agile Methodology2  Provide an Overview of Agile Methodology  Comparison of Agile.

Scrum Agile Methodology 30

Burn Down Chart Cont..Explained

If the actual remaining effort line is above the blue line for an extended period, then it means adjustments have to be made to the project. This could mean dropping a task, assigning additional resources, or working late, all of which can be unpleasant but because of the burn down chart, at least you can deal with it sooner rather than just before a deadline.

Page 31: 1 Scrum Agile Methodology by Srinivas Mahakud. Session Objective Scrum Agile Methodology2  Provide an Overview of Agile Methodology  Comparison of Agile.

Scrum Agile Methodology 31

Burn Down Chart Example

Page 32: 1 Scrum Agile Methodology by Srinivas Mahakud. Session Objective Scrum Agile Methodology2  Provide an Overview of Agile Methodology  Comparison of Agile.

Scrum Agile Methodology 32

Scrum Best Practices

Start with 0.7 as the Efficiency Factor.

One month is a good iteration timeline for many projects (20 work days).

Only record progress against completed tasks. If a task is 99% done, it is still not complete and cannot be used for a release.

If actual performance is significantly above the ideal iteration line in the burn down chart, investigate and correct the issue by dropping tasks, assigning additional resources, or working overtime.

Avoid task estimates that are longer than a few days. Break long tasks into shorter ones.

Measure priority in tens, as in, 10, 20, 30…

Use fractions for determining the number of developers if time is split across projects.

Page 33: 1 Scrum Agile Methodology by Srinivas Mahakud. Session Objective Scrum Agile Methodology2  Provide an Overview of Agile Methodology  Comparison of Agile.

Scrum Agile Methodology 33

Advantages and Disadvantages of Scrum

Advantages:

Agile scrum helps the company in saving time and money.

Scrum methodology enables project’s where the business requirements documentation is hard to quantify to be successfully developed.

Issues are identified well in advance through the daily meetings and hence can be resolved in speedily

Daily meetings make it possible to measure individual productivity. This leads to the improvement in the productivity of each of the team members.

Due to short sprints and constant feedback, it becomes easier to cope with the changes.

Page 34: 1 Scrum Agile Methodology by Srinivas Mahakud. Session Objective Scrum Agile Methodology2  Provide an Overview of Agile Methodology  Comparison of Agile.

Scrum Agile Methodology 34

Advantages and Disadvantages of Scrum

Disadvantages:

you can get development started fast, but with the caveat that the project scope statement is "flexible" and not fully defined. Hence this can be one of the major causes of scope creep if not managed properly. because unless there is a definite end date, the project management stakeholders will be tempted to keep demanding new functionality is delivered.

If a task is not well defined, estimating project costs and time will not be accurate. In such a case, the task can be spread over several sprints.

It is good for small, fast moving projects as it works well only with small team.

This methodology needs experienced team members only. If the team consists of people who are novices, the project cannot be completed in time.

Scrum works well when the Scrum Master trusts the team they are managing. If they practice too strict control over the team members, it can be extremely frustrating for them, leading to demoralization and the failure of the project.

If any of the team members leave during a development it can have a huge inverse effect on the project development

Page 35: 1 Scrum Agile Methodology by Srinivas Mahakud. Session Objective Scrum Agile Methodology2  Provide an Overview of Agile Methodology  Comparison of Agile.

Scrum Agile Methodology 35

Rally (www.RallyDev.com)

Version One (www.VersionOne.net)

Simple spreadsheets and documents

ScrumWorks (www.ScrumWorks.com)

Scrum Tool Support

Page 36: 1 Scrum Agile Methodology by Srinivas Mahakud. Session Objective Scrum Agile Methodology2  Provide an Overview of Agile Methodology  Comparison of Agile.

Scrum Agile Methodology 36