Cowboy coding….. its adopted!

14 Aug 2012

Sometimes in a company you find that the team all arrive at the same point at the same time, it gratifying really, that’s what happened when we read a blog article recently by Babcock and Jenkins (a design agency in Portland Oregon) about their Pink Sombrero.

There is a term that is used across software development companies to describe when a developer steps outside of the normal structures that are in place to assure good delivery of code – Cowboy Coding.

This is not something that a developer sets out or plans to do and is definitely not part of our ‘best practice’ but there are circumstances that require quick responses where the client needs a change or feature enhancement that needs us to do the work ‘live’ on the production system instead of going through the usually code, initial test, push to Alpha, QA, Beta, then release into the feature branch and then push this into the production environment which is when it normally becomes available for clients.

This on the hoof work is called Cowboy Coding.

10 years ago we probably did the majority of our work in this way but over the years our processes and structures have been put in place to make sure we follow a consistent approach that is maintainable with the larger audience that we have as subscribers – with 3 million lines of code in OpenCRM the days of having one person who knew how a system worked is long gone and that’s why Cowboy Coding, although necessary, needs to be very visible.

The multi coloured sombrero !

To make sure that whenever someone needs to carry out any live edits we have a multi coloured sombrero that the developer has to wear. What good does this do to the process you may ask? Well, to be honest, its a really visual sign that someone is carrying out this type of work – it raises questions from colleagues and team members – is this necessary to do live, is there anything to take into account, what are you doing and can this be better managed in another way, who is doing the most and which clients are making these requests.

It’s not the only way we have to monitor these practices, we have a procedure to keep track of what happens on any OpenCRM system – but I tell you what, it’s a great idea and something that has the desired effect. Sometimes a tracking procedure is good to keep an eye on what has happened, but the Sombrero sends up a flare to all of the developers in the room and you will see and hear the heightened level of dialogue around this piece of ‘non standard’ procedure. Its a great focus on something important at the time that it is needed.

It’s also fun – keeps us smiling, focused and professional.