Agile Development – Why It Works and How to Convince My Boss · 2008-03-24 · Agile Development...

29
Agile Development Agile Development Why It Why It Works and How to Convince My Works and How to Convince My Boss Boss Stevie Borne & Saviz Artang

Transcript of Agile Development – Why It Works and How to Convince My Boss · 2008-03-24 · Agile Development...

Agile Development Agile Development –– Why It Why It Works and How to Convince My Works and How to Convince My BossBoss

Stevie Borne & Saviz Artang

Agile Overview

Why agile may help my project

How do I convince my team?

How do I convince my boss?

http://fightingthevoid.blogspot.com/2007/11/yeah-hiumdid-ya-get-memo.html

A Few Words about AgileA Few Words about AgileAgile is a set of methodologies for improved software

development.

No “right” way to do agile, but there are certain core practices that make an agile team successful.

“Principles are the underlying truths that don’t change over time or space, while practices are the application of principles to a particular situation.”

Mary and Tom PoppendieckImplementing Lean Software Development: From Concept to Cash (2006)

Agile ManifestoAgile ManifestoWe 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.

http://www.agilemanifesto.org/

Some Agile MethodologiesSome Agile Methodologies

Extreme ProgrammingScrumCrystalLean

Agile is notAgile is not……an excuse for “cowboy coding”

possible for large projects (scalable)

nor is itnor is it……all about pair programming

www.polarbearandco.com/mainedem/contact.html

and itand it’’s not s not ……impossible with distributed teams

Definitions and TermsDefinitions and TermsDaily Stand-up

Continuous Integration (CI)

Test Driven Development (TDD)

Refactoring

Definitions and TermsDefinitions and TermsBurn Down Chart

Definitions and TermsDefinitions and TermsIteration/Sprint PlanningStory Board, Stories and Tasks

Definitions and TermsDefinitions and TermsRetrospective◦ Provides continual feedback for the team

to improve their agility

Why agile may help my teamWhy agile may help my team• Iterative development =

continual feedback

• Continuous integration provides immediate feedback

• Daily stand-ups remove roadblocks

• Pair programming has it’s place

More ways agile helps teamsMore ways agile helps teamsCollaboration is key

Visibility and transparency breed healthy teams

Acceptance tests define “done”

These might slow the agile These might slow the agile momentummomentum

No coach

Distributed teams

www.fitness.com

more impedimentsmore impediments……

A team forces to do agile

More concerned about “getting it done” than writing good code – no automated tests

How do I convince my team?How do I convince my team?Too much change is painful

Choose your battles carefully

Celebrate small successes

“Be the change you want to see in your shop.” Jared Richardson

The top 5The top 5

Daily Stand-up

Automated Tests

Continuous Integration

Retrospectives

Small, testable chunks

How do I convince my boss?How do I convince my boss?Silent until successful

Bold and honesthttp://www.lifesize-cutouts.co.uk/bond_cutouts.htm

Speak his/her language

How to introduce it in an organization

An expert is the person not from your company

Outside training/Coaching

Outside practitioners from other companies

How to introduce it in an organization

Brown bags/Forums/User Groups

How to introduce it in an organization

Google Video/Podcasts

How to introduce it in an organization

Don’t use agile terms if there is an allergic reaction

http://www.hive-mind.com/bee/blog/2007/07/allergies-and-honey.html

Questions?Questions?

ResourcesResourceswww.agilealliance.orgwww.scrumalliance.org

Beck, Kent. Extreme Programming Explained Embrace Change. Addison-Wesley: 2000.

Poppendieck, Mary and Tom. Implementing Lean Software Development From Concept to Cash. Addison-Wesley: 2006.

Hunt, Andy and Venkat Subramaniam. Practices of an Agile Developer. Pragmatic Programmers: 2006.

Beck, Kent and Martin Fowler. Planning Extreme Programming. Addison-Wesley: 2001.

Questions/Comments: [email protected]