Is Agile Empowering or Overpowering Coders?
Posted by: Katharina Buchholz in News on Jun 06, 2011
The one thing coders are good at is coding. Everyone who writes code knows that sometimes doing anything else can be extremely distracting. Small interruptions can hold up a project for longer than expected. So let your coders code and shield them from all other decisions concerning project planning, software architecture and time-line management? Companies implementing Agile software development strategies might find that they have to borrow time from their coders for additional planning tasks the Agile methodology sets up at the team level. Does Agile diverting coders’ attention or is the distraction well worth the time?
Many coders are slightly irritated when project managers try to make them do additional tasks. Once coders are ‘in the zone’ they cannot be distracted. If concentration is lost, it takes time to re-grasp a projects complexity. Precious work time can be lost because of repeated interruption such as prolonged meetings or strategic planning. Many coders would prefer to have their superior shield them from all decision-making concerning the project, so that they can pretend that the outside world doesn’t exist while they type away at code.
Sparing coders these responsibilities is disregarding an important resource in the software development process, which is also the one that Agile software development is trying to tap into. Developers know best where a certain project is at and their input can be crucial to making a development team flexible as well as innovative. The secret to successful Agile implementation is not to make your developers cringe when they have to make their way from the workstation into the meeting room. Keep meetings short and effective. Teamwork is great, but too many coders might spoil the broth. It is important to create a team among which communication is smooth and beneficiary to the project instead of being an extra burden. When figuring out time-lines, it is also good to collect a couple of estimates, instead of having a single programmer get lost in space and time without a team to bring him or her back down to earth.
While some people seem to be under the impression that flatter hierarchies means better Agile systems, this is not necessarily so. Every team needs different roles, and Agile needs project managers that can keep an eye on the overall progress of an undertaking. While Agile is happy to hand over additional responsibilities to coders, it also has to make them accept them not as an extra burden but as an empowerment of the coder as the central and most important role in software development.
Agile software development is by no means getting rid of all superior roles. They don’t mean handing over each and any responsibility to programmers either. The team relationship itself has to remain agile to accommodate different team roles and facility a motivational work atmosphere.
