As a developer, one of my concerns is that the time I’m using on something has real business benefit.
The term business benefit is just short hand for saying will it enhance our income, reputation and future viability. Enhancing either of the latter can only enhance the former.
How do I know what will benefit the business – both short and long term?
Can I rely on intuition? I doubt it.
The best source is solid feedback, systematically obtained from as many clients as is practical. This is can complex and tricky; an awful lot of it is subjective, difficult to capture accurately and may not even be offered in full.
Some responders may decide not to state the genuine reasons for a negative view. They may feel it’s impolite, not had time to consider it fully, other pressures may be at work or they simply haven’t had sufficient training in the product.
Is there a next best then? Possibly – I’m a believer in client involvement and I also think *depth of sale is critical for any non-trivial software solution.
The premise of specialised software is to provide a natural solution for a specific area of business. This requires deep understanding of this business, its language and its primary concerns – this is why client involvement is critical.
Eric Evans in his book on Domain Driven Design tackles this subject head on.
The depth of sale is critical because from here, the relationship has to grow into a deeper mutual understanding – what do they need and expect also how does this evolve as their knowledge grows.
Initially, the emphasis is on the developer to understand and use the language of the client’s world. Later, the client learns what the developer can really bring to their business and, **if the process is done well, actually use the developers knowledge to create new possibilities for the business.
This becomes more mutual as the developer gains expertise as his or her skill will be to synthesize a number of models of what the client needs. The developer is really looking for the greatest leverage points that benefit the clients’ business; what is the most effective intervention that can be gained with the new software?
I highly recommend Chapter 6 of Thinking in Systems for a brief discussion on leverage points – as developers the higher up the list we can help clients intervene, the greater the value of our solution. These points are something for a later blog, so please stay tuned!
In a previous blog I detail the idea of informed client feedback where, with context, a client can easily realise new possibilities that make a huge difference to the simple day to day operation of their business. This can only come from educated context – if you didn’t know this feature existed, you won’t build on it mentally to come up with a new one.
One piece of software I work with captures a seemingly trivial piece of information every time a note is made-this information is used with immense effect elsewhere in other features. One of which saved a client a large amount of hassle. This client would never have guessed that such a feature would have helped them.
As developers our job isn’t just writing code – that’s just the mechanics. Our job is to help our clients create new possibilities for the future of their business.
If we enable them to succeed in ways they may not have even conceived of, prior to our work, we also succeed.
*Depth of sale quite simply means educate effectively in order to allow clients to make a fully informed sale. Here I have to give credit to Andy Dent of http://www.innovit.co.uk/ for introducing this idea to me years ago in the context of school IT strategy.
** It doesn’t mean the client has to learn to code, but it is beneficial for them to gain an overview of the thought process and analytic skills used by the developer; this way they can ask better questions. This is a virtuous cycle of positive feedback because better feedback means better understanding expressed in the software that means more possibilities and even more feedback and so on… There is a reverse of this of course, an exercise I’ll leave to the reader!