Being agile about agile

Preview:

DESCRIPTION

A real world overview of Agile methodologies

Citation preview

Project Andiamo

Being Agile With AgileFor Lovely People at Bethnal Green Ventures

Project Andiamo

We’ll Cover

• Quick history

• What is Agile in the real world

• Two methodologies called Scrum and Kanban

Project Andiamo

Disclaimer

This is what I’ve learnt not textbook says I swear a lot

Project Andiamo

A Brief Historyhttp://www.senseoncents.com/wp-content/uploads/2012/07/Declaration-of-Independence1.jpg

On February 11-13, 2001, mountains of Utah, seventeen people met to talk, ski,. What emerged was the Agile Software Development Manifesto. Representatives from Extreme Programming, !Now, a bigger gathering of organizational anarchists. !The only concern with the term agile came from Martin Fowler most Americans didn’t know how to pronounce the word agile.

Project Andiamoagilemanifesto.org

Project Andiamo

12 Principles of Agile• Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.

• Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.

• Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.

• Business people and developers must work together daily throughout the project.

• Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.

• The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.

• Working software is the primary measure of progress.

• Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.

• Continuous attention to technical excellence and good design enhances agility.

• Simplicity--the art of maximizing the amount of work not done--is essential.

• The best architectures, requirements, and designs emerge from self-organizing teams.

• At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.

Project Andiamo

Adaptive Vs Predictive

Project Andiamo

Shit happens so stop pretending

Project Andiamo

That doesn’t mean you don’t plan

Project Andiamo

You plan around being wrong

Project Andiamo

If you’re building something new you’re free climbing

We had to persuade the business that they didn’t know where they were going they just broadly knew the destination

Project Andiamo

Types of Agile• Adaptive Software Development (ASD)

• Agile Unified Process (AUP)

• Crystal Methods (Crystal Clear)

• Dynamic Systems Development Method (DSDM)

• Extreme Programming (XP)

• Feature Driven Development (FDD)

• Kanban

• Lean software development

• Scrum

• Scrum-ban

Project Andiamo

Scrum

"a flexible, holistic product development strategy where a development team works as a unit to reach a common goal"

as opposed to a "traditional, sequential approach".

Project Andiamo

Scrum

http://glenndejaeger.files.wordpress.com/2011/01/scrum_large.png

Project Andiamo

http://cd.executivebrief.com/img/a468-f1-scrum-team.gif

Project Andiamo

http://www.kennethvr.be/blog/wp-content/uploads/scrumRoles2.jpg

Project Andiamo

http://mazzive.com/blog/wp-content/uploads/2009/02/scrum_process_feedback1-1023x308.png

Retrospective

Project Andiamo

http://soenkerohde.com/img/My_Demo_Project_-_Pivotal_Tracker-20090426-165717.png

Story Points

Project Andiamo

When is it good?• Your team works together in the same place at the

same time

• Multiple development teams

• Defined roles

• You need discipline

• Corporates/Customers: It feels more processey

Project Andiamo

Kanban

http://availagility.files.wordpress.com/2008/10/kenji-kanban-2.jpg

Toyota Just in time manufacturing

Project Andiamo

http://www.toyota.eu/SiteCollectionImages/Society/The%20Toyota%20Way_500.jpg

Kaizen - Improvement or Change for the best Genchi Genbutsu - go and see

Project Andiamo

http://a3.southwestsolutions.com/images/gallery/two-bin-medical-supply-kanban-nursing-unit-stock-replenish-system-sku-increase-inventory-management-plastic-wire/2-bin-kanban-medical-system-supplies-restrock-stockcard-nursing-units-replenish-room-

concept.jpg

Kaizen - Improvement or Change for the best Genchi Genbutsu - go and see

Project Andiamo

http://conroyquick.files.wordpress.com/2011/09/toilet-kanban.jpg

Kaizen - Improvement or Change for the best Genchi Genbutsu - go and see

Project Andiamo

http://www.naomiblogs.com/wp-content/uploads/2010/08/P1000274.jpg

Project Andiamo

Principles 1. Visualise 2. Cards 3. WIP limit

Project Andiamo

Difference between done and successful

Project Andiamo

http://alphagov.files.wordpress.com/2012/10/img_4810.jpg%3Fw%3D553%26h%3D415

Principles 1. Visualise 2. Cards 3. WIP limit

Project Andiamo

Push Vs Pull

We agreed to be available together 1 entire day each week Blockage meetings

Project Andiamo

SCRUM

http://glenndejaeger.files.wordpress.com/2011/01/scrum_large.png

Project Andiamo

Kanban

http://glenndejaeger.files.wordpress.com/2011/01/scrum_large.png

Project Andiamo

When is it good?

• Your team is in different places and works at different times

• Experienced and confident team

• No politics

You can lay Kanban over the top of SCRUM Kanban itself is not a software development process

Project Andiamo

http://www.jsmorin.com/2013/11/4-ways-to-measure-in-fantasy/

Story points Velocity Burndown People Hours

Project Andiamo

Principles I’ve Learnt• Users first

• Use cases are mandatory

• We aim to fail fast

• We will make mistakes, we accept this and mitigate losses up front

• Everything we build is

• Quickly iterative

• Disposable

• Doesn't constrain future growth

• Agnostic

• We always test (e.g. TDD, BDD) but real world tests are more important

• The value in the future is context. How we get insights, make better decisions, and tell stories with that data

Project Andiamo

One Question

Project Andiamo

What is the fastest, cheapest, and best way to screw this up?

All these things are just tools they won’t stop you screwing stuff up

Project Andiamo

Now iterate