An Overview of Agile

Leading Change
Through Collaboration
An Overview of Agile
Leading Change
Through Collaboration
Pollyanna Pixton
Founder, Accelinnova
President, Evolutionary Systems
Director Institute of Collaborative Leadership
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
While there is value in the items on the right we
value the items on the left more.
Agile Overview
Agile Principles:
 Customer Involvement
 Iterative Development
 Embrace Change
 Test First
 Collaborative Communication Across
Organization Boundaries
 Simplify: Minimize Documentation
Declaration of
Interdependence
 Continuous flow of value
 Engage customers
 Create an environment where individuals
can make a difference
 Expect uncertainty and manage for it
 Context specific strategies, processes, and
practices
 Group accountability
Iterate
 Timebox in which whole features of value are
delivered.
 Prevents “requirement inventory”
 Allows team to respond to changes in business
 Allows quicker realization of value from the project
 Provide feedback loops to measure progress
 Keeps project close to delivery
 Ensures that valuable functionality is developed
first
Consider Context
 Utilize only those practices that make sense
for the project and environment
 “Barely sufficient” artifacts and methodology
 “Appropriate” vs “Best Practices”
Practice Excellence
 Agility requires self discipline to lead to
improved quality
 Relies on the team to practice technical
excellence instead of imposing discipline
 Adopt technical practices that support the
other practices such as:
 Continuous integration
 Test Driven Development
 Refactoring
Reflect and Adapt
 Learn from past to
improve performance
 Retrospectives after
each iteration
 Harness change for
improved efficiency
 Multi-Horizon
planning allows
adaptation
The Process Pendulum
Code and Fix
No Process
Agile
Empirical
Waterfall
Prescriptive
Empirical
Prescriptive
 Frequent inspection
 Collaboration
 Adaptive responses
 Defined set of steps to follow
 Plan the work, work the plan
 Plan is assumed to be correct
Agile Principles
Agile Principles
Agile Methods
 eXtreme
Programming (XP)
 Scrum
 Feature Driven
Development
(FDD)
 Crystal
 Kanban (?)
Agile Overview
“Agile projects succeed when the team
gets the spirit of agility.”
– Ron Jeffries (APM Group)
eXtreme Programming
XP Values and Principles





Communication
Simplicity
Feedback
Courage
Quality work
XP Practices






The planning game
Small releases
Metaphor
Simple design
Refactoring
Testing
 Pair programming
 Collective Ownership
 Continuous
Integration
 Sustainable Pace
 On Site Customer
 Coding Standards
XP Roles
 The Customer
Sets project goals and makes business decisions
 The Developer
Turn customer stories into working code
 The Tracker
Keeps track of any metrics used by team
 The Coach
Guides and mentors the team
Scrum
Scrum Roles
 Scrum Team
 Scrum Master
 Carries water and moves boulders
 Product Owner
 Responsible for maintaining product backlog
Scrum Control Points
Meetings:
 Sprint Planning
 Daily Scrum
 Sprint Review
(retrospectives)
Feature Driven
Development
Model-driven short-iteration process that
consists of five basic activities:
Develop
Model
Build
Feature
List
Plan By
Feature
Design by
Feature
Build By
Feature
Deploy
- Jeff deLuca, 1997
FDD Focus





(Object) Modeling centric
Client centric
Architecture centric
Pragmatic
Functional decomposition
 Subject Area
 Business Activity
 Business Activity Step
FDD Roles
 Chief Programmers
Team lead, mentor, developer
 Class owner
Developer with responsibility for a class
 Feature teams
Temporary groups of developers formed around
classes
Crystal Clear






Frequent Delivery
Reflective Improvement
Osmotic Communication
Personal Safety
Focus
Easy Access to Expert
Users
 Automated Tests
 Configuration Management
 Frequent Integration
Crystal Clear
“The team can reduce intermediate work
products as it produces running code more
frequently, as it uses richer communication
channels between people.”
- Alistair Cockburn
Crystal Clear
Every product is slightly different and
evolves over time, so the methodology, the
set of conventions the team adopts, must be
tuned and evolve.
- Alistair Cockburn
Crystal Clear Roles
 Sponsor: Allocates money for the project
 Expert User
 Lead Designer
 Lead Technical person, mentors less
experienced team members
 Designer-Programmer
 Each person designs and programs
Agile Method’s Focus
Methodology
Project Management
Scrum
Crystal
Engineering
FDD
XP
Structure
Unstructured
Crystal
Structured
Scrum
XP
FDD
What is a kanban system?
Kanban
 Improves the throughput and reduces cycle
times
 Delivers iterationless development
 Kanban limits create a pull system
 White board provides visualization of flow
through to delivery
Kanban
Kanban
Kanban Limit –
regulates WIP at each
stage in the process
Pull
Flow – from Engineering
Ready to Release Ready
Appropriate Practices
What method to use?
Don’t use a screwdriver
to drive a nail.