Sunday, November 25, 2007

XPDAY7: Why do Agile projects fail?

At XPDay 7, Joseph Pelrine and Jiri Lundak asked why do Agile projects fail?


A project is an iceberg
Originally uploaded by sjb140470
With the wind blowing in one direction, an iceberg moves in the opposite direction. Why is that? The wind only affects the tip of the iceberg visible above the water. The iceberg's direction is influenced by what you can't easily see. The majority of the iceberg lies beneath the water and is affected by the currents moving in a different direction to the wind. Your project is the iceberg. Your visible controls - time, cost, quality, scope and resources - only affect the tip of the iceberg. There's a lot more going on beneath the surface where the project is massively influenced by emotion, culture, learning through reflection, improving through adaptation, and sharing knowledge and building a sense of team through collaboration.

They described 4 failure modes:
  1. Inspect and adapt gone wrong. People don't apply before inspecting and adapting. The cycle should be apply - inspect - adapt. When you learn to drive you learn lots of different techniques - how to turn, starting on a hill, reversing around a corner, parallel parking, etc - because they all work together and are known as 'driving' and you will draw on them every time you venture out and drive your car. Omitting practices is akin to "Oh when I learned to drive, I never got that whole left turn thing, so I just drive straight ahead now".

  2. "You can't handle the truth". People are often not able to deal with the results of the process. Everything becomes visible, good and bad.

  3. Using the wrong tools to solve problems.

  4. Interpersonal team dynamics (communication and grouping). A team operates within a socially complex domain where cause and effect cannot be predicted. It's not possible to anticipate what will influence the 'system' and, because people are non-deterministic, it's not possible to know how the 'system' will react. Only with retrospective coherence, can we look back and, knowing how things evolved, have things make sense. You're unlikely to achieve success if you focus on predicting what's above the water.
Listen to Joseph talk at CINCOMSmalltalk about the process of software development and some of the issues that come up.

Tags: , ,

Links to this post 

1 Comments

XPDAY7: Have you compromised your agility?

Well, we did our XPDay session: Have you compromised your agility?

The run-up to the conference was a bit manic because we thought XPDay was a week later than it actually was. Our thanks go to Steve Freeman for spurring us into frantic action. We burnt the week rushing around buying props (coloured table cloths, battery powered candles, lollipops, etc), preparing posters and handouts, and putting together a chilled-out music playlist. We pretty much knew what we wanted to say in the session but it was delivered mostly on a wing and a prayer. Despite me getting over a cold and Gus being hungover, we thought it went reasonably well and we had lots of fun. There must have been around 60 people in the cafe, probably twice the ideal number, but it went smoothly enough. More people arrived, some turned around because we were at capacity on the tables, others stayed and formed a circle on the floor.

We wanted to do the session because we're worried about the state of affairs. We're seeing more organisations trying to be agile but, when you hold them up to the light, the standard is often poor. Agility is being compromised for corporate fit. We want organisations trying to be agile to raise their game. There needs to be both organisational change and cultural change. And we want people to expect better and do more.

We think arguments about dogmatism versus pragmatism, or one approach over another, detract from the real issues:
  • Organisations value the wrong things.
  • People do not maintain a high-level of craftsmanship.
  • Organisations adapt Agile for corporate fit rather than to improve.
  • People accept mediocrity to maintain the status quo rather than strive for excellence through continuous improvement.
  • Organisations focus on efficiency and don't worry about achieving effectiveness first.
  • People are not empowered to do the right thing.
Agility is partly about process and practices, and these are the parts that organisations typically latch onto, but its capability is rooted in the culture established by the values and principles and peoples' behaviour. These are often in conflict with the organisation.

In the session, each table was given a real issue to discuss. A mind-map for each issue provided a 'starter for ten' and was used to spark a debate. The IT industry is perennially failing 'the business' and while there's no silver bullet, agile approaches can, at least, help us make improvements and do better. Our aim was to hopefully raise awareness of declining standards and inspire people to help us raise the bar.

I've included the mind-maps and doodlings. The debates were engaging and pretty intense and consequently it's difficult to distill too much from the doodlings.

1. Misplaced values?


value-mindmap
Originally uploaded by sjb140470

value-output-1
Originally uploaded by sjb140470

value-output-2
Originally uploaded by sjb140470

value-output-3
Originally uploaded by sjb140470


2. Adapting for fit?



adaptation-mindmap
Originally uploaded by sjb140470

adaptation-output-1
Originally uploaded by sjb140470

adaptation-output-2
Originally uploaded by sjb140470


3. Accepting mediocrity?



excellence-mindmap
Originally uploaded by sjb140470

excellence-output
Originally uploaded by sjb140470


4. Doing the right thing?



conscience-mindmap
Originally uploaded by sjb140470

conscience-output-2
Originally uploaded by sjb140470

conscience-output-1
Originally uploaded by sjb140470

5. Is the process adding value?



process-mindmap
Originally uploaded by sjb140470

process-output-1
Originally uploaded by sjb140470

