2 - Intro To Agile

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

Introduction to Agile

Classical Physics Vs Quantum Physics

Traditional Project Management

 Deterministic
 Large objects
 Newton’s laws

 Probabilistic
Agile Project Management  Sub atomic level
 Schrodinger’s Equation(uncertainty)
What Is AGILE?

Agile is a mindset defined by values, guided by principles, and


manifested through many different practices.
Why to adopt AGILE?
 Today’s business environment is complex.
 What worked yesterday may not work today [or tomorrow].
 As things - customers’ expectations, technology, competition
change- the organization must adapt
Why to adopt AGILE?

Agile helps the organization through…

Boosting Effective Focus on


Collaboration Communication Quality

Reduce Teamwork- Sufficient


Waste no super heroes Planning
AGILE benefits

• Innovate faster

• Move from idea to delivery more quickly

• Drive higher customer satisfaction

• Increase employee morale


AGILE benefits

Analyze
Design
Code
Test
DDevelopme
Waterfall Serial Development nt
Deploy $
Invest up front, only realize value at end, assuming value proposition hasn’t changed

Agile Concurrent Development


Analyze Analyze Analyze  Fund incrementally – opt to extend, redirect
Design Design Design or cancel at a very granular level
Code Code Code  Deliver & realize value steadily
Test Test Test
 Validate designs with users & customers
Document Document Document
 Continuously adapt to risk and change
Deploy Deploy Deploy
 Integrate early & often

$ $$ $$$
History of AGILE

- Feb 11-13, 2001, top 17 programmers met at a ski-resort in Utah, USA

- They developed the ‘Manifesto for Agile Software Development’

- The rest is history!


Agile Manifesto
• The Agile Manifesto is a brief document built on 4 values and
12 principles for agile software development.

• The Agile Manifesto was published in February 2001 and is the


work of 17 software development practitioners who observed
the increasing need for an alternative to documentation-
driven and heavyweight software development processes.
Agile Values
Agile manifesto says, we are uncovering better ways of developing
software by doing it and helping others do it. Through this work we
have come to four values:

Individuals and interactions over processes and tools

Working software over comprehensive documentation

Customer collaboration over contract negotiation

Responding to change over following a plan


Agile Values

Individuals and interactions over processes and tools

Tools and processes are important, but it is


more important to have competent people
working together effectively.
Agile Values
Working software over comprehensive documentation

Good documentation is useful in helping people to


understand how the software is built and how to
use it, but the main point of development is to
create software, not documentation.
Agile Values
Customer collaboration over contract negotiation

A contract is important but is no


substitute for working closely with
customers to discover what they need.
Agile Values
Responding to change over following a plan

A project plan is important, but it must not be too rigid to


accommodate changes in technology or the environment,
stakeholders' priorities, and people's understanding of the
problem and its solution.
Agile Principles
• There are 12 agile principles outlined in The Agile
Manifesto in addition to the 4 agile values.

• These 12 principles for agile software development help


establish the tenets of the agile mindset.

• They are not a set of rules for practicing agile, but a handful
of principles to help instill agile thinking.
Agile Principles(12)
Agile Principle 1
“Our highest priority is to satisfy the customer through early and
continuous delivery of valuable software”
Agile Principle 2
“Welcome changing requirements, even late in development.
Agile processes harness change for the customer’s competitive
advantage.”
Agile Principle 3
“Deliver working software frequently, from a couple of weeks to
a couple of months, with a preference to the shorter timescale.”
Agile Principle 4
“Business people and developers must work together daily
throughout the project.”
Agile Principle 5
“Build projects around motivated individuals. Give them the
environment and support they need, and trust them to get the
job done.”
Agile Principle 6
“The most efficient and effective method of conveying
information to and within a development team is face-to-face
conversation.”
Agile Principle 7
“Working software is the primary measure of progress.”
Agile Principle 8
“Agile processes promote sustainable development. The
sponsors, developers, and users should be able to maintain a
constant pace indefinitely.”
Agile Principle 9
“Continuous attention to technical excellence and good design
enhances agility.”
Agile Principle 10
“Simplicity—the art of maximizing the amount of work not
done—is essential.”
Agile Principle 11
“The best architectures, requirements, and designs emerge from
self-organizing teams.”
Agile Principle 12
“At regular intervals, the team reflects on how to become more
effective, then tunes and adjusts its behavior accordingly.”
AGILE in a nutshell
Putting Agile into Perspective

