Intro to Agile Practices and Values
-
Upload
opensource-connections -
Category
Technology
-
view
2.936 -
download
2
description
Transcript of Intro to Agile Practices and Values
Agile Practices & Values
July 2010Arin Sime
Agile attempts to prevent …
Where is my product?
Late?!?
What in the world are you working on?
That’s not how I thought it was going to work!
Your customer saying:
That’s not in the specs….
Umm… we’re gonna be
late….
It works on my machine….
I would have been done,
but...
Your dev team saying:
The traditional way is …
“Plan Driven methods are generally considered the traditional way to develop software. Based on concepts drawn from the mainline engineering fields, these methods approach development in a requirements/design/build paradigm with standard, well- defined processes that organizations improve continuously.”
This often leads to…
• Stale requirements• Vaporware that is spec’d but never built• Management driven estimates that are confused
with target release dates• Command & Control approach• Disgruntled developers who have no voice• Very late projects• Poor communication between stakeholders
(throw the specs over the wall)
Core Practices of Agile
Manifesto for Agile Software DevelopmentWe 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.
AgileManifesto.org
It’s all about the Iteration
• aka “Sprint”• Fail Fast• Show results fast• Demo often• Release often for
lower risk• Avoid the Big Bang
– aka, the Big Flop
From “Scrum in 5 Minutes”, by Softhouse. Available at: www.softhouse.se/Uploades/Scrum_eng_webb.pdf
The Scrum Burndown
The Art of the Daily Standup
• 15 minutes tops• 3 questions:
– What did I do yesterday?
– What am I doing today?
– Obstacles?• Product owner is silent• Run by developers, for
developers
Scrum Planning Poker
• Product owner picks items from backlog
• Team breaks each item into tasks
• Team estimation• Round robin
assignment• Check against velocity
Agile Retrospectives
• At the end of every Iteration, after the demo
• Reflect on success/failures
• Non-judgemental• Focus is continuous
improvement
Kanban Board
www.infoq.com/articles/agile-kanban-boards
Niko-niko calendar (smileys)
www.infoq.com/articles/agile-kanban-boards
Requirements == User Stories?
www.infoq.com/articles/agile-kanban-boardshttp://thesherpaproject.com/2009/04/09/user-stories-for-user-experience/
Well, sort of…
Other eXtreme Programming Practices
Pair Programming Test Driven Development (TDD) & Continuous Integration (CI)
Is the ROI of Agile for real?
According to this study of projects:
• Scrum is 6 times more cost effective than traditional
• Pair Programming is 15 times more effective
Pop Quiz – Identify Agile Practices
Stand up
Remote team
Iteration Goals
User Stories
Product Owner
Shared workspace
CI ServerBurndown
When is Agile best?
• For Complex or Complicated work
• New products• Projects with
uncertainty (ie, most projects)
The Stacey Diagram, from Ralph Stacey
An Agile Team is …
• 5-8 people• Multi-disciplinary• Collaborative• Self organizing• Willing to time-box• Eager to help each other• Focused on the team
Agile can’t fix everything …
• Personality Dysfunction• Teams that stay in silos• Cowboy coders• Developers who secretly
like the grind they are in and really want to fall on their swords.
• Teams that are afraid of change
But when done right, Agile does
expose and discourage these
problems
The most common Agile mistakes
“Sure, we’re Agile. We do stand ups.”
“Oh, I already think we’re Agile enough.” [When in fact they are just in complete chaos & anarchy.]
#1
#2
12 ideas for selling Agile …1. Trial by Sprint 2. Case Studies of Success 3. Client/Customer Testimonials 4. Finding a champion in Key Stakeholders 5. Using metrics of success 6. Showing how Agile combats common IT project failures 7. Examples of industry/government leaders using Agile 8. Comparison to other methodologies 9. Listen to their needs and address them 10. Sneak it in 11. Compromise 12. Agile Project Management Office
We’ll just focus on a few in
coming slides
Finding a champion
“I highlighted the benefits to the Project Manager: higher productivity and less team- management stuff since the team will take care of lots of team-management and updating (burn charts) instead of PM's managing those details.”
comment from a business analyst
#1
Agile combats common IT failures
Top 10 Classic Mistakes
1.Poor estimation and scheduling2.Ineffective stakeholder management3.Insufficient risk management4.Insufficient planning5.Shortchanged quality assurance6.Weak personnel and/or team issues7.Insufficient project sponsorship8.Poor requirements determination9.Inattention to politics10.Lack of user involvement
Source: Prof. R. Ryan Nelson, University of Virginia. As published in MIS Quarterly Executive, “IT Project Management: Infamous Failures, Classic Mistakes, and Best Practices”, June 2007
#2
Sneak it in• Implement it piece by piece,
without saying what you are doing.
• One idea: Start with iterations and demos, daily stand ups. PM’s love the communication.
• Then move to developer driven practices like sprint planning, XP, CI.
• Can be used to overcome fear of the word Agile
#3
Agile Project Management Office
• Provide an interface to your clients that translates your Agile metrics into regular reports for the client
• Takes compliance burden off your development team
• Serves as “Educator and Coach” to client
#4
Other Recommended Books
Let’s stay in touch!
Arin SimeSenior Consultant
Agile Lead, Solr searchDev and Process Consulting
434 996 [email protected]
www.o19s.com/blogwww.twitter.com/ArinSime
www.linkedin.com/in/arinsime