Scrum Agile Methodology

advertisement
by Srinivas Mahakud
Scrum Agile Methodology
1
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
Scrum Agile Methodology
2
Classical Method of Software Development have many disadvantages and here are
the top 5 reasons for Projects failing:
Lack of end-user (customer) involvement
Poor requirements
Unrealistic schedules
Lack of change management
Lack of testing
Inflexible 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.
Scrum Agile Methodology
3
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’
Scrum Agile Methodology
4
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’
Scrum Agile Methodology
5
Waterfall
Spiral
Iterative
Agile
Defined Processes
Required
Required
Required
Planning & Closure only
Final product
Determined during planning
Determined 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
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
Testing
Testing at the end of the project (high Testing at the end of the
bugs)
project (high bugs)
Extensive Testing at
every stage (reduced
bugs)
Extensive Testing at every
stage (reduced bugs)
Customer Satisfaction
High Possibility of customer
dissatisfaction
High Possibility of
customer dissatisfaction
Reduced Possibility of Reduced Possibility of
customer dissatisfaction customer dissatisfaction
Documentation
Emphasis is placed on documentation
Emphasis is placed on
documentation
Emphasis is placed on
documentation
Scrum Agile Methodology
Unlimited during iterations
Less importance to
documentation
6
 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.
Scrum Agile Methodology
7
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.
Scrum Agile Methodology
8
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.
Scrum Agile Methodology
9
 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.
Scrum Agile Methodology
10
Scrum Agile Methodology
11
Scrum Agile Methodology
12
Scrum Agile Methodology
13
Scrum Agile Methodology
14
Scrum Agile Methodology
15
(Owned by Product Owner)
Scrum Agile Methodology
16
Scrum Agile Methodology
17
Scrum Agile Methodology
18
Scrum Agile Methodology
19
Scrum Agile Methodology
20
(Owned by Development Team)
Scrum Agile Methodology
21
Scrum Agile Methodology
22
Scrum Agile Methodology
23
Scrum Agile Methodology
24
Scrum Agile Methodology
25
Scrum Agile Methodology
26
Scrum Agile Methodology
27
Scrum Agile Methodology
28
Scrum Methodology Uses ‘Burn Down Chart’ as a mechanism for
Tracking and Reporting the progress of Sprint.
• 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 Agile Methodology
29
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.
Scrum Agile Methodology
30
Scrum Agile Methodology
31
 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.
Scrum Agile Methodology
32
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.
Scrum Agile Methodology
33
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
Scrum Agile Methodology
34
Rally (www.RallyDev.com)
Version One (www.VersionOne.net)
Simple spreadsheets and documents
ScrumWorks (www.ScrumWorks.com)
Scrum Agile Methodology
35
Scrum Agile Methodology
36
Download