Practices:
• Allow agilists to enact & utilize the frameworks in agile way.
• Example of practices: daily stand-up, retrospective, backlogs, sprint,
product increment, sprint review, burn-down charts etc.

Frameworks:
• As the tree starts to branch out, we hit at Frameworks.
• They help to put agile mindset into action with different guidelines,
methods & approaches to manage work in agile way.
• Popular frameworks: Scrum, Kanban, Lean, XP, Crystal, SAFe etc.

Principles:
• Trunk of the tree is 12 Principles of Agile Manifesto.
• These Principles furnish our understanding of how to be Agile.

Values:
• The tree is rooted deeply in the 4 values of agile manifesto
• They provide strength to agile mindset and the context to grow.
Agile Frameworks

An agile framework can


be defined as a specific
development approach
based on
the agile philosophy
articulated in
the Agile Manifesto.
Life Cycle Selection
Predictive life A more traditional approach, with the bulk of planning occurring
cycle upfront, then executing in a single pass; a sequential process.

Iterative life An approach that allows feedback for unfinished work to


cycle improve and modify that work.

Incremental An approach that provides finished deliverables that the


life cycle customer may be able to use immediately.

An approach that is both iterative and incremental to refine


Agile life cycle work items and deliver frequently.
Life Cycle Selection

 Iterating allows you to move from vague idea to realization. Going


from rough to polished

 Incrementing is more about delivery.


Uncertainty, Risk, and Life Cycle

No life cycle can be perfect for all projects. Instead, each


project finds a spot on the continuum that provides an
optimum balance of characteristics for its context.
Hybrid Life Cycles as Transition Strategy
• It is not necessary to use a single approach for an entire project.
• Projects often combine elements of different life cycles in order to
achieve certain goals.
• A combination of predictive, iterative, incremental, and/or agile
approaches is a hybrid approach.
Agile Roles
In agile, three common roles are used:

 Cross-functional team/Development team


 Product owner and
 Team facilitator

Team Facilitator Development Team


Agile Roles : Product Owner

 Acts as bridge between Stakeholders and Agile Team

 Solely responsible for managing product backlog

 The Product Owner is one person, not a committee


Agile Roles : Product Owner

 The Product Owner is responsible for maximizing the value of the product
resulting from work of the Development Team.

 The Product Owner is the sole person responsible for managing the Product
Backlog.

 Product Backlog management includes:


 Clearly expressing Product Backlog items;
 Ordering the items in the Product Backlog to best achieve goals and
missions;
 Optimizing the value of the work the Development Team performs;
 Ensuring that the Product Backlog is visible, transparent, and clear to all,
and shows what the Scrum Team will work on next; and,
 Ensuring the Development Team understands items in the Product Backlog
to the level needed.
Agile Roles : Team Facilitator

Team
Facilitator

 Is a servant leader for the Agile Team

 Teaches and promotes Agile to Team & Org.

 Removes Impediments & Protects team from distraction


Creating an Agile Environment : Leadership

SERVANT LEADER RESPONSIBILITIES

 Servant leaders facilitate


 Servant leaders remove organizational impediments
 Servant leaders pave the way for others’ contribution
 Promotes self-awareness
 Listen to the team
 Helping people grow
 Promoting safety, respect, and trust
 Promoting the energy and intelligence of others.
Agile Roles : Development Team

 Responsible to work & deliver releasable Increments

 Self-organizing: team decide what and how to deliver

 Cross-functional: team should have all required skills


Agile Team
 Ideally, agile teams are collocated in a team space.
 Team members are 100% dedicated to the teams
 Agile encourages self-managing teams, where team members decide
who will perform the work within the next period’s defined scope.
 Cross-functional agile teams produce functional product increments
frequently.
Agile Team
 Generalizing specialists : Successful agile teams are made up of
