Bad-Research-Plagues-IT

Our business is change. We like to think we help people to change for the better and improve by introducing tools and techniques we think are good practice. To do this, we rely on our own research but we also encourage our customers to do their own research, too, and for the most part what they find backs up our suggestions for improvement. Imagine my surprise, then, when a customer recently sent me a link to some ‘research’ from a company billing itself as a ‘Research Lab.’ To give it even more credence, the company trumpeted its very own ‘Chief Scientist’ complete with PhD.

The ‘research’ was pretty standard stuff, they’d done some static analysis on a bunch of systems from large companies and had found out pretty much what many of us already know – most computer systems aren’t written very well and there is an awful lot of technical debt around. There are many reasons for this, which, again, many of us are aware of, so I won’t bore you by evangalising our favoured solutions here and the main reason for publication of the ‘research’ anyway, was marketing of the company’s products and services in this area.

However, there was one phrase in the findings that had caught the customer’s  eye, “Scores for robustness, security, and changeability declined as the number of releases grew, with the trend most pronounced for security.” In other words, the more releases you do, the more likely you are to have issues with security, robustness and changeability.

The reason this caught his eye is that we had been helping this customer with a transition to a model of Agile Software Development, of which some of the key principles are: “Early and frequent release of valuable software” and “Deliver working software frequently.” We had told him that releasing as often as possible would lead to more satisfied customers and better quality software. Now he wanted to know how we could reconcile this with ‘research’ done by a ‘Chief Scientist’ from a ‘Research Lab’ that said the more releases a product has, the more likely it is to have security, robustness and changeability issues.

He had a very good point, moving to a continuous integration and delivery model is one of the first steps we recommend to all our customers but we also like to think we are scientists and that our methods are based on solid foundations. Should we continue with a continuous integration and delivery strategy when the ‘research’ tells us otherwise?

I’d like to report that we spent a lot of time an effort on this ourselves but it really only took us a few minutes to figure out what the real problem here was. Anyone who’s undertaken any field of scientific study will know the first thing, and probably hardest, thing to learn is critical analysis. In other words, how to understand what the data is telling us. The first lesson in critical analysis is understanding that just because there is a relationship between two things doesn’t necessarily mean the relationship is causal and even when it is a causal relationship, it is very important to identify which item is the cause and which item is the effect.

For example, every so often in the medical sector some bright young scientist will release research purporting to demonstrate that skinny people are more likely to die young than fat people are. Often this research is pounced upon by the more sensationalist newspapers and published under banner headlines exhorting us to abandon our diets.

The research in question is usually based on the measurement of weight and age at death for non-accidental mortalities and the researcher invariably finds the average weight of the fatalities to be less than the average weight of the population, concluding, therefore, that the less you weigh, the more likely you are to die.

What the researcher fails to account for:

  • People die young mostly because of illness.
  • Many of the illnesses that cause you to die young are wasting illnesses that cause massive and rapid weight loss before death.
  • Many people spend a long time in hospital before they die and are subject to dietary controls.

The truth is – it’s not being slim that makes you die, it’s dying that makes you slim.

Most medical professionals are aware of this phenomenon and simply ignore it as do all responsible medical journals. At the same time, many practitioners ready themselves for the barrage of questions shortly to be directed their way from concerned patients that have read the ‘research.’ After all, if it’s published ‘research’ it must be true, mustn’t it?

Let’s go back to the ‘research’ that told us frequent releases lead to security, robustness and changeability issues and see what the researchers might have missed…

  • Anyone who’s worked in a regulated industry would agree that security and robustness issues are mission-critical and need to be fixed and released ASAP. You don’t wait for the next scheduled release to deploy the fixes for them, you do a patch release. In other words, security and robustness issues force you to have more releases. Ergo, a system with security or robustness issues is very likely to have more releases.
  • Code that is difficult to change suffers from a similar problem in that software is difficult to change when it is difficult to understand.  If we understood it, it would be easy to change. When it’s difficult to understand, it’s also difficult to know when it’s been fixed. You may think you’ve fixed it and do a release but you haven’t. You may have to do several releases before it’s finally put to bed.Therefore, code that is difficult to change is likely to have more releases.
  • Code that has no issues doesn’t have patch releases.

The truth here is – it’s not frequent releases that cause code issues, it’s code issues that cause frequent releases.

Even funnier to some people but actually quite tragic for our industry – a piece of research lamenting the poor analysis and design skills of software developers blighted by poor analysis skills itself. Most experienced professionals and journals will recognise this ‘research’ for what it is but, again,  the practitioners need to ready themselves for the barrage of questions from concerned customers. After all, if it’s published ‘research’ it must be true, mustn’t it?

Posted in Agile, People, Principles, Software Development, Software development metrics, technical debt | 1 Comment

David Putman @ Agile Business Conference

We’re happy to see that photos are now available of David Putman presenting at the Agile Business Conference in London last month. In true Agile style, David pair-presented with Shaun Smith on the subject of dealing with difficult individuals during Agile Transitions. The talk entitled “Get the Wrong People Off the Bus” was both well attended and well received with several participants electing to stay behind afterwards for further discussions with the presenters.

Posted in Organisational Development, People | Leave a comment

