Lean Thinking

Written by Published in Agile

Last post we looked at the first three of my agile principles -

  • They are built around small, self-organising teams
  • The team has a clear vision of what they are doing and where they fit into the bigger picture
  • The team delivers a regular flow of value via a well-defined backlog of work

This gives us an effective delivery engine (the team) with a clear destination in mind (the vision) and a clear route to get there (the backlog). All good? Not quite. If nothing was ever going to change, this would be all we need, but we know this isn't the case. When doing development work, and no matter what it is we are developing, we generally aren't travelling on well marked highways. Most development is, at best, navigating though a confusing maze of back streets and at worst, blazing our own trail through virgin country of varying degrees of ruggedness.

In any sort of development work, change is inevitable and we need to equip our team to deal with it. That's where the next principle comes in -

  • There is a content authority responsible for making sure decisions are made quickly
Written by Published in Agile

Last post I put forward 7 principles that I think every agile methodology should have. In this post, I'll be explaining (hopefully) what each of those principles means and why I think it is important. To recap, the six principles for a succesful methodology are -

  • They are built around small, self-organising teams
  • The team has a clear vision of what they are doing and where they fit into the bigger picture
  • The team delivers a regular flow of value via a well defined backlog of work
  • There is a content authority responsible for making sure decisions are made quickly
  • There is a clear bidirectional service agreement between the team and the rest of the organisation
  • There is a fast feedback loop that allows the team and organisation to optimise both the process and the product.
  • The methodology is self-similar at scale.

So, let's start looking at these in more detail.

Written by Published in Agile

Recently I put out a post calling for the agile community to stop focusing so much on executing methodologies and return to a principles based approach. To stop doing scrum, or SAFe or Less or whatever and start being agile. That has generated a small amount of comment, mostly people asking me what I mean by a principles based approach and what I think those principles are. Here is my attempt to explain both.

To illustrate what I mean by a principles based approach, I will continue with the analogy of cooking because it's my other favourite activity and because it seemed to strike a chord with those that read my last post on this. There are, as I said before (and to massively generalise), two types of cook, those that follow recipes and those that don't. Recipe following cooks can be great cooks but if they want their chocolate cake to be a little more chocolatey, they need to look for a new recipe. They can't adjust it themselves. Cooks that don't use recipes tend to work from a set of fundamental principles - this flavour goes well with that flavour, adding extra dry ingredients means you need to add extra wet ingredients, bacon makes everything taste better, and so on. So when they want a more chocolatey chocolate cake, they can adjust (add more cocoa and some extra milk to balance). When the cake collapses coming out of the oven, they can diagnose why and adjust so it works next time. When they have a recipe for chocolate cake but don't have any chocolate they can improvise a vanilla cake from the same recipe.

Written by Published in Agile

Often in large organisations we have to deal with groups with names like "legal" or "compliance" or to use an example from my days in the healthcare software industry "patient safety". To a project manager, the function of these groups seems to be to throw up obstacles and prevent getting things done. These groups tend to appear out of the woodwork near the end of a project, inspect everything that has been produced, identify a bunch of problems and then block release until they are all fixed. The problem of course is that at the end of a project, everything has already been built so changing things is hard and expensive. There is also a very good chance that the money is starting to run out so these changes would push the project well over budget. Throw in a rapidly approaching release date and a team already stressed with defects and last minute changes, and it's no wonder project managers view these groups with dread.

Of course, these teams are not just a bureaucratic hurdle to be jumped. They do an important job. The organisation could be in serious trouble if they release anything that is illegal or is not in line with whatever regulations they are under. Groups like legal and compliance have the skills and knowledge to make sure that doesn't happen. In the healthcare company I worked for, patient safety was responsible for exactly that - the safety of the patients whose treatment was administered through the software we wrote. They were trained medical professionals, with years of hospital experience, who assessed what we produced and made sure that in the stressful, overworked environment of a typical hospital, that the software could be used without the risk of accidentally administering the wrong drug or the wrong dose or operating on the wrong leg (or even wrong patient) or anything like that. That's a pretty important thing to do. We knew how valuable it was. We still hated dealing with them though. Product managers would jump through hoops to get their product classified "non-theraputic" so they could avoid a safety review. The downside of course is that there was no safety review. If only there was a way that we could get the value that these groups provide without all the downsides.

Calendar

« November 2017 »
Mon Tue Wed Thu Fri Sat Sun
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30