The dilemma of whether lone developers work better than developer groups, is one that has plagued the field of software development for an age. “How do we get better at what we do?” is a question that constantly needs to be asked, and answered at least in some way.
A report on TechCrunch tried to answer that often asked question for the sake of all coding. Coding, according to the report, has always been considered to be a field that one could excel at when alone, and especially since a single excellent coder is universally considered to be worth more than a team of mediocre programmers. But the problem with this idea is that lone coders are anyway human, and if you depend on a one-man team, wrong decisions made by one person could mangle the whole company.
How do companies try to mitigate this risk?
Various companies have tried to come up with a work-around for this risk, and one of them includes the possibility of having a pair of coders at a single keyboard at all times. This strategy boils down to the fact that two minds are better than one, and if one person comes up with a flawed idea, or if one makes a mistake, the other could always try and discuss a way around it. A couple of companies that have tried this approach include Pivotal Labs based in San Francisco, as well as the Xtreme Labs at Toronto. The approach has also been advocated at Thought Works India, and by Naresh Jain, Director of Asia Operations and Agile Coach at Industrial Logic (a site that offers coaching in extreme programming).
Now although programmers working in pairs were found to be 15 percent slower than individual coders working on a project, the code they produced was found to have 15 percent lesser bugs, according to a report from The Economist, a new publication.
But unfortunately the problem is not solved there.
However, a report from the New York Times countered this notion with a report that stated research by psychologists Mihaly Csikszentmihalyi and Gregory Feist strongly suggested that people were more creative when they enjoyed privacy and freedom from interruption. The most amazingly creative people in a number of fields are often introverted. The theory supports the words of Steve Wozniak, the co-founder of Apple—“If you’re that rare engineer who’s an inventor and also an artist, I’m going to give you some advice that might be hard to take. That advice is: Work alone.” His book iWoz explained the basis for his theory, stating “When you’re working for a large, structured company, there’s much less leeway to turn clever ideas into revolutionary new products or product features by yourself. You’re going to be best able to design revolutionary products and features if you’re working on your own. Not on a committee. Not on a team.”
The report from TechCrunch gave credit to the Hacker News report and commentary about office spaces which were designed to provide people the least possible privacy. According to the report, the spaces strove to erode people’s “fight or flight” instincts, and in the process, their creativity as well.
Now although coding is not a particularly creative process, it has one thing in common with more carpentry as well as with art—the requirement for mechanical skill upon which creative flourishes can be added.
So where does this take us?
Pair programming with a person who is different could lead to more original ideas, and especially when the combination is a dynamic pair, and group brainstorming could be even more effective, but only when everybody is different. In reality, a combination of solitary work, pair programming and group work could work, but this depends on your requirement, and insisting on 100 percent of any one type could be detrimental.
No comments:
Post a Comment