One of the (many) things about ThoughtWorks developers is that, whilst they are passionate about technology, (and will happily argue for hours amongst themselves about the relative merits of REST over SOAP or ruby on rails over django), more often than not when they start a conversation with a client, technology will be at the back of their mind. I think it is safe to say that generally the primary driver in the ThoughtWorks mind is business value:
- Why are we building this application?
- What are the business objectives?
- What will deliver the greatest value in the shortest timeframe?
Once the requirements of the business are understood, and framed in terms of their business value, then (and only then) should we turn to the technology. This can often be a challenging message; IT professionals like to think in terms of architecture and platforms, yet often these constrain the ability to truly deliver what the busines really needs.
The development team may be a Java shop and only does Java, yet the end users live in a world of Microsoft. So what happens – IT develop user interfaces that expose data in a web browser only for the business users to copy and paste it into the tools of their trade – Microsoft Office. And because IT only do Java that’s the way it has to be.
Value is lost in this thinking. It is easy to argue on the cost to expand the team requiring new skills by introducing .net into the architecture. But what is the cost to the business of time spent through inefficient work practices? All to often IT is an end unto itself, rather than the means. IT needs to remember it only exists to enable organisations. The most refreshing CIOs are those that recognise this. Those who focus upon delivering business value and question every big decision – what value is this giving to the whole organisation rather than thinking in terms of their IT silo. In fact, the sort of way that ThoughtWorkers think.