Introduction to Agile, by J.D. Meier


Published on

A brief and visual introduction to the Agile.

Learn the Agile mindset and the big 3 (Extreme Programming, Scrum, and Kanban). Be able to whiteboard a simple view of how each one works to get things done and make things happen.

  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • Increase customer involvement
    Learn faster
    Improve quality
    Reduce risk
    Reduce cycle time
    Improve operational awareness
    Drive process improvement
    Empower people
    Flow more value
  • Introduction to Agile, by J.D. Meier

    1. 1. 6/18/2014 1 Introduction to Agile J.D. Meier
    2. 2. 6/18/2014 2
    3. 3. About J.D. Meier J.D. Meier …  Principal Program Manager at Microsoft  Focus - Software Development, Project Management, and Effectiveness  Research, author, lead teams, and ship stuff  10+ years deliberate practice in “proven practices”  750+ software architecture and design reviews As a hobby and passion, I study success patterns inside and outside of Microsoft, up and down the chain. Blogs  J.D. Meier on MSDN (Microsoft Blog):  Sources of Insight (Effectiveness Blog) - 3
    4. 4. 6/18/2014 4 Goals 1. Take a walk through the big 3 (XP, Scrum, and Kanban) 2. Build a shared vocabulary for Agile 3. Learn simple mental models for Agile
    5. 5. 6/18/2014 5 Agile vs. Waterfall Waterfall Agile
    6. 6. 6/18/2014 6 What is Agile Agile is a framework of values and principles to manage teams and projects. Agile is an alternative approach to traditional project management. It embraces change while traditional project management fights change. People across functional teams work together as one team, rather than different groups working in phases or stages. More human communication, interaction, and face-to-face. Continuous feedback from users and stakeholders. Iterations, shorter development cycles, and more frequent releases. Visibility of progress and transparency of process.
    7. 7. 6/18/2014 7 Individuals and interactions over Processes and tools Working software over Comprehensive documentation Customer collaboration over Contract negotiation Responding to change over Following a plan Agile Values
    8. 8. 6/18/2014 8 12 Agile Principles 1. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. 2. Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage. 3. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale. 4. Business people and developers must work together daily throughout the project. 5. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. 6. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation. 7. Working software is the primary measure of progress. 8. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely. 9. Continuous attention to technical excellence and good design enhances agility. 10. Simplicity--the art of maximizing the amount of work not done--is essential. 11. The best architectures, requirements, and designs emerge from self-organizing teams. 12. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly. Flowing continuous value, continuous learning, and empowering people.
    9. 9. 6/18/2014 9 Why Agile 1. Increase customer involvement which can build empathy and reduce do-overs and rework 2. Learn faster which means you can adapt to change 3. Improve quality through focus 4. Reduce risk through shorter feedback loops and customer interaction 5. Simplify by getting rid of overhead and waste 6. Reduce cycle time through timeboxing and parallel development 7. Improve operational awareness through transparency 8. Drive process improvement through continuous improvement 9. Empower people through less mechanics and more interaction, continuous learning, and adaptation 10. Flow more value through more frequent releases and less “big bang”
    10. 10. 6/18/2014 10 Extreme Programming (XP)
    11. 11. 6/18/2014 11 1. Coding Standards 2. Collective Ownership 3. Continuous Integration 4. On-Site Customer 5. Pair Programming 6. Planning Game 7. Refactoring 8. Short Releases 9. Simple Design 10.Sustainable Pace (40 Hour Week) 11.System Metaphor 12.Test-Driven Development 12 Practices of Extreme Programming (XP)
    12. 12. 6/18/2014 12 Extreme Programming (XP) at a Glance Exploration Architectural Spikes Spikes Continuous Integration Acceptance Tests Small Releases System Metaphor Stories Iteration Planning Iteration Pair Programming Development Testing Collective Codebase Tests Estimates Stories Stories Stories Stories Stories Customer Approval Release
    13. 13. 6/18/2014 13 Scrum
    14. 14. 6/18/2014 14 Scrum Practices Roles • Product Owner • Development Team • Scrum Master Artifacts • Product Backlog • Sprint Backlog • Increment • Burn down Chart • Product Planning • Sprint • Sprint Planning Meeting • Daily Scrum • Sprint Review • Sprint Retrospective Activities
    15. 15. 6/18/2014 15 Scrum at a Glance Product Backlog Sprint Backlog Retrospective Potentially Shippable Product Increment Sprint 1-4 Weeks 24 Hours Sprint Planning Daily Scrum Sprint Review
    16. 16. 6/18/2014 16 Kanban
    17. 17. 6/18/2014 17 Kanban Practices 1. Visualize the Workflow 2. Limit WIP (Work in Progress) 3. Measure the Lead Time
    18. 18. 6/18/2014 18 Kanban at a Glance
    19. 19. 6/18/2014 19 Start Simple You Can Easily Adapt the Flow of the Process to Better Reflect What You Do and Gain More Visibility
    20. 20. 6/18/2014 20 Favorite Ideas from Agile
    21. 21. 6/18/2014 21 1. Personalized process that's adaptable 2. Customer focus / customer connection 3. People centric over doc centric 4. Embracing change versus fighting it 5. Pairing up on problems 6. Reducing the risk of failure 7. Shorter feedback loops 8. Continuous build 9. Continuous value 10. From “Push” to “Pull” The Short-List These are a few of my favorite things …
    22. 22. 6/18/2014 22 Where to Go for More Agile Manifesto - ts/Scrum%20Guides/Scrum_Guide.pdf The Scrum Guide (PDF) - vs-Scrum.pdf Kanban Vs. Scrum (PDF) - Scrumban: Essays on Kanban Systems for Lean Software Development, by Corey Ladas
    23. 23. 6/18/2014 23 Q & A
    24. 24. 6/18/2014 24 “Done Done”