process-output-2
Originally uploaded by sjb140470

6. Managed or led?



leadership-output
Originally uploaded by sjb140470

Only 15 people left feedback but it was the last session on the last day and everyone wanted to get to the pub. The feedback was overwhelmingly positive. 13 people said "they loved it" and that it was "a great format with interesting topics"; 2 people said it was "a good session"; nobody said they "wouldn't recommend it to others".

Here's the poster show and here are some photos of the event:


Half the room
Originally uploaded by sjb140470

Circulating between tables
Originally uploaded by sjb140470

Tags: ,

Links to this post 

1 Comments

Saturday, November 24, 2007

XPDAY7: Embrace uncertainty

In his keynote, Jeff Patton reminded us to embrace uncertainty and asked if we've forgotten the meaning of iteration. Pascal has written about the keynote and has included some photos. Kerry Buckley also has a good write-up. Here's an extract:
We have forgotten the meaning of iteration, and are working in increments instead. We are expecting an 'iteration' to contain a number of fully-completed stories, which we can then forget about and move on to new features. The problem with this is that when we deliver those stories, the customer is not entirely satisfied, and we have to introduce new stories to refine the design.
Iterating is like progressive prototyping and validating as you move from vagueness to realisation. Incrementing is like building a wall brick by brick. But incrementing suggests you know exactly what you want. We all know that's not true. Your notion of what you want becomes clearer over time. To help deal with this uncertainty, Jeff encourages us to:
  • Follow the money back to the customer/user and prioritise business goals before stories.
  • Keep options open and avoid choosing a solution too early ("a requirement is tantamount to an irrevocable decision"). Maintain bigger stories describing what users want to achieve and defer writing smaller stories that describe software until the last responsible moment, and
  • Build (functional) quality iteration by iteration.
As Johnny Rotten said, "I don't know what I want, but I know how to get it" - iterate!

Tags: , , , ,

Links to this post 

0 Comments

Keep your options open

Lately, I'm talking a lot about maintaining options and deferring commitment by making small, reversible decisions quickly to build momentum and delaying irreversible decisions until the last responsible moment.

Chris Matts gives us some good advice:
  • Options have value.
  • Options expire.
  • Never commit early unless you know why.
(Listen to Chris talk about real options and agile software delivery).

Recently, we've also started taking a set-based approach to find solutions to a few tricky problems. So far this has worked really well.

Tags: , , ,

Links to this post 

0 Comments

Wednesday, November 21, 2007

There's a hole in your side of the boat

There's a hole in your side of the boat - Jeff Patton




This is the best quote I've heard in a long time. Basically, it doesn't matter who's fault it is, we're in this together.

Tags: ,

Links to this post 

0 Comments

A local remote person

How to get a local presence for a remote person: Mutually immersive mobile telepresence.

A solution for distributed people working together? Don't make me laugh! Well... actually... it does make me laugh ... a lot.

Tags: ,

Links to this post 

1 Comments

Saturday, November 03, 2007

Create a Lean Organisation

Get started

Find a change agent who wants to get the knowledge to apply lean thinking and lead the transformation. Map the entire value stream for each product and find a lever for change by seizing an existing crisis (or creating one) to help everyone take steps to adopt lean thinking and create a lean organisation. Forget grand strategy for the moment, create a sense of urgency and begin asap with an important and visible activity that's performing poorly. Just get started, demand immediate results to build momentum for change quickly, and when you've got momentum, expand the scope to link and improve other activities in the value stream.

Create an organisation that channels product streams

Reorganise by product streams containing dedicated people and functions so that value flows smoothly to the customer. When batch-and-queue activities are converted to lean techniques less people produce more product so deal with excess people at the outset. Devise a growth strategy to put those people who have been freed up to use elsewhere and remove the anchor-draggers - those who won't give new ideas a chance. When you've fixed something, fix it again. Instill the principle of continuous improvement in everyone and create a permanent lean promotion team to take the lead in planning successive improvements across the organisation. 2 steps forward and 1 step back is ok. No steps forward is not ok.

Install business systems to encourage lean thinking

To make the lean approach self-sustaining utilise policy deployment to facilitate organisation-wide agreement on the lean tasks to be completed each year and create a lean accounting system, which causes product streams to always do the right thing by indicating whether efforts are adding more cost than value or vice-versa. Make everything transparent so that the rate of improvement can be measured and everyone can see what is happening all of the time, teach lean thinking and skills to everyone so that everyone is thinking about the total flow of value, and pay people in relation to the performance of the organisation. Batch-and-queue thinking sees large, fast, elaborate, dedicated, and centralised tools being most efficient. Right-size the tools - processes, information management systems, organisational units, etc - to ensure product flows smoothly to the customer without delay and to enable the product stream to respond quickly to serve new business needs.

Complete the transformation

Convert from top-down leadership to bottom-up initiatives to generate automatic and prevalent lean thinking. Develop a lean global strategy and convince suppliers and customers to take the above steps to enable the creation of value to occur closer to the customer.

Tags:

Links to this post 

0 Comments