AGILITY
@DmitrySharkov dsharkov@gmail.com
A PRIMER
TODAY'S AGENDA
How did we get here?

What agility means to us

Philosophy behind agile development

Work culture and agility

Roles in agile development

Following the principles

Beyond process - people and tools

An example approach

Measuring success

Revisiting our purpose

Q & A
WHY ARE WE TALKING ABOUT AGILE
DEVELOPMENT?
Because it beats the alternative?
Because developers, customers, and everyone in-between
has found it makes them happier.
Because developers, customers, and everyone in-between
has found it makes them more successful.
THE FAILURE OF WATERFALL SHOULD NOT COME AS A SURPRISE.
HTTP://WWW.MOUNTAINGOATSOFTWARE.COM/BLOG/AGILE-SUCCEEDS-THREE-TIMES-MORE-OFTEN-THAN-WATERFALL
WHY ARE WE TALKING ABOUT AGILE
DEVELOPMENT?
Success: on budget, on time, with all planned features
What is AGILITY?
The ability to change

[direction] efficiently.
In software development, it also includes a philosophy

around making people as productive as possible

regardless of the need for frequent or sudden change.
Change is inevitable
Must the cost of change rise

exponentially as time passes?
Fight change and it will.
Enable change through agility.
432 PARK AVE
People aren't "assets"
HTTPS://THEDILBERTSTORE.COM
SNOWBIRD, UTAH
WHAT
WHEN WHERE
FEBRUARY 2001
THE AGILE MANIFESTO
AND THE PRINCIPLES BEHIND IT
We are uncovering better ways of developing software by
doing it and helping others do it. Through this work we have
come to value:

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.
THE AGILE MANIFESTO
1 - Our highest priority is to satisfy the customer through early and
continuous delivery of valuable software.

2 - Welcome changing requirements, even late in development. Agile
processes harness change for the customer's competitive advantage.

3 - Deliver working software frequently, from a couple of weeks to a
couple of months, with a preference to the shorter timescale.

4 - Business people and developers must work together daily
throughout the project.

5 - Build projects around motivated individuals. Give them the
environment and support they need, and trust them to get the job
done.

6 - The most efficient and effective method of conveying information to
and within a development team is face-to-face conversation.
PRINCIPLES BEHIND THE AGILE MANIFESTO
7 - Working software is the primary measure of progress.

8 - Agile processes promote sustainable development. The sponsors,
developers, and users should be able to maintain a constant pace
indefinitely.

9 - Continuous attention to technical excellence and good design
enhances agility.

10 - Simplicity — the art of maximizing the amount of work not done
— is essential.

11 - The best architectures, requirements, and designs emerge from
self-organizing teams.

12 - At regular intervals, the team reflects on how to become more
effective, then tunes and adjusts its behavior accordingly.
PRINCIPLES BEHIND THE AGILE MANIFESTO
BUILDING TRUST
SHARING OWNERSHIP
WORKING
 TOGETHER
REMOVING
 OBSTACLES
DOING
 VALUABLE
 WORK
MY SIMPLE AGILE PRINCIPLES
ELIMINATING RISK
MY SIMPLE AGILE PRINCIPLES
TRANSPARENCY
EMPOWERMENT
9 P
Know what 100% of the
team is doing 100% of
the time. Communicate.
Trust each other to be great.
Eliminate obstacles to success. Let
teams self-manage. Give everyone
the tools to be the best they can be.
This
 is
 a
 big
 culture
 change
Trading old values and old approaches for new.
Businessandclient-centrism
Self-managingteams
Servant-leadership
Focusonvaluedelivered
ROLES IN SOFTWARE DEVELOPMENT
ROLES IN SOFTWARE DEVELOPMENT
• DEVELOPMENT TEAM - Cross-functional; testing, coding, 

database work, design - all skills present, ideally.

• PRODUCT OWNER (or proxy) - Fully engaged with the

team. Responsible for maximizing ROI. Decides priority

of work and understands the business needs and values.

• PROCESS MANAGER - Helps the team work towards

increased agility, build good habits, and evolve a

methodology. Coaches to the agile principles.

