• Save
Mitigating Risk with Agile Development
Upcoming SlideShare
Loading in...5

Mitigating Risk with Agile Development



Intro to agile from an executive (product management) viewpoint. Some agile history, business objectives and organizational issues.

Intro to agile from an executive (product management) viewpoint. Some agile history, business objectives and organizational issues.



Total Views
Views on SlideShare
Embed Views



2 Embeds 85

http://mironov.com 82
http://www.mironov.com 3



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.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment
  • Include “continuous integration” and transparency and surfacing deadwood.
  • Iterative A development process which breaks the finished product into smaller projects (called iterations). The lessons from each iteration are applied in the next and subsequent iterations.WaterfallA sequential software development process where each phase is completed before moving to the next phase: requirements, software design, software development, system test, integration, and maintenance.ScrumA popular agile software development method for project management. Work is delivered in two- or four-week sprints. After each sprint, the team demonstrates their results to the product owner (and others). There's a prioritized backlog of problems to solve.Rapid Application DesignA development methodology that uses CASE (computer-aided software engineering) tools, prototypes, and user-interaction to achieve the goals of high quality and speed.Extreme ProgrammingOne of several agile software development methodologies, prescribing a set of daily stakeholder practices that embody and encourage particular agile values. Proponents believe that exercising these practices—traditional software engineering practices taken to so-called "extreme" levels—leads to a development process that is more responsive to customer needs ("agile") than traditional methods, while creating software of better quality.Test-Driven DevelopmentA software development technique consisting of short iterations where new test cases covering the desired improvement or new functionality are written first, then the production code necessary to pass the tests is implemented, and finally the software is refactored to accommodate the changes.LeanLean manufacturing is the production of goods using less of everything compared to mass production: less human effort, less manufacturing space, less investment in tools, and less engineering time to develop a new product. Lean manufacturing is a generic process management philosophy derived mostly from the Toyota Production System and is often linked with Six Sigma.
  • Toyota success only partially from Lean: flexible team model; willingness to stop production processes; continuously improving quality.Also required a strategic vision: LT thinking about customer needs, e.g. hybrids; packaging/pricing for value; consistent planningDetroit visitors asking to see the rework area in a Toyota plant
  • That said, most companies have or are currently adopting some type of Agile approaches to developmentMore and more large companies have or are going Agile.
  • Note: outsourcing experts tell us that part of their advantage versus internal teams (independent of cost) is that their staff is allowed to focus on ONLY the officially assigned projects and tasks. Internal staff often spends much of their day on non-output-related tasks.

