Agile Fundamentals, ROI and Engineering Best Practices


Published on

Keynote of Feb 4th "Agile Comes to SFO" event. One-day event featured a series of tools and best practices for agile development. This talk recapped the basics of agile, how executives think about agile and software dev in general, and organizational issues in moving to agile.

Published in: Business, Technology
No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • Include “continuous integration” and transparency and surfacing deadwood.
  • © 1993-2008 Pragmatic Marketing, Inc. Page
  • 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. Waterfall A 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. Scrum A 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 Design A development methodology that uses CASE (computer-aided software engineering) tools, prototypes, and user-interaction to achieve the goals of high quality and speed. Extreme Programming One 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 Development A 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. Lean Lean 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. © 1993-2008 Pragmatic Marketing, Inc. Page
  • 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 planning Detroit visitors asking to see the rework area in a Toyota plant
  • © 1993-2008 Pragmatic Marketing, Inc. Page
  • Waterfall is plan driven – fixed requirements, estimated time and resources Agile is value driven – fixed time and resources, prioritized features Empirical – figure it out as you go, use feedback to steer “Would you rather have 100% of your features 80% complete or 80% of your features 100% complete?”
  • That said, most companies have or are currently adopting some type of Agile approaches to development More 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.
  • Initial core team plus overlay experts. For this first team, take best product manager as dedicated product owner; one member of prog mgmt staff through scrum training. Second team starts to highlight resource challenges, staff mismatches, etc. E.g. different expected mix of work for tools vs ops; more specific need for security architecture and input; hope second team can provide more internal mgmt so gets less program mgmt; product manager is also key driver of field revenue and exec customer contact, so bring in a related business analyst as FT onsite product owner and train up on rqmts/prioritization. And need to consider that significant portion of current staff won’t fit into agile collaboration style.
  • Dedicated resources for a given period of time. Some might be shared but that degree of sharing is known and planned for No one is an expert in everything Organizations are complicated Prioritization shouldn’t happen in a vacuum Agile emphasizes communication
  • 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
  • Roadmap aligned with business plan? 18 month plan, not 3 month plan, provides a foundation
  • Agile Fundamentals, ROI and Engineering Best Practices

    1. 1. Agile Fundamentals, ROI and Engineering Best Practices Rich Mironov Principal, Mironov Consulting
    2. 2. About Rich Mironov <ul><li>Agile product management thought leader </li></ul><ul><ul><li>Business models, pricing, roadmaps </li></ul></ul><ul><ul><li>Agile transformations </li></ul></ul><ul><ul><li>Interim product executive </li></ul></ul><ul><li>Agile strategy consultant </li></ul><ul><li>Repeat offender at software start-ups </li></ul><ul><li>Chair of agile PM/product owner stage at Agile 2009 and Agile 2010 conferences </li></ul>
    3. 3. Agenda <ul><li>Quick review of Agile </li></ul><ul><li>Executive Viewpoint </li></ul><ul><li>Best Practices </li></ul>Agile Fundamentals, ROI and Engineering Best Practices
    4. 4. What is Agile? <ul><li>Umbrella term for sets of software project management and engineering practices </li></ul><ul><ul><li>Incremental, iterative and collaborative, rather than distinct stages </li></ul></ul><ul><ul><li>More frequent delivery of smaller, valuable increments </li></ul></ul><ul><ul><li>Building quality in, not adding it at the end </li></ul></ul><ul><ul><li>Goal of potentially shippable at every iteration </li></ul></ul><ul><ul><li>Active user involvement (or customer proxy) </li></ul></ul><ul><ul><li>Agile teams must be empowered and self-motivating </li></ul></ul>
    5. 5. Why Not Waterfall? Waterfall projects rarely deliver according to plan Requirements and estimates Coding and unit test System integration & QA Operation and maintenance Design
    6. 6. Discussions about Agile… <ul><li>Part philosophy and religion </li></ul><ul><li>Part process, tools, techniques, methods </li></ul><ul><li>Part organizational design </li></ul>
    7. 7. Agile is an Umbrella agile methods Scrum 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) …
    8. 8. Lean Roots <ul><li>Roots in Toyota Production System </li></ul><ul><ul><li>“ Create a continuous process flow to bring problems to the surface” </li></ul></ul><ul><ul><li>“ Level out the workload” </li></ul></ul><ul><ul><li>“ Build a culture of stopping to fix problems, to get quality right the first time” </li></ul></ul><ul><ul><li>“ Become a learning organization through relentless reflection and continuous improvement” </li></ul></ul>Source: Liker, Jeffrey (2004). &quot;The 14 Principles Of The Toyota Way: An Executive Summary of the Culture Behind TPS&quot;.
    9. 9. The Agile Manifesto (2001) <ul><li>We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: </li></ul><ul><li>Individuals and interactions over processes and tools </li></ul><ul><li>Working software over comprehensive documentation </li></ul><ul><li>Customer collaboration over contract negotiation </li></ul><ul><li>Responding to change over following a plan </li></ul><ul><li> </li></ul>
    10. 10. 12 Agile Principles <ul><li>Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. </li></ul><ul><li>Welcome changing requirements , even late in development. Agile processes harness change for the customer's competitive advantage. </li></ul><ul><li>Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter time scale . </li></ul><ul><li>Business people and developers must work together daily throughout the project. </li></ul>
    11. 11. 12 Agile Principles <ul><li>Build projects around motivated individuals . Give them the environment and support they need, and trust them to get the job done. </li></ul><ul><li>The most efficient and effective method of conveying information to and within a development team is face-to-face conversation. </li></ul><ul><li>Working software is the primary measure of progress. </li></ul><ul><li>Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely. </li></ul>
    12. 12. 12 Agile Principles <ul><li>Continuous attention to technical excellence and good design enhances agility. </li></ul><ul><li>Simplicity - the art of maximizing the amount of work not done - is essential. </li></ul><ul><li>The best architectures, requirements and designs emerge from self-organizing teams. </li></ul><ul><li>At regular intervals, the team reflects on how to become more effective , then tunes and adjusts its behavior accordingly. </li></ul>
    13. 13. Waterfall: Linear, Cascading Waterfall projects rarely deliver according to plan Requirements and estimates Coding and unit test System integration & QA Operation and maintenance Design
    14. 14. Agile (Scrum) Model After: Gabrielle Benefield Plan out 1-4 weeks work Improve process Review product Create product needs Meet daily Strategic planning
    15. 15. Fixed Vs. Variable Fixed Estimated Requirements Time Resources Time Features Plan Driven Value Driven The Plan creates cost/schedule estimates Release themes and feature intent drive estimates Waterfall Agile Resources
    16. 16. Agenda <ul><li>Quick review of Agile </li></ul><ul><li>Executive Viewpoint </li></ul><ul><li>Best Practices </li></ul>Agile Fundamentals, ROI and Engineering Best Practices
    17. 17. Two Points of View <ul><li>What executives want from Agile </li></ul><ul><ul><li>Get more done (expressed as “ROI”) </li></ul></ul><ul><ul><li>Faster, more predictable </li></ul></ul><ul><ul><li>More responsive to market (juggle roadmap more often) </li></ul></ul><ul><li>Why development organizations want Agile </li></ul><ul><ul><li>Focus more on developing, not SDLC </li></ul></ul><ul><ul><li>Build what customers want </li></ul></ul><ul><ul><li>Move the bottleneck elsewhere </li></ul></ul>
    18. 18. Planning Time Horizons Daily Sprint Strategy Portfolio Product Release Exec PM Dev Team 2 wk 2-9 mon many mons years many years
    19. 19. State of Agile Today <ul><li>Most companies early in agile adoption cycle </li></ul><ul><li>Pockets of pioneers </li></ul><ul><li>Often distributed teams </li></ul><ul><li>Some examples of fully scaled-up divisions </li></ul><ul><li>Highlights need for portfolio-level planning </li></ul>Data from VersionOne
    20. 20. Business Benefits of Agile <ul><li>Shorter development cycles with higher quality </li></ul><ul><li>Strategic flexibility </li></ul><ul><li>Deeper connection and alignment with markets </li></ul><ul><li>Improved team morale </li></ul><ul><li>Greater profitability </li></ul><ul><li>But requires investment, leadership and patience </li></ul>
    21. 21. Executives Care About ROI <ul><li>Often hard to measure, but… </li></ul><ul><li>2008 QSM Associates research found that development teams using agile practices were: </li></ul><ul><ul><li>37% faster delivering software to market </li></ul></ul><ul><ul><li>16% more productive </li></ul></ul><ul><ul><li>With normal defect counts even with significant schedule compression </li></ul></ul><ul><li>BMC under Israel Gat: cut build cycle in half </li></ul><ul><li>Biggest value comes from market, not savings </li></ul>
    22. 22. Agenda <ul><li>Quick review of Agile </li></ul><ul><li>Executive Viewpoint </li></ul><ul><li>Best Practices </li></ul>Agile Fundamentals, ROI and Engineering Best Practices
    23. 23. Agile Transformation <ul><li>Agile is about changing the way people work </li></ul><ul><ul><li>Not just the tools they use </li></ul></ul><ul><ul><li>Not just units of work or development sequence </li></ul></ul><ul><ul><li>But tooling and development processes are critical </li></ul></ul><ul><li>Organizational change takes time </li></ul><ul><ul><li>One successful 300-person Eng team took 18+ months </li></ul></ul><ul><li>Executives must drive organizational expectations </li></ul><ul><li>Plan for outside experts, coaches, instructors </li></ul><ul><li>Some of your team won’t fit with Agile </li></ul>
    24. 24. 3 Legs of the Agile Stool Management Product & Project Corporate Structure & Culture Engineering Quantity & Quality
    25. 25. Staffing & Resources Allocation <ul><li>Executive’s key tasks: build teams, set priorities </li></ul><ul><li>Agile wants stable teams, fewer projects/person </li></ul><ul><ul><li>5-7 core technical members (Dev, QA, Ops) </li></ul></ul><ul><ul><li>Strong intra-team leadership (product, program, requirements) may be shared </li></ul></ul><ul><ul><li>Pool of technical experts (architect, UI) </li></ul></ul><ul><li>At your company, how many projects is each developer assigned to? Each architect? </li></ul>
    26. 26. Engineering Resource Pool <ul><li>Resource allocation is strategic </li></ul>Fully dedicated Partly dedicated Scrum master Product owner Developers QA Prod Mgmt SW Arch UI/ UXD Sec Arch Tech Ops Dev Tools / Release Eng Pgm Mgmt docs
    27. 27. Whole Product Team Most Agilists focus here Operations Development Service & Support Legal Marketing Sales Product Mgt
    28. 28. The Broader Organization <ul><li>Agile reaches well beyond development teams </li></ul><ul><li>Dramatic reshaping of product management </li></ul><ul><ul><li>Product Owner is integral to team, but part of PM </li></ul></ul><ul><ul><li>Intensive real-time collaboration demands more PMs </li></ul></ul><ul><li>Strong impact on Marketing, Sales, Support, Training, Professional Services… </li></ul>
    29. 29. Executive Product/Program Mgmt <ul><li>Business leaders must provide: </li></ul><ul><li>Patience to champion change </li></ul><ul><li>High-level priorities and roadmaps </li></ul><ul><li>Broad market input versus “top-of-mind” </li></ul><ul><li>Support for process/tools improvements </li></ul>
    30. 30. Take-Aways <ul><li>The best software organizations are using Agile to improve ROI and boost internal satisfaction </li></ul><ul><li>Agile blends methodology, skills, tooling, coaching and company-wide collaborative attitude </li></ul><ul><li>Transformation takes time, resources and patience </li></ul><ul><li>Most impact on Engineering and Product Management </li></ul><ul><li>Keep management attention on roadmap, strategic priorities and high-level goals </li></ul>
    31. 31. Q&A