• PROJECT MANAGER - Empowers the team to be as

productive as possible. Mentors and guides. Helps

resolve obstacles and escalate issues of risk.
Following the Principles
TRANSPARENCY
Following the Principles
DOING

VALUABLE

WORK
BUSINESS CENTRIC
Following the Principles
ELIMINATING

RISK
REDUCING

WASTE
Following the Principles
BULDING

TRUST
WORKING

TOGETHER
SHARING

OWNERSHIP

Agility primer

  • 1.
  • 2.
    TODAY'S AGENDA How didwe get here? What agility means to us Philosophy behind agile development Work culture and agility Roles in agile development Following the principles Beyond process - people and tools An example approach Measuring success Revisiting our purpose Q & A
  • 3.
    WHY ARE WETALKING ABOUT AGILE DEVELOPMENT? Because it beats the alternative? Because developers, customers, and everyone in-between has found it makes them happier. Because developers, customers, and everyone in-between has found it makes them more successful.
  • 4.
    THE FAILURE OFWATERFALL SHOULD NOT COME AS A SURPRISE. HTTP://WWW.MOUNTAINGOATSOFTWARE.COM/BLOG/AGILE-SUCCEEDS-THREE-TIMES-MORE-OFTEN-THAN-WATERFALL WHY ARE WE TALKING ABOUT AGILE DEVELOPMENT? Success: on budget, on time, with all planned features
  • 5.
    What is AGILITY? Theability to change [direction] efficiently. In software development, it also includes a philosophy around making people as productive as possible regardless of the need for frequent or sudden change.
  • 6.
    Change is inevitable Mustthe cost of change rise exponentially as time passes? Fight change and it will. Enable change through agility. 432 PARK AVE
  • 7.
  • 8.
    SNOWBIRD, UTAH WHAT WHEN WHERE FEBRUARY2001 THE AGILE MANIFESTO AND THE PRINCIPLES BEHIND IT
  • 9.
    We are uncoveringbetter ways of developing software by doing it and helping others do it. Through this work we have come to value: 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. THE AGILE MANIFESTO
  • 10.
    1 - Ourhighest priority is to satisfy the customer through early and continuous delivery of valuable software. 2 - Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage. 3 - Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale. 4 - Business people and developers must work together daily throughout the project. 5 - Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. 6 - The most efficient and effective method of conveying information to and within a development team is face-to-face conversation. PRINCIPLES BEHIND THE AGILE MANIFESTO
  • 11.
    7 - Workingsoftware is the primary measure of progress. 8 - Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely. 9 - Continuous attention to technical excellence and good design enhances agility. 10 - Simplicity — the art of maximizing the amount of work not done — is essential. 11 - The best architectures, requirements, and designs emerge from self-organizing teams. 12 - At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly. PRINCIPLES BEHIND THE AGILE MANIFESTO
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
     WORK MY SIMPLE AGILEPRINCIPLES ELIMINATING RISK
  • 17.
    MY SIMPLE AGILEPRINCIPLES
  • 18.
    TRANSPARENCY EMPOWERMENT 9 P Know what100% of the team is doing 100% of the time. Communicate. Trust each other to be great. Eliminate obstacles to success. Let teams self-manage. Give everyone the tools to be the best they can be.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
     change Trading old valuesand old approaches for new.
  • 25.
  • 26.
    ROLES IN SOFTWAREDEVELOPMENT
  • 27.
    ROLES IN SOFTWAREDEVELOPMENT • DEVELOPMENT TEAM - Cross-functional; testing, coding, 
 database work, design - all skills present, ideally.
 • PRODUCT OWNER (or proxy) - Fully engaged with the
 team. Responsible for maximizing ROI. Decides priority
 of work and understands the business needs and values.
 • PROCESS MANAGER - Helps the team work towards
 increased agility, build good habits, and evolve a
 methodology. Coaches to the agile principles.
 • PROJECT MANAGER - Empowers the team to be as
 productive as possible. Mentors and guides. Helps
 resolve obstacles and escalate issues of risk.
  • 28.
  • 29.
  • 30.
  • 31.