27
Agile Practices & Values July 2010 Arin Sime

Intro to Agile Practices and Values

Embed Size (px)

DESCRIPTION

General introduction to agile practices like Scrum and Kanban. Also covers what situations Agile is best at, what situations Agile doesn't help with, and what an Agile team should look like. This deck is a general intro to Agile for OpenSource Connections clients.

Citation preview

Page 1: Intro to Agile Practices and Values

Agile Practices & Values

July 2010Arin Sime

Page 2: Intro to Agile Practices and Values

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:

Page 3: Intro to Agile Practices and Values

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.”

Page 4: Intro to Agile Practices and Values

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)

Page 5: Intro to Agile Practices and Values

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

Page 6: Intro to Agile Practices and Values

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

Page 7: Intro to Agile Practices and Values

The Scrum Burndown

Page 8: Intro to Agile Practices and Values

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

Page 9: Intro to Agile Practices and Values

Scrum Planning Poker

• Product owner picks items from backlog

• Team breaks each item into tasks

• Team estimation• Round robin

assignment• Check against velocity

Page 10: Intro to Agile Practices and Values

Agile Retrospectives

• At the end of every Iteration, after the demo

• Reflect on success/failures

• Non-judgemental• Focus is continuous

improvement

Page 11: Intro to Agile Practices and Values

Kanban Board

www.infoq.com/articles/agile-kanban-boards

Page 12: Intro to Agile Practices and Values

Niko-niko calendar (smileys)

www.infoq.com/articles/agile-kanban-boards

Page 13: Intro to Agile Practices and Values

Requirements == User Stories?

www.infoq.com/articles/agile-kanban-boardshttp://thesherpaproject.com/2009/04/09/user-stories-for-user-experience/

Well, sort of…

Page 14: Intro to Agile Practices and Values

Other eXtreme Programming Practices

Pair Programming Test Driven Development (TDD) & Continuous Integration (CI)

Page 15: Intro to Agile Practices and Values

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

Page 16: Intro to Agile Practices and Values

Pop Quiz – Identify Agile Practices

Stand up

Remote team

Iteration Goals

User Stories

Product Owner

Shared workspace

CI ServerBurndown

Page 17: Intro to Agile Practices and Values

When is Agile best?

• For Complex or Complicated work

• New products• Projects with

uncertainty (ie, most projects)

The Stacey Diagram, from Ralph Stacey

Page 18: Intro to Agile Practices and Values

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

Page 19: Intro to Agile Practices and Values

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

Page 20: Intro to Agile Practices and Values

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

Page 21: Intro to Agile Practices and Values

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

Page 22: Intro to Agile Practices and Values

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

Page 23: Intro to Agile Practices and Values

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

Page 24: Intro to Agile Practices and Values

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

Page 25: Intro to Agile Practices and Values

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

Page 26: Intro to Agile Practices and Values

Other Recommended Books

Page 27: Intro to Agile Practices and Values

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