Intro to Agile Practices and Values

Preview:

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

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 5226asime@o19s.com

www.o19s.com/blogwww.twitter.com/ArinSime

www.linkedin.com/in/arinsime