Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
6/18/2014 1
Introduction to Agile
J.D. Meier
6/18/2014 2
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):
http://blogs.msdn.com/jmeier
 Sources of Insight (Effectiveness Blog) -
http://SourcesOfInsight.com
3
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
6/18/2014 5
Agile vs. Waterfall
Waterfall Agile
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.
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
http://www.agilemanifesto.org
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.
http://www.agilemanifesto.org
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”
6/18/2014 10
Extreme Programming (XP)
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)
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
6/18/2014 13
Scrum
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
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
6/18/2014 16
Kanban
6/18/2014 17
Kanban Practices
1. Visualize the Workflow
2. Limit WIP (Work in Progress)
3. Measure the Lead Time
6/18/2014 18
Kanban at a Glance
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
6/18/2014 20
Favorite Ideas from Agile
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 …
6/18/2014 22
Where to Go for More
Agile Manifesto - http://www.agilemanifesto.org
https://www.scrum.org/Portals/0/Documen
ts/Scrum%20Guides/Scrum_Guide.pdf
The Scrum Guide (PDF) -
http://www.crisp.se/file-uploads/Kanban-
vs-Scrum.pdf
Kanban Vs. Scrum (PDF) -
Scrumban: Essays on Kanban Systems for Lean Software Development, by Corey Ladas
6/18/2014 23
Q & A
6/18/2014 24
“Done Done”

More Related Content

Introduction to Agile, by J.D. Meier

  • 1. 6/18/2014 1 Introduction to Agile J.D. Meier
  • 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): http://blogs.msdn.com/jmeier  Sources of Insight (Effectiveness Blog) - http://SourcesOfInsight.com 3
  • 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. 6/18/2014 5 Agile vs. Waterfall Waterfall Agile
  • 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. 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 http://www.agilemanifesto.org
  • 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. http://www.agilemanifesto.org
  • 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”
  • 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. 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
  • 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. 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
  • 17. 6/18/2014 17 Kanban Practices 1. Visualize the Workflow 2. Limit WIP (Work in Progress) 3. Measure the Lead Time
  • 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
  • 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. 6/18/2014 22 Where to Go for More Agile Manifesto - http://www.agilemanifesto.org https://www.scrum.org/Portals/0/Documen ts/Scrum%20Guides/Scrum_Guide.pdf The Scrum Guide (PDF) - http://www.crisp.se/file-uploads/Kanban- vs-Scrum.pdf Kanban Vs. Scrum (PDF) - Scrumban: Essays on Kanban Systems for Lean Software Development, by Corey Ladas

Editor's Notes

  1. Increase customer involvement Learn faster Improve quality Reduce risk Simplify Reduce cycle time Improve operational awareness Drive process improvement Empower people Flow more value