SlideShare a Scribd company logo
Agile
“Modern software systems are hard to build,
 because we’ve already built the easy ones”

             - Tom DeMarco
Software development
processes are all about risk
Pure Waterfall         Modified Waterfall

   Spiral                          Evolutionary Delivery
               Staged delivery

Evolutionary Prototyping
                                  Design-to-schedule
     Commercial Off The Shelf

                                 Code and fix
People are risk
management devices
Another Agile Intro
What does this tell us?
We evolved to deal with
risks that change rapidly
Software risks
aren’t like that
Development Risks
         • Feature creep               • Silver bullet syndrome
         • requirements or             • Research Oriented
            developer gold plating       development

         • Shortchanged quality        • Weak personnel
         • Overly optimistic           • Contractor failure
            schedules
                                       • Friction betwen
         • Inadequate design             developers and customer



“Rapid Development”, Steve McConnell
Development Risks
          •   unrealistic schedules and budgets   •   failure to manage end user
                                                      expectations
          •   unclear or misunderstood scope/
                                                  •   inadequate knowledge/skills
              objectives

          •   misunderstanding the                •   lack of senior management
              requriements                            commitment to the project

          •   continuous requirement changes      •   subcontracting

          •   developing the wrong software       •   resource usage and performance
              functions
                                                  •   introduction of new technology
          •   failure to gain user involvement
                                                  •   gold plating



Unknown
Sources of failure
         • Lack of user           • Lack of planning
             involvement
                                  • Absence of need
         • Lack of resources      • Incomplete
         • Unrealistic expectations requirements
         • Lack of executive       • Changing
             support                requirements



Standish CHAOS Report, 1995
What’s the biggest risk for
      your project?
Process History
http://www.flickr.com/photos/a_mason/11936023/
Waterfall?
1970 - Winston Royce
“Managing the Development
of Large Software Systems”
Another Agile Intro
Adopted for commercial
    development
Worked ok
Biggest risk - cost of delivery
Requirements well defined
  by existing processes
But what did Royce build?
Spacecraft control systems!
Another Agile Intro
Another Agile Intro
Royce’s other advice...
1. Program Design Comes
          First
2. Document the Design
3. Do it Twice
4. Plan, Control and Monitor
           Testing
5. Involve the Customer
We see hints of something
 more than just waterfall
“If the effort runs
  30 months then this early
development of a pilot model
 might be scheduled for 10
           months.”
“In this case a very special kind of broad
    competence is required on the part of the
  personnel involved. They must have an intuitive
feel for analysis, coding, and program design. They
    must quickly sense the trouble spots in the
   design, model them, model their alternatives,
 forget the straightforward aspects of the design
  which aren't worth studying at this early point,
    and finally arrive at an error-free program.”
Fast forward - February 2001
Another Agile Intro
Another Agile Intro
Agile Methods
Scope, Time, Money, Quality
Quality is a highly non-linear
      control variable
Fix Quality!
Our biggest risk is uncertainty
        - embrace it!
Put a stake in the sand
Assume our guesses are
roughly right, but they will
     need to change
Unity and Focus
One application, one team,
        one goal
Delivering the best application
  we can for the time and
       money available
Agile Values
Plenty of subtly different
       alternatives
Transparency
Rapid Feedback
Reduce Waste
 Be Adaptive
Waste
Partially Done   Hand-offs
    Work          Delays
Extra Features    Defects
Task Switching   Relearning
Agile Practices
Some are from Scrum
Some are from Extreme
    Programming
Some are from Feature
 Driven Development
All are consistent with values
I won’t go into them all
Whole Team
Feature Team
Continuously
Deliver Value
Eliminate anything that
 doesn’t deliver value
Make sure
everything relates
    to a need
Epics
User Stories
Acceptance
 Criteria
All Just-In-Time
Deliver Iteratively
and Incrementally
Deliver Working
   Software
It’s not done until it
     does what the
 customer expected
It’s not done until it’s
 ready for production
Keep the cost of
  change low
Automated tests
Unit tests
Functional Tests
High quality
implementation
Design for testability
Pair programming
http://www.flickr.com/photos/adewale_oshineye/310704940
It can be fun
It’s very effective
Be prepared to learn
About the problem
     domain
About the technical
    solution
New skills
Differentiate on
skill and knowledge,
      not on title
Be prepared to step
 outside your role
Feedback on
  technical
performance
Test code coverage
Code quality metrics
Duplication
Builds need to be
      FAST
Rapid testability
 is a constraint,
  not an option
Architectures
     and tools
will need to adapt
        too
Learn TDD
Learn to refactor
Learn to write as
 little as possible
Learn to answer
questions without
    certainty
Share
Standup meetings are
     mandatory
Err on the side of
sharing too much
Big Visible Charts
Value personal
communication
Collaborate
We succeed or fail
   as a team
Reflect
Whole Team
Retrospectives
Change practices
   and tools
Don’t be afraid to
  experiment
But know when
    to stop
Understand what you’re
trying to get better AT
Escalate
Ask politely and
  reasonably
Set expectations
Don’t be afraid
Don’t wait
Change
Not just once,
continuously
Forming                Storming




          Performing              Norming
Will try to keep
 teams intact
“If members of a team don’t care about
each other and what they are doing, XP
             is doomed”

             Kent Beck
Deliver a minimal
viable system asap
  then extend it
http://electsp.blogspot.com
http://sites.google.com/site/
        agileplanning/