Microsoft Eats Its Own Agile ‘Dog Food’

Nice to see Microsoft using Agile and using their own tools too.

Microsoft Eats Its Own Agile ‘Dog Food’

In association with RADTAC, we regularly run an Agile Software Development and TDD course using Microsoft technologies such as Visual Studio and TFS. The course has been ratified by the ScrumAlliance and successful completion of the course can be credited towards the Certified Scrum Developer certification.

Posted in Microsoft, RADTAC, Software, Software Development | Leave a comment

David Putman shortlisted for Best Coach/Mentor award 2011

David Putman shortlisted for the best Agile Coach/Mentor award 2011

We are pleased to announce that David Putman has been shortlisted for the ‘Best Agile Coach or Mentor’ award 2011. The results of the award will be announced on October 5th  at the annual Agile Awards dinner www.agileawards.co.uk/Dinner

Posted in Uncategorized | Leave a comment

That’s not quite what I meant – part two

Currently, I’m staying in Bangalore and, as many of you may know, I like to keep myself presentable, so everyday I clean my shoes using the little tin of polish provided free by the hotel.

Yesterday however, the housekeeping staff apparently didn’t notice I’d used it and so didn’t replace it, as they usually do when they make up the room. Now I could have gone, or called, down to the front desk to have them send me some up but it isn’t really a big deal and it won’t hurt my shoes to have them miss a day’s polishing, so I just left a note on the bed this morning saying “Shoe polish please.”

Imagine my surpise when I returned from work today to find there was still no sign of any shoe polish in the room but there was a very highly polished pair of trainers sitting where my grungy old gymn shoes had been this morning!

Written requirements, eh?

How can they not work? Â

Posted in Communication, Requirements | 1 Comment

does blogging from my droid update all my networking sites

When you have a new toy, you just gotta play with it: )

Posted in Social media | Leave a comment

Publishing to Social Media with LinksAlpha

Thought I’d spend this Sunday morning trying to integrate all my social media (twitter, linkedin, facebook) accounts with the planworking blog.
If you’re reading this anywhere but the planworking site then I’ve been at least partially sucessful.
My first attempt used Simple Twitter Connect but it didn’t seem to publish automatically, even though it said it had.
Now I’m trying LinksAlpha, which promises to publish to all my social media accounts simultaneously.

The good news is that LinkAlpha seems to work well and was quite easy to set up

Posted in Social media, Software | Leave a comment

A new metric for software development

I a recent sprint planning meeting, the team had decided they do their estimation in Quarter Ideal Man-days.
One of the team suggested the term QuIM be used as an abbreviation.
I think he was joking…
In any case it was a long while before we stopped laughing :)

Posted in Software, Software Development, Software development metrics | Comments Off

XP – the ‘Pontypridd’ of Agile methods

Where I come from they say that Pontypridd is just about the strangest town in the universe. Apparently, there are houses there with a very strange geometry, so strange that some of them may even be only possile in a multi-dimensional parallel quantum universe.
The proof for this is simple. Whenever you meet someone from Pontypridd, mention Tom Jones, the famous singer. You will immediately get a response along the lines of, “I (or my mum/dad grandmother/grandfather) used to live next door to him (or his mum/dad, etc, etc)”
This has led many of us to believe that PontyPridd consists of a couple of many-sided houses belonging to the Jones clan in the middle of the town with all the other domiciles arranged in a circle around them. Obviously, the number of houses next to these necessary to support the many claims of next-dooredness cannot be satified in the three dimensions of normal space, so we may have to imagine the town exists only partly in normal space and partly in that multi-dimensional parallel quantum universe we mentioned earlier. All I can say to the Ordnance Survey team and the town planners is, “Good luck with that one!”
This brings me onto XP and I am talking about eXtreme Programming, not the Windows operating system. The reason I mention it is because, as a member of many online agile discussion groups, I often meet (in an online sense) people that claim ‘I was one of the first people to practice XP in the UK’ or ‘I was a member of the first XP team in the UK.’
Curious, isn’t it? Did XP really break out in such a multitude of places in the UK simultaneously? Or was there one gi-normous XP team that everyone was a member of?
My guess is that when XP first arrived in the UK, there were maybe one or two teams practising it in this universe but obviously an infinite number of others being the first to practise it elsewhere in the multi-verse.
Now I’m wondering if it’s the recent breakthroughs in quantum computing that has let all these parallel pioneers slip into our universe and if there is any way of getting them to go back?

Posted in Uncategorized | Tagged | 1 Comment

That’s not quite what I meant – part one

Had a really good session with the developers while delivering the two-day TDD course at a customer site recently. During the course I had quite a long discussion about Bob Martin, et al’s concept of ‘Clean Code’ and recommended that the attendees each buy a copy of the book as I consider it one of the most important books on modern software development. Later I spoke to their manager and he agreed to purchase a copy of the book for everyone.

Two weeks later I saw him reading a copy and asked him what he thought. “Well, I’m not really a coder but I see what he’s getting at and it seems quite reasonable” was his response. “Did you get copies for the developers?” I asked. “No!” he replied, “I got a copy for everyone, like you said. They can take it in turn to read it when I’ve finished”

Oh dear! :)

Posted in Uncategorized | Leave a comment