An Agile Overview @ ShoreTel Sky
-
date post
14-Sep-2014 -
Category
Technology
-
view
231 -
download
1
description
Transcript of An Agile Overview @ ShoreTel Sky
Agenda and Objectives • Overview of Agile 101• Advantages of Agile thinking
– What Agile Can do for you?
• Concepts of Timeboxed Agile
Objectives:• Understand the Agile 101 basics• Introduction to Agile @ ShoreTel Sky
Agile is NOT a Silver Bullet
Embracing Agile promises faster time to market, higher quality and improved responsiveness to constantly changing market conditions. But…..
Wishful Thinking
• The customer knows what they want• The developers know how to build it• Nothing will change along the way
3 things we have to live with
• The customer discovers what they want• The developers discover how to build it• Many things change along the way
Productand/orService
System of Production and/or Service
Deming’s Shewhart Cycle
Kaizen • CI (Continuous
Improvement)• PDCA as a
spiral• Birth of LEAN
Plan
Do
Check
Act
PDCA Applied to Agile
TimeboxPlan
Do
Check
Act Plan
Do Tasks
Review
Retro
Simple Agility
Input Output
Feedback
Agile Manifesto“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”
Signed by: Kent Beck, Mike Beedle, Arie van Bennekum, Alistair Cockburn, Ward Cunningham, Martin Fowler, James Grenning, Jim Highsmith, Andrew Hunt, Ron Jeffries, Jon Kern, Brian Marick, Robert C. Martin, Steve Mellor, Ken Schwaber, Jeff Sutherland, Dave Thomas
© 2001, the above authorsthis declaration may be freely copied in any form, but only in its entirety through this notice.
www.agilemanifesto.org
Principles of Agile• Satisfying customer is top priority• Deliver working software frequently• Development teams and business work together• The primary measure of success is working software• The Team regularly reflects on work• Build projects around motivated people• Continuous attention to technical excellence and good design• Simplicity is essential
– maximizing the amount of work not done
• Architectures, requirements and designs emerge • Agile processes promote sustainable development
Agile ManifestoWe are uncovering better ways of developing software by doing it and helping others do it.
“Responding to change over following a plan”
“Customer collaboration over contract negotiation”
“Working software over comprehensive documentation”
“Individuals and interactions over process and tools”Va
lues
“The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.”
“Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.”
“Working software is the primary measure of progress.”
“Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.” “Our highest priority is
to satisfy the customer through early and continuous delivery of valuable software.”
“Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.”
“At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.”
“Continuous attention to technical excellence and good design enhances agility.”
“Business people and developers must work together daily throughout the project.”
“Build projects around motivated individuals, give them the environment and support they need, and trust them to get the job done.
“Simplicity -- the art of maximizing the amount of work not done – is essential.”
“The best architectures, requirements, and designs emerge from self-organizing teams”
Prin
cipl
es
Lean and Agile RelationshipLEAN AGILE
Running enterprises and businesses Rapid delivery of complex products and services
Minimize the time between customer request and customer fulfillment
Minimizes risk by incremental delivery
Emphasizes work simple enough to understand, do and manage
Emphasizes real time collaboration, automation
Continually improving the whole process – CI - Kaizen
Mistake proof development practices
Eliminate Waste and reducing non-value added work
Uses business value as the primary measure of progress
Develop individuals through team problem-solving, and engage people through their contribution to team performance
Self-organizing, X-functional teams, working collaboratively
Lean
AgileTQM
Value Stream Mapping
SECI – Knowledge Dimensions
TRIZ (TIPS)
SPC – Statistical Process
Control
6 Sigma
Agile is a Culture
Agile Methods/Frameworks/Practices
ScrumXP
TDDCrystal Clear
Agile PM - APM
DSDM Atern
KanbanFDDLean Development
RAD
ShoreTel ??
The 5 Core XP Values
• Communication - Building and disseminating institutional knowledge among development team, enables a shared vision. Happens through collaboration between users and developers, frequent verbal communication, and feedback, simple design, common metaphors.
• Simplicity - Start with a simple solution. Extra functionality can be added later.
• Feedback - Feedback looked in three dimensions : Feedback from the system, the customer and the developers.
• Courage - Developers feel comfortable with refactoring, knowing when to throw away; courage to remove source code when obsolete
• Respect – Respect for other as well as self-respect. – For example: developers should never delay the work of their peers
Agile Benefits• All the benefits of getting to “done”… frequently!• IT can focus on building things right• Business and IT have a better partnership for building
the right thing• Every Sprint the business can
– Get a demonstration of real working software– Change Portfolio and project level priorities– Change Portfolio level investments– Decide whether to release or not
• Shared feeling of accomplishment
Iterative vs Incremental• Incremental
• Iterative
©2008 Xavier Quesada Allue
Iterative Risk Reduction
18
Time
Risk Waterfall
Agile reduces risk by building and using
Incremental Delivery
FeasibilityDefinition
DesignConstruction
Release
Sprint 1 Sprint 2 Sprint 3 Sprint 4 Sprint 5 Sprint 6 Sprint 7 Sprint 8
Release #1
2 wks2 wks 2 wks2 wks 2 wks 2 wks 2 wks 2 wks
Release #3Release #2
AgileWhat if this is enough?
Waterfall
Iterative, Incremental development
GUI
Client
Server
DB schema
C
• Iterative = don’t expect to get it all right the first time• Incremental = build in ”vertical” slices (features) rather
than ”horizontal” (layers)Monolithic development
1
2
3
4
1
Incremental development
2 3
Maybe we don’teven need tobuild the rest!
C
GUI
Client
Server
DB schema
Waterfall vs. Incremental Delivery
FeasibilityDefinition
DesignConstruction
Release
Iteration 1 Iteration 2 Iteration 3 Iteration 4 Iteration 5 Iteration 6 Iteration 7 Iteration 8
Release #1
2 wks2 wks 2 wks2 wks 2 wks 2 wks 2 wks 2 wks
Release #3Release #2
AgileWhat if this is enough?
Waterfall
Makes Money Faster
22
Early delivery drives first to market, fast feedback, and profitabilityMarket Value of
a feature over time
Waterfall Cumulative Gross Margins
Agile Cumulative Gross Margins
Time
Valu
e D
eliv
ered
Delivers Better Fit for Purpose
23
What the Customer requested
What the Customer would like
Time
Agile AdaptivePlan result
Waterfall Plan result
Fixed vs. Variable
Fixed
Estimated
Requirements
TimeResources
Time
Features
Plan Driven
ValueDriven
The Plan creates cost/schedule estimates
Release themes & feature intent drive estimates
Waterfall Agile
Resources
Agile Process Framework
Agile in 20 words: Some Values
• Change – expect and embrace it, Adapt to your environment.• Communication - frequent verbal, building and disseminating knowledge.• Collaboration - between and amongst users and developers.• Feedback - from the system, the customer and the developers.• Courage - comfort in refactoring, finding your voice.• Respect - Respect for others as well as self-respect.• Transparency - Make work and a shared vision visible.• Sequenced - queue of work, Success is working software.• Quality - Continuous attention to excellence, Innovate on solutions.• Simplicity - Start with a simple solution, show Value. • Self-Organise - regularly reflect on work, determine the best way.• Motivate - build teams of motivated people, promote Sustainable cadence.• Satisfy customer and Deliver working software frequently.
AGILE OVERVIEW – DONE!
Continues the series with: ShoreTel Scrum- How Scrum is implemented @ ShoreTel Sky