IT Developers have never been in more demand than at this present time. Consequently, good Java, C#, C++ developers have a vast choice of companies to work with.
To complement this subject, we are delighted to welcome back Cliff Moyce to the newsletter with a fantastically written article covering the decision that will be faced by many IT leaders over the coming months, as IT projects continue to ‘kick up’ a gear.
Cliff argues the assumption that viewing IT Development as a commodity is a potentially dangerous path…
An article in one of the broadsheet business sections argued recently that computer programming could be done perfectly well by “highly skilled and cheap developers in the Far East”. In effect, the author was arguing that is what people should be doing.
Though that statement is not completely wrong (some outsource providers do great work), it is the underlying assumption that is wrong; i.e. that systems development is now commoditised and should be bought on price as quality is universal.
My own experience tells me that:
- Quality is not universal (including in the home country)
- What you pay developers is not the true cost of your system development
- The cost of failure dwarfs any extra investment in quality needed to ensure success
Anyone who buys system development services on price (and who is sold to principally on the basis of price) is taking a big risk. Any notional cost saving goes out of the window if the new system fails to go live on the required date with all of the required functional and non-functional requirements satisfied fully. The notional saving also goes out of the window when the system proves to be difficult to maintain and enhance in future, and ends up becoming a dragging anchor on the business.
So what is it that outsource developers lack in situations where projects are going awry? Generally they lack a true feel for the business of their clients and also the business of the clients of their clients. They can also lack experience and skills in integrating new systems into large corporate IT infrastructures. Some of my clients have tried to get around this problem by having a blended team with the missing business, design and integration skills in-house, and coding done externally.
However, it is often those in-house resources who end up calling me after weeks of pulling their hair out because the knowledge gap with the developers is too great and is manifesting itself in the quality of work being done. What agile methods have shown us more than anything is the fundamental importance of holding every member of a product development team fully responsible for the business success of any development (the autonomous, self-managing, cross functional team model). By making team members jointly and severally responsible for achieving the desired business outcome, you will ensure that they give their full attention to all aspects of the development and not just the immediate code production requirement. Developers who hold (and own) a full business and technical design in their heads are always more successful than those who do not.
Anyone who knows me, knows that I am a big fan of using external system development providers in Eastern Europe and Russia. This is because I am always on the search for the highest possible quality in any development. I know that deploying a poor quality product can cost a fortune over the long run and even threaten the viability of a business so I am never going to let it happen.
I am drawn to these regions for several factors, including high levels of engineering skills; strong educational backgrounds; a culture of excellence; high levels of integrity and commitment; stability arising from an old fashioned loyalty to the employer; and, a genuine passion for the business outcome (not just doing a job for money). But that doesn’t mean that every provider in these regions is good – far from it; and, it doesn’t mean that providers in other regions are not good – again far from it. I have used firms successfully in other parts of the world, but I find that my own view on quality and excellence is shared more commonly by firms in Eastern Europe (particularly Romania) and Russia.
In summary, systems development is not and never will be a commodity. Buying systems development services principally on price runs a high risk of project – and possibly enterprise – failure. Outsourcing systems development can be a very good option where quality and stability are the main drivers, but it can be a dangerous option when cost is given precedence over quality.
Article kindly provided by Cliff Moyce, Independent Management Consultant – please click here to email Cliff Moyce.
If you’re seeking advice on outsourcing and implementing systems development staff for your organisation please contact Jenrick IT on 01932 245 500.
Interested in receiving our Digest newsletter? Please click here to subscribe.
Image: Thanks to lordoutsourcing.com for providing such a good image to support this article.