Lean Thinking

Don't Panic I.T. Solutions - Items filtered by date: July 2016
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.

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.