The Talent Factor in Software Development
Posted on Wed, Jun 02, 2010
As we've discussed previously, the key to successful software development rests not with your methodologies or your technologies, but with your people.
Knowledge. Experience. Commitment to Quality. Willingness to Collaborate. These aren't things you buy or rent. They are human attributes. And the only way for your organization to enjoy their benefits (innovation, insight, intelligence) is to cultivate and maintain relationships with the humans who possess them.
Unfortunately, when trying to maximize efficiency (and control costs) in complex undertakings (such as the creation and distribution of software products), it's all too easy for us to reduce, at least conceptually, the people on whom we rely to a set of functions or abilities. This might make sense from a systems management standpoint, but not from a people management standpoint.
I was reminded of this point when reading a recent blog post by Glenn Gruber, "The Fallacy of Software Factories and the Importance of Talent." Glenn covers a lot of ground in this post but his basic message is simple: Exceptional talent is critical to software development but it is often treated as a resource or, as he puts it, "fungible asset."
One result is the mistaken attempt to Taylorize software development and create "software factories." Glenn says this about that:
Nowhere has this approach towards trying to create software factories been more pronounced than in the IT outsourcing business. That’s because under the traditional outsourcing model success (i.e. margins) is achieved by trying to break any task down into its most basic components so that those activities can be completed by the most junior and cheapest resources (there’s that word again).
Of course, Glenn adds, one can realize increased productivity and cost savings with this approach to software development. However, it won't "guarantee well-written, high-performance software." For that, of course, you need talented people who are actually capable of producing it.
I think there is another lesson here as well, and that involves the approach to outsourcing. If you chop development projects into chunks and throw the "easy stuff" over the wall to Eastern Europe or India or whereever, you relegate these developers to the status of a resource. Not only will this approach fail to engage them in the achievement of your business goals, it also fails to tap into the full range of their capabilities.
If, on the other hand, you partner with experienced developers around the globe, and invite them to contribute their expertise at every level of the development process, you'll find that talent is not just a cost of doing business, it's an active factor in your success.
blog comments powered by