Mitigating Risk with Agile Development Mitigating Risk with Agile Development Presentation Transcript

  • Mitigating Risk with Agile Development
    Rich Mironov
    CMO, Enthiosys
    Sept 15, 2009
    Fairfax, CA
  • About Rich Mironov
    CMO at Enthiosys, agile product mgmt consultancy
    Business models/pricing, roadmaps
    Agile transformation and Interim product exec
    Innovation Games® and customer needs
    Chair of Agile 2009 PM/PO stage
    Repeat offender at software prod mgmt
    Tandem, Sybase, four start-ups
    “The Art of Product Management” and monthly agile product blog
  • What is Agile?
    Umbrella term describing sets of software project management and engineering methods/practices
    Incremental, iterative and collaborative, rather than distinct stages
    More frequent delivery of smaller, valuable increments
    Building quality in, not adding it at the end
    Goal of potentially shippable at every iteration
    Active user involvement (or customer proxy)
    Agile teams must be empowered and self-motivating
  • Discussions about Agile…
    Part philosophy and religion
    Part process, tools, techniques, methods
    Part organizational design
  • Agile is an Umbrella
    agile methods
    Extreme Programming (XP)
    Agile Project Management Framework (APM)
    Crystal Methods
    Dynamic Systems Development Model (DSDM)
    Rational Unified Process (RUP)
    Feature Driven Development (FDD)
    Lean Development
    Rapid Application Development (RAD)

  • Lean Roots
    Roots in Toyota Production System
    “Create a continuous process flow to bring problems to the surface”
    “Level out the workload”
    “Build a culture of stopping to fix problems, to get quality right the first time”
    “Become a learning organization through relentless reflection and continuous improvement”
    Source: Liker, Jeffrey (2004). "The 14 Principles Of The Toyota Way: An Executive Summary of the Culture Behind TPS".
  • The Agile Manifesto (2001)
    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.
  • 12 Agile Principles
    Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
    Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.
    Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter time scale.
    Business people and developers must work together daily throughout the project.
  • 12 Agile Principles
    Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
    The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
    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.
  • 12 Agile Principles
    Continuous attention to technical excellence and good design enhances agility.
    Simplicity - the art of maximizing the amount of work not done - is essential.
    The best architectures, requirements and designs emerge from self-organizing teams.
    At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.
  • Requirements
    Coding and
    unit test
    System integration & QA
    Operation and maintenance
    Waterfall: Linear, Cascading
  • Agile (Scrum) Model
    Plan out 1-4 weeks work
    Meet daily
    Create product needs
    Review product
    Strategic planning
    Improve process
    After: Gabrielle Benefield
  • Fixed Vs. Variable
    The Plan creates cost/schedule estimates
    Release themes and feature intent drive estimates
  • Planning Time Horizons
    many years
    many mons
    2-9 mon
    2 wk
  • State of Agile Today
    Most companies early in agile adoption cycle
    Pockets of pioneers
    Often distributed teams
    Some examples of fully scaled-up divisions
    Highlights need for portfolio-level planning
    Data from VersionOne
  • Business Benefits of Agile
    Shorter development cycles
    Strategic flexibility
    Deeper connection and alignment with markets
    Improved team morale
    Greater profitability
    But requires investment, leadership and patience
  • Agile Transformation
    Agile is about changing the way people work
    Not just the tools they use
    Not just units of work or development sequence
    Organizational change takes time
    A successful 300-person Eng team took 18+ months
    Executives need to drive organizational issues and expectations
    Let teams handle their own details
    Plan for outside experts, coaches, instructors
    Some of your team won’t fit with Agile
  • 3 Legs of the Agile Stool
    Product & Project
    Structure & Culture
    Quantity & Quality
  • Staffing & Resources Allocation
    Executive’s key tasks: build teams, set priorities
    Agile wants stable teams, fewer projects/person
    5-7 core technical members (dev, QA, Ops)
    Strong intra-team leadership (product, program, requirements) may be shared
    Pool of technical experts (architect, UI)
    At your company, how many projects is each developer assigned to? Each architect?
  • Engineering Resource Pool
    Dev Tools / Release Eng
    Product owner
    Fully dedicated
    Scrum master
    Resource allocation is strategic
  • Whole Product Team
    Most Agilists focus here
  • The Broader Organization
    Agile reaches well beyond development teams
    Dramatic reshaping of product management
    Product Owner is integral to team, but part of PM
    Intensive real-time PO role demands more PM staffing
    Strong impact on Marketing, Sales, Support
    More, faster product deliveries stresses field/channels
    Marketing uses personas/stories to position value
    Roadmap flexibility changes Sales behaviors
    Opportunity for more customer transparency
    Growing interest in applying Agile to other functions
  • Executive Product/Program Mgmt
    As business leaders, we must provide:
    High-level product priorities
    Clear, current, actionable roadmaps
    Moderately stable over time
    Don’t confuse flexibility with anarchy
    Broad and deep market input versus “top-of-mind”
    Planned, strategic, representative
    Program management tools and reporting
    Infrastructure: backlogs, velocity, remote teams…
    New kinds of contention
  • Take-Aways
    The best software organizations using Agile to improve results and internal satisfaction
    Blends methodology, skills, tooling, coaching and company-wide collaborative attitude
    Transformation takes time and resources
    Most impact on Engineering and Product Management
    Keep management attention on roadmap, strategic priorities, high-level goals and metrics
    Empower teams to find their way to success