And listen to your customers. This is a quote from an influential essay on software development called ‘The Cathedral and the Bazaar’ by Eric S Raymond. Put simply, the goal of software companies is to put useful, working features in the hands of their customers as quickly and frequently as possible.This might sound obvious, but it’s only in the last ten years that this has become an accepted approach to building software. Many companies still subscribe to the ‘traditional’ approach to building software which starts with someone dreaming up every possible feature they would ever like to see and then not releasing anything until everything is complete.
The theory is that customers only ever receive rich, complete and bug-free software, but in reality it means:
- The software company can only release their product a couple of times a year at best and there are so many new features it can be overwhelming.
- The world has often moved on. The software industry moves so quickly that features which may have seemed vital when a project began are just forgotten footnotes when it finally complete.
The opposite approach is to have small, regular releases where features are delivered to customers in the simplest useful form and then fleshed out in subsequent releases. This process is called iterative development and means:
- Customers get their hands on new functionality as soon as possible
- Customers can provide feedback about what is working, what’s not and what’s missing very quickly.
- Risk is low – if the feature is scrapped because of negative feedback, only a short amount of time and effort has been wasted.
Iterative development is at the core of a group of ‘software development methodologies’ (processes for building software) collectively known as ‘agile‘. Here at Brightpearl we use a version of agile called Scrum.
We work to a two week cycle called a sprint, and break our teams (developers, testers and business owners) into groups of ten or fewer called scrums. During a sprint, each scrum plans, builds and tests as many features as it can. All of these features are completed to a standard where we could release them to customers if we so choose.
This short time scale leads to an extremely focused, productive and intense working environment where we are always busy. It also means that we have to very carefully choose the work we include in each sprint. Every new feature, bug fix, performance upgrade and usability improvement that we would dearly love to deliver is evaluated against each other to decide what brings the most benefit to the largest number of our customers.
At the end of most sprints, we release a new version of Brightpearl and the eagle-eyed among you will notice that our three figure version number creeps upwards. We completed 37 releases in 2011 and sometimes, when we’re especially proud of something, you’ll notice that the first number moves up a notch.