generalizing specialists, or “T-shaped” people.

 Some people have deep specializations in one domain, but rarely


contribute outside of that domain. These people are known as “I-
shaped people” since, like the letter “I,” they have depth, but not
much breadth.

 “T-shaped people” supplement their expertise in one area with


supporting, but less-developed skills in associated areas and good
collaboration skills.
Agile Practices
DAILY STANDUPS

 Teams use standups to micro commit to each


other, uncover problems, and ensure the
work flows smoothly through the team.
 Time box the standup to no longer than 15
minutes.
 Teams run their own standups.
 When run well, standups can be very useful
provided the nature of the team’s work
requires intense collaboration
Agile Practices
 The structure of the meeting is set by the Development Team and can be
conducted in different ways if it focuses on progress toward the Sprint Goal.

 Some Development Teams will use questions


• What did I do yesterday that helped the Development Team meet the Sprint
Goal?
• What will I do today to help the Development Team meet the Sprint Goal?
• Do I see any impediment that prevents me or the Development Team from
meeting the Sprint Goal?

 The Development Team or team members often meet immediately after the Daily
Scrum for detailed discussions, or to adapt, or re-plan, the rest of the Sprint’s
work.

 The Scrum Master ensures that the Development Team has the meeting, but the
Development Team is responsible for conducting the Daily Scrum.

 The Scrum Master teaches the Development Team to keep the Daily Scrum within
the 15-minute time-box.
Agile Practices

BACKLOG PREPARATION

 The backlog is the ordered list of all the


work, presented in story form, for a team.
 There is no need to create all of the stories
for the entire project before the work
starts—only enough to understand the first
release in broad brushstrokes and then
sufficient items for the next iteration.
 Product owners might produce a product
roadmap to show the anticipated sequence
of deliverables over time.
Agile Practices

User Stories

User stories are short, simple descriptions of a feature told


from the perspective of the user

As a <user role> I want to <purpose> So that <objective>

As a website visitor, I want to talk to support teams so that


I can get my questions answered quickly.
Agile Practices

User Stories: INVEST


Agile Practices

RETROSPECTIVES

 The single most important practice is the


retrospective because it allows the team to
learn about, improve, and adapt its
process.
 Retrospectives help the team learn from its
previous work on the product and its
process.
 A retrospective is not about blame
Agile Practices

DEMONSTRATIONS/REVIEWS

 As the team completes the features


usually in the form of user stories,
the team periodically demonstrates
the working product.
 The product owner sees the
demonstration and accepts or
declines stories.
 The team demonstrates all
completed work items at the end of
the iteration.
Agile Practices
ITERATIVE PLANNING

 Agile teams do not plan just once in one single chunk.

 Instead, agile teams plan a little, deliver, learn, and then


re-plan a little more in an ongoing cycle.
Agile Practices
Agile PLANNING : Story Points

• A story point is a metric used in agile project management and development to


estimate the difficulty of implementing a given user story, which is an abstract
measure of effort required to implement it.

• In simple terms, a story point is a number that tells the team about the difficulty
level of the story.

• A team’s estimate must include everything that can affect the effort. That could
include: The amount of work to do, The complexity of the work Any risk or
uncertainty in doing the work
Agile Practices
The Concept of Story Points
Agile Practices
Agile Estimation Methods:

• Planning Poker
• T-Shirt Sizes
• Dot Voting.
• The Bucket System
• Large/Uncertain/Small
• Affinity Mapping
• Ordering method
Planning Poker Game
T-Shirt Sizing
Dot Voting
Affinity Mapping
Team Velocity in Agile
Sprint -1
Agile Practices
AGILE TEAMS MEASURE RESULTS

Burn down Chart


Agile Practices
AGILE TEAMS MEASURE RESULTS

Burnup Chart
Organizational Considerations

 Organizational change management : Change Adaptive


 Organizational culture : Need to Break Silos
 Business practices : Innovation & Value Creation

 Procurement and Contracts


• Multi-tiered structure
• Emphasize value delivered
• Fixed-price increments
• Dynamic scope option
• Team augmentation

You might also like