• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Agile Project Management: Breaking Old Software Management ...
 

Agile Project Management: Breaking Old Software Management ...

on

  • 2,092 views

 

Statistics

Views

Total Views
2,092
Views on SlideShare
2,092
Embed Views
0

Actions

Likes
2
Downloads
56
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • Founded by former execs of BEA, Rational and Software Edge - Creators of some of the world’s leading application development tools Distinguished advisory board Mary & Tom Poppendieck, Philippe Krutchen, Dean Leffingwell, Shai Koenig, Randy Stafford Recently launched Release 3 and offer Agile coaching services from highly experienced practitioners
  • What is in it for me – as the project manager
  • I have been along this whole continuum

Agile Project Management: Breaking Old Software Management ... Agile Project Management: Breaking Old Software Management ... Presentation Transcript

  • Agile Project Management: Breaking Old Software Management Paradigms Presented by Ryan Martens President & Founder, Rally SDC
  • Background on Speaker
    • Ryan Martens
      • President & Founder, Rally Software Development Corp.
      • Former Director Product Management, BEA Systems
      • VP Services, Avitek (Custom Java Development Firm)
      • Director/Project Manager, BDM Technologies (Systems Integrator)
      • MBA, BSCE (Construction Mgmt) & Minor CS
    The Most Agile Route Between Two Points On Course On Time Rally increases the reliability and responsiveness of software-driven companies by enhancing development productivity and agility
    • What part of the software industry do you work in?
      • Software (ISV, ASP)
      • Corporate (IT)
      • Services (ISV, Consultant)
      • Other
    • How many people are PMP certified?
      • YES
      • NO
    Audience Survey
  • Objectives for Today
    • Thesis:
      • Agile Project Management is becoming a mainstream alternative to “Plan Driven” Project Management. Agile is both disciplined and innovative; it makes your team more reliable and responsive.
    • What you will learn:
      • What does Agile look like?
      • What project management paradigms are we breaking with Agile versus Plan-Driven Development?
      • How do you get to Agile?
      • How does it change the “Day-in-the-life” of a PM?
      • How do you get started?
      • What tools and resources are available?
  • Agile Adoption Survey
    • What is your current level of experience in Agile Project Management and Development?
      • Know the concept
      • Learning
      • Some experience on a team using it
      • Active practitioner
  • What does Agile look like?
  • Survey of Agile Methods
    • Dynamic System Development Method (Dane Faulkner)
    • Adaptive Software Development (Jim Highsmith)
    • Crystal (Alistair Cockburn)
    • SCRUM (Ken Schwaber)
    • XP (Kent Beck)
    • Lean Software Development (Mary Poppendieck)
    • Feature Driven Development (Jeff DeLuca)
    • Agile RUP
  • A Generalized Agile Process Release Iteration 1 Iteration 2 Iteration 3 Iteration …
    • Feature 1
    • Feature 2
    • Feature 3a
    • Feature 3b
    • Feature 4a
    • Feature 4b
    • Feature 5
    • Feature 4c
    • Feature 6
    • Feature 7
    Backlog
    • Feature 8
    • Feature 9
    • … .
  • An Agile Iteration
  • What project management paradigms are we breaking?
  • What Paradigms Are We Breaking? Culture Measure of Success Waterfall Development Iterative Development Iterative and Incremental Development Parallel Development Acceptance Test Driven Development Command-and-Control Leadership /Collaborative Conformance to Plan Response to Change Design QA Process Agile Development Tool Support Big Design Up Front Continuous Big Test on Backend Continuous Highly specific Fully Integrated
  • New Measures of Success
    • Critical Path -------------------------
    • Work Breakdown Structure -----------------------------------------
    • % Complete of tasks --------------
    • Serial functions --------------------
    • Procedural process -----------------
    • Fixed scope -------------------------
    • Critical Chain
    • Feature Breakdown Structure
    • # of Features accepted
    • Parallel functions
    • Empirical time boxes
    • Fixed time and resources
    Measure of Success Waterfall Development Iterative Development Iterative and Incremental Development Parallel Development Acceptance Test Driven Development Conformance to Plan Response to Change Process Agile Development
  • Culture of Discipline and Collaboration
    • Culture of sign-offs -----------------
    • High-level plans = Roll-up of detailed plans ------------------------
    • Detailed Planning early ------------
    • Protect the Project Scope ----------
    • Demonstrate at End -----------------
    • Weekly PM meetings --------------
    • Culture of learning
    • Gross estimates of backlog create the high-level plans
    • Detailed Planning in chunks
    • Protect the Iteration Scope
    • Demonstrate every Iteration
    • Daily Stand-up meetings
    Waterfall Development Iterative Development Iterative and Incremental Development Parallel Development Acceptance Test Driven Development Process Agile Development Culture Command-and-Control Leadership /Collaborative
  • Continuous Design & Test
    • Contract with Customer ----------
    • Big Design sign off ---------------
    • Dreaded Integration phase -------
    • Never miss Dev. Cmpt date -----
    • Work in big phases ---------------
    • Testing squeezed -----------------
    • Partner with Customer
    • LPM Design Decisions
    • Continuous Integration
    • Never break the build
    • Work in small chunks
    • Low Features squeezed
    Waterfall Development Iterative Development Iterative and Incremental Development Parallel Development Acceptance Test Driven Development Process Agile Development Design QA Big Design Up Front Continuous Big Test on Backend Continuous
  • Agile Project Tooling
    • Focus on Individuals -------------
    • Optimize the parts ----------------
    • Integrate with batch update -----
    • Manage large inventories --------
    • Un-integrated with the WBS ----
    • Visibility through manual PM report --------------------------------
    • Focus on the team
    • Optimize the whole
    • Tight integration
    • Manage rapid throughput
    • Manage the FBS
    • Real-time visibility up, down and across the team
    Waterfall Development Iterative Development Iterative and Incremental Development Parallel Development Acceptance Test Driven Development Process Agile Development Tool Support Highly specific Fully Integrated
  • Benefits from Implementing Agile
    • Deliver benefits early (First Iteration is demonstrable)
    • Avoid significant rework by only doing just-in-time detailed design
    • Avoid dead-end design decisions by managing with LPM decisions and trade-off matrix
    • Raise quality by moving testing forward in the process
    • Become responsive by supporting scope adjustments every iteration
    • Become reliable by instituting regular heartbeats to the team
    • Increase estimating accuracy by working in small chunks
    • Decrease risk by always having working software
    • Increase throughput via real-time visibility
    • Increase team moral by dropping the “death marches.”
  • How do you get to Agile?
  • Four Paths to Great Software (Consistently Responsive) Hierarchical Agility & Innovation Culture of Discipline High High Low Low Bureaucratic Start-up Great Organization (Adapted from Collins’ Good-to-Great Matrix of Creative Discipline, 2002)
  • Four Paths to Great Software (Consistently Responsive) Hierarchical Agility & Innovation Culture of Discipline High High Low Low Bureaucratic Start-up Agile Development Agile Organization Waterfall Great Organization Chaos Solo Virtuosos (Adapted from Collins’ Good-to-Great Matrix of Creative Discipline, 2002)
  • Four Paths to Great Software (Consistently Responsive) Hierarchical Agility & Innovation Culture of Discipline High High Low Low Bureaucratic Start-up Agile Development Agile Organization Path 4 – Scaling & Extending Agile Path 2 – Discipline Path 1 – Agility Waterfall Great Organization Chaos Solo Virtuosos Path 3 – Agility & Discipline (Adapted from Collins’ Good-to-Great Matrix of Creative Discipline, 2002)
  • How Organizations Become More Responsive *D. Anderson: Agile Software Management Accounting for Systems Three Levers to Increase Responsiveness Eliminate waste to produce higher quality with less effort Decrease Operating Expense Reduce inventory and the cost capture, elaboration, communication and scheduling Decrease Investment Shorten cycle times to speed delivery of functionality to customers Increase Throughput
  • Agile = Increasing Success Agile Development Risks Cycle Time Increasing Throughput Increasing Success Decreasing Investment Decreasing Operating Expense Feedback Delays Detailed Inventory Waterfall Development Iterative Development Iterative and Incremental Development Parallel Development Acceptance Test Driven Development
  • Incremental and Iterative Agile Development Cycle Time Feedback Delays Detailed Inventory Risks Year + Quarters Months Whole Project Entire Business Project Iteration Phase Iteration Across Job Functions Across Phase Across Iteration Waterfall Development Iterative Development Iterative and Incremental Development Parallel Development Acceptance Test Driven Development
  • Incremental & Iterative Cadence Automate Tests Elaborate Features Into Requirements Demonstration Iteration N Iteration N+1 Iteration N-1 Detailed Iteration Planning & Design Manual Test & Bug Fix Develop all Features in Parallel Development Complete Fix Deferred Defects Elaborate Manual Tests
  • Parallel Development Cadence Automate Tests Elaborate Features Into Requirements Demonstration Iteration N Iteration N+1 Iteration N-1 Detailed Iteration Planning & Design Test & Fix Dev Feature Priority 1 Development Complete Fix Deferred Defects Elab. Tests Feature 1 Test & Fix Dev Feature Priority 2 Elab. Tests Feature 2 Test & Fix Dev Feature Priority 3 Elab. Tests Feature 3
  • Acceptance Test Driven Development Cadence Elaborate Features Into Requirements and Test Cases Demonstration Iteration N Iteration N+1 Iteration N-1 Detailed Iteration Planning & Design Dev Feature Priority 1 Auto. Tests Feature 1 Dev Feature Priority 2 Auto. Tests Feature 2 Dev Feature Priority 3 Auto. Tests Feature 3 Dev Feature Priority 4 Auto. Tests Feature 4 Dev Feature Priority 5 Auto. Tests Feature 5
  • Increasing Agility & Success Agile Development Cycle Time Year + Quarters Months Whole Project Entire Business Project Iteration Phase Iteration Feedback Delays Detailed Inventory Risks Across Job Functions Across Phase Across Iteration Weeks < week Increment Feature Increment Feature Across Increment Across Feature Waterfall Development Iterative Development Iterative and Incremental Development Parallel Development Acceptance Test Driven Development
  • The “Day in the Life” of an Agile Project Manager
  • Customer Success Story
    • Before
      • 8 month release, 2 month iterations
    • Dilemma
      • Still missing the opportunities & Iteration goals
    • After
      • 2 week iterations exposed issues
      • Separate Patch & Support team
      • Lowered defect inventory
    • As a results:
      • Reliably Responsive to new opportunities
  • How do I get started?
  • Evolution of Agile inside a team
    • Rollover
          • Implement daily stand-up meetings, create an automated build process to always be close to shippable code
    • Apply Agile Project Management (APM) practices
          • Create and track a Backlog of stories, a Release, and its Iterations through to Acceptance
          • Create short iterations and release small batches
    • Extend APM upstream into requirements elaboration
          • Capture use cases, scenarios for richer requirements statements, and build parent-child relationships to pull testing forward
          • Build tight link to the customer for feedback
    • Extend APM into test to increase quality measures
          • Track test case results to story cards, manage defects from iteration to iteration
          • Implement an automated acceptance testing framework
  • Technical Team Disciplines
    • Develop coding and naming standards
    • Track remaining on tasks
    • Automate the build process and share results
    • Implement a Testing Framework that includes unit test, application tests and GUI tests
    • Develop a continuous integration process and server
    • Move toward collective code ownership
    • Cross-train through pair programming to increase flexibility, domain knowledge and reduce risk
    • Suggested Process
      • Internal champion
      • Suggested reading
      • Brown bag discussions
      • Guest lectures
      • Local Agile/XP user groups
      • Agile Conferences
        • Agile Development
        • XP / Agile Universe
        • Software Development
    • Where to start on the web
      • www.agilealliance.org
        • Articles, events & user groups
        • Great resource for getting started with Agile
    • Suggested Reading
      • Home of SCRUM www.controlchaos.com/
      • Agile & Iterative Development www.craiglarman.com
      • Lean Software Development www.poppendieck.com/
      • Agile Project Management www.jimhighsmith.com/
    • Rally Whitepaper
      • Tactical Management of Iterative Development: Achieving Competitive Advantage, www.rallydev.com
    Resources to Self-teach Agile
    • Training Opportunities
      • Lean Manager & Practitioners Classes
        • www.poppendieck.com/courses.htm
      • SCRUM Master Class
        • www.controlchaos.com/certifiedscrum/
      • eXtreme Programming
        • www.xprogramming.com/xpmag/services.htm
      • Rally’s 1-day Agile Workshop
    • Mentoring Programs
      • Individual consulting:
        • Ken Schwaber
        • Mary & Tom Poppendieck
        • Jim Highsmith
        • Mike Cohn
        • Or see www.agilealliance.org
      • Rally Agile Pilot Program
        • 1-day team workshop
        • Developing the Agile Management Team
        • Delivering the first Agile iterations
    Professional Help
    • Pick a date two weeks from this Friday. Call it “Iteration 1 End Date.” Schedule a demo for stakeholders.
    • Decide which feature the team will accomplish (the bite-size chunk that can be completed).
    • Define the tasks required to achieve the objective and have the team bid each task.
    • Adjust scope until it looks like it might fit. Commit.
    • Execute - Have daily standup meetings for 15 minutes.
    • Be accountable. Hold the demo exactly when planned no matter how much you have achieved.
    • Reflect on what you’ve learned.
    • Do it again.
    “Just give me two weeks”
  • Audience Survey
    • How many people use these Project Management Tools for planning and tracking?
      • MS-Project Stand alone
      • MS-Project Enterprise (or other Project Servers)
      • Spreadsheets
  • Tools
    • Open Source
      • M-ASE
      • Story Server
      • TWiki XPTrackerPlugin
      • UserStory.NET
      • XPlanner
      • XpCgi
      • XPWeb
      • XPSwiki
    • Commercial
      • Rally
      • AgilePlan
      • VersionOne
      • Iterate
      • Scope Manager
      • ScrumWorks
      • DevPlanner
      • XpPlanIt
    Most co-located teams start with paper, note cards and a whiteboard
  • Planning an Agile Project
    • Prioritized Backlog of features with gross estimates
    • Estimate of team velocity
    • Creates Release & Iterations
    • Draft Iteration FBS
    • Detailed Planning for the next Iteration
  • Tracking an Agile Project
    • Complete detailed estimates & tasks
    • Rank FBS for Iteration
    • Start work & update status
    • Track status of tasks, tests & defects
    • Demonstrate new features
    • Collect metrics
  • Report on an Agile Project
    • Remaining burn-down
    • Accepted features
    • Velocity of team
    • Prioritized Backlog
    • Test Coverage
    • Outstanding bugs
    • Current Iteration dates
  • Objectives for Today
    • Thesis:
      • Agile Project Management is becoming a mainstream alternative to “Plan-Driven” Project Management. Agile is both disciplined and innovative; it makes your team more reliable and responsive.
    • What you learned:
      • What does Agile look like?
      • What project management paradigms are we breaking with Agile versus Plan-Driven Development?
      • How do you get to Agile?
      • How does it change the “Day-in-the-life” of a PM?
      • How do you get started?
      • What tools and resources are available?
  • Questions? [email_address] OR [email_address]