Picture the scene: you find yourself in a bar or pub, having a drink with some friends. Suddenly, a man you don't know comes up to you and begins aggressively shouting and shoving you, spilling your drink in the process. It's clear that you need to address the issue...but how? Hurriedly, you form two options in your head. Do you a) ask the man to leave you alone, and, only if he persists in acting as the aggressor, call the police? Or do you choose option b) and arrange for a group of Navy SEALS to immediately descend upon the establishment to deal with the miscreant?
Clearly, the best approach in this admittedly extreme situation is to act with proportionate force. Selecting option 'a' in this instance, would ensure that you have adopted the correct and appropriate response to the problem at hand. If, by contrast, you were to find yourself held hostage at gunpoint by a group of armed robbers, then option 'b' might sound like a much more attractive solution. Sounds simple, doesn't it? And yet, many businesses still fail to grasp the fact that, as far as application development is concerned, the same degree of proportionate force is required.
It's one of the reasons we're seeing such a debate around the idea of productivity v control within the developer community, with many seeing the two factions as vying ferociously with the other for supremacy. On the one hand, or so the argument runs, technology has evolved to the point that productivity business applications can be quickly and easily developed by those without technical expertise. Shouldn't this mean that those with in-depth programming skills are a becoming thing of the past? On the other, those with deep programming skills who advocate the 'control' side of the argument claim that they still have an important role to play and that ease-of-use development tools are not enough by themselves when it comes to developing more complex, next-generation apps.
The truth, as you might expect, falls somewhere in between both of these two stools. Increasingly, the real dilemma for businesses today is to ensure that they have the correct balance between productivity and control in place. Put simply, it's a mistake to assume that productivity and control-based ideologies are at odds with each other, when the truth is that, used properly, they can complement each other extremely well.
Indeed, although the recent rise of the 'citizen developer' within organisations was, or so it was reported, on the brink of making those with deep programming skills obsolete, it's clear that businesses still see them as having an important role for them to play. A recent study conducted by research firm Vanson Bourne found that today's organisations are adopting a more pragmatic approach to application development than ever before.
Just over half (56 per cent) of those surveyed as part of the study reported an equal balance between having application development UIs that were more focused on ease of use and productivity than on control for more complex tasks. Meanwhile, a third (29 per cent) reported that their application development UI had a much stronger focus on higher productivity, suggesting that the role of developers and ISVs in the application development and deployment process is still alive and well.
Perhaps the secret to achieving the right balance between productivity and control within organisations lies in selecting the right tool for the right job. Although several years ago, programmers would be required to work on each and every application deployed within a business, the truth is that ease of use solutions have elevated their position to a much higher level. Coders today are few and far between, which means that they cost much more to employ and find themselves in more demand than ever before. For this reason, they increasingly focus only on developing highly sophisticated applications that leverage the power of the underlying platform. The upshot of this is that developing more simplistic, productivity applications can be managed by those without such technical expertise.
The key to finding the right balancing act lies in identifying the areas where productivity can be most effective and the areas that control can have the biggest impact upon, then structuring your resources accordingly. Just as you wouldn't call in Navy SEALS to settle a minor infraction in a pub, it's now equally as absurd to expect those with programming skills to manage, develop and deploy every single application within an organisation. Each business problem needs to be met with proportionate force, with resources allocated according, and it's only by selecting the right tool for the right job that businesses will be able to strike the right balance and work most effectively.