steve.hayes@cogentconsultin
          g.com.au
Question Time

More Related Content

PDF
Managing international software projects interactively using scrum
PDF
Why Is Managing Software So Hard?
PPTX
Business Case for Agile - Time for ROI Check
PPTX
Heise cusimano
PPTX
Holistic Product Development
PDF
Seven Deadly Habits of Dysfunctional Software Managers
PPTX
Lou wheatcraft
Managing international software projects interactively using scrum
Why Is Managing Software So Hard?
Business Case for Agile - Time for ROI Check
Heise cusimano
Holistic Product Development
Seven Deadly Habits of Dysfunctional Software Managers
Lou wheatcraft

What's hot (20)

PDF
Greg Willis - Agile Innovation
PPT
Agile Software Process Improvement
PDF
Value Driven Development by Dave Thomas
PPTX
The art of execution
PDF
Continuous Delivery: Never Send a Human to Do a Machine’s Job
PPTX
ATC2013-Thiru and Abhishek-How to prevent Agile from becoming Fragile?
KEY
Intro to Lean Software Development
PPTX
Agile - Product is Progress.
PDF
Deliver Projects On Time, Every Time
PDF
Lect-2: Overview and Traditional SPM, Classic mistakes
PPT
Agile Software Development
PPT
Synerzip Agile Software Development
PDF
Devops Strategy Roadmap Lifecycle Ppt Powerpoint Presentation Slides Complete...
PPTX
Leading Software Development Teams
PPTX
L22 Architecture and Agile
PDF
Software Project Management - Classic Mistakes
PPTX
The Process of Communication, A Practical Guide for Project Managers
PPTX
Lean Software Development
PPTX
Extreme programming
PDF
Adapting Scrum in an Organization with Tailored Processes
Greg Willis - Agile Innovation
Agile Software Process Improvement
Value Driven Development by Dave Thomas
The art of execution
Continuous Delivery: Never Send a Human to Do a Machine’s Job
ATC2013-Thiru and Abhishek-How to prevent Agile from becoming Fragile?
Intro to Lean Software Development
Agile - Product is Progress.
Deliver Projects On Time, Every Time
Lect-2: Overview and Traditional SPM, Classic mistakes
Agile Software Development
Synerzip Agile Software Development
Devops Strategy Roadmap Lifecycle Ppt Powerpoint Presentation Slides Complete...
Leading Software Development Teams
L22 Architecture and Agile
Software Project Management - Classic Mistakes
The Process of Communication, A Practical Guide for Project Managers
Lean Software Development
Extreme programming
Adapting Scrum in an Organization with Tailored Processes
Ad

Similar to Another Agile Intro (20)

PDF
Agile adoption tales from the coalface
PPT
Popular Pitfalls In Sdlc Phases 1
PDF
Large scale agile_svante_lidman
PPTX
Project Mangement
PPT
Kelis king - software engineering and best practices
PPTX
PDF
AgileCville: How to sell a traditional client on an Agile project plan
PDF
High Quality Software Development with Agile and Scrum
PPT
Agile software development for startups
PDF
Lowering business costs: Mitigating risk in the software delivery lifecycle
PPT
Executive Presentation on Agile Project Management by Boardroom Metrics Inc.
PPTX
WinSmart Technologies
PPT
Software development Life Cycle
PPTX
The agile vision
PPTX
why agile?
PPT
6a.Agile Software Development.ppt
PPT
6a.Agile Software Development.ppt
PPT
Agile Pmi 102108 Final
PPTX
Agile marries itil
PPTX
Poor Man's Kanban
Agile adoption tales from the coalface
Popular Pitfalls In Sdlc Phases 1
Large scale agile_svante_lidman
Project Mangement
Kelis king - software engineering and best practices
AgileCville: How to sell a traditional client on an Agile project plan
High Quality Software Development with Agile and Scrum
Agile software development for startups
Lowering business costs: Mitigating risk in the software delivery lifecycle
Executive Presentation on Agile Project Management by Boardroom Metrics Inc.
WinSmart Technologies
Software development Life Cycle
The agile vision
why agile?
6a.Agile Software Development.ppt
6a.Agile Software Development.ppt
Agile Pmi 102108 Final
Agile marries itil
Poor Man's Kanban
Ad

Recently uploaded (20)

PDF
Encapsulation theory and applications.pdf
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Empathic Computing: Creating Shared Understanding
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
cuic standard and advanced reporting.pdf
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PPT
Teaching material agriculture food technology
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
Encapsulation theory and applications.pdf
The Rise and Fall of 3GPP – Time for a Sabbatical?
Empathic Computing: Creating Shared Understanding
Understanding_Digital_Forensics_Presentation.pptx
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Spectral efficient network and resource selection model in 5G networks
cuic standard and advanced reporting.pdf
Digital-Transformation-Roadmap-for-Companies.pptx
CIFDAQ's Market Insight: SEC Turns Pro Crypto
MYSQL Presentation for SQL database connectivity
Chapter 3 Spatial Domain Image Processing.pdf
Mobile App Security Testing_ A Comprehensive Guide.pdf
Teaching material agriculture food technology
Diabetes mellitus diagnosis method based random forest with bat algorithm
“AI and Expert System Decision Support & Business Intelligence Systems”
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
20250228 LYD VKU AI Blended-Learning.pptx
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
Per capita expenditure prediction using model stacking based on satellite ima...

Another Agile Intro