Either you have too many application developers on staff, or not enough. It's time to reconsider your developer staffing practices, because it's quite likely you've got it wrong.
Do you need a large, dedicated, in-house development team? Or do you need to ax your development team entirely? There are good arguments to be made for both choices, and the correct answer really depends upon what type of organization you're trying to run.
On one hand, you've got a place like Quirky, which has an IT team comprised almost entirely of developers. Quirky is a "social product development" Website that enables regular Joes to become successful inventors by providing them a way to submit invention ideas, collaborate with other users on product design, and maybe get the product manufactured and sold. We recently talked about the developers' role with Nathan Smith, Quirky's Head of Technology, during a live video event about supporting innovation. He said:
The only time we really use third parties is when we have a piece that somebody does really, really, well already and has a proven system and there's no point in us reinventing the wheel. I think the argument for not having an ongoing outsource development program when it comes to the software you're actually going to push out to your end users or use internally day to day is you just sort of have misaligned incentives.
If you have someone that's getting paid hourly and they're done with the project when it's done, they're going to write the code as quickly as possible and get it to you, and then they're gonna wash their hands of it and move onto the next project -- which, sometimes, is fine. But, a lot of times if you're making a really complex system, like our platform, it makes more sense to have someone who's going to take ownership of it.
Then again, you don't want a developer to take too much ownership of an application. In another recent live video event, we spoke to Richard Stiennon, Research Analyst for IT-Harvest. When I asked him for his main piece of advice for any CIOs who want to improve and simply information sharing, he said: "Webify. Don't have proprietary applications for accessing particular pieces of information... You don't necessarily have to make an app for every single device, just let them access it over the Web."
I asked Stiennon if a CIO who adopts that kind of attitude lacks faith in internal developers. "Well, we should," he said. "We should question when internal developers say 'oh no. we have to use this framework or this type of presentation.' You have to really push back and question them on that... At the end of the day, the developers really have you over a barrel. You can't fire them, you can't replace them, you can't outsource it to India, because they're the specialist on their little tool."
Stiennon's main argument was not that developers are greedy, crafty people who will hold their organization captive. His main point was simply that most organizations don't actually need in-house developers -- too much customization is wasteful and counterproductive, especially when you need to be more efficient with less resources.
For now, it seems CIOs are moving towards the "more developers" model. A recent InformationWeek Reports survey discovered that there is an increasing demand for, and an increasing budget for, in-house application developers. As Michael Endler described it in an Oct. 17 InformationWeek story:
What's more, the survey projects this trend will accelerate over the next two years, by which point nearly three-quarters of app developers are expected to be in-house employees. The responses suggest contractors will compromise most of the remainder, with outsourcing left largely on the outside looking in. Businesses, it seems, want not only apps but fairly direct control over their development.
If you are going to have developers on staff, don't waste their time and talent. Don't make them build custom applications if an equally effective alternative is already available for purchase. Don't overload them with so many administrative, keeping-the-lights-on type of tasks that they never have time to actually flex their developer muscles and create the exciting, innovative applications you hired them to make.
A company like Quirky needs in-house developers to build a Web platform and write applications because, ultimately, the company's defining mission is to provide a unique Web platform with unique applications. The company needs the manpower necessary to carry out the iterative development process that's crucial to the business. If providing unique IT services to customers is not your company's modus operandi, then maybe you don't need in-house developers at all. Use existing applications and services, avoid needless customization efforts, hire contractors on an as-needed basis, and keep your IT staff lean and mean.
What side are you on -- more in-house developers, or none at all? What kind of team are you running now, and do you think it's the ideal set-up for your organization?