The best programmers fancy themselves artists and not engineers. Sometimes they overestimate their abilities, believing they can write complicated algorithms overnight. But when coding is underway, they can fall behind schedule as they strive for perfection. The project manager has to address this issue. Here are some insights and ideas on how to do that.
There is nothing more elegant than a clever algorithm. Mathematicians take great pride in competing with each other, showing that a proof can be done in fewer steps. Programmers are like this too, at least the best ones. Trying to write the most elegant code can slow down work.
Did you see the movie “The Social Network” about the founding of Facebook? Mark Zuckerberg staged a competition to hire his first three programmers. There were required to quickly down shots of liquor and beer and circumvent SSL security on a web server all at the same time. The goal was to see how clever they were and that they could work under stress.
This Einstein complex can cause programmers to go off on a tangent, trying to polish to perfection and make clever something that could be done more quickly albeit in a less sublime fashion. Confident in their skills, programmers might underestimate the time they need for each task thus putting the project schedule in jeopardy. For tasks the programmers find tedious or boring, they might try to ignore that work all together.
Here are a couple of ways to find out who is fiddling around. First, to keep track of daily progress, and invoke the tactic of peer pressure, the project team could hold daily stand up meetings. This idea, taken from the Agile methodology for project management, means each person stands to report their progress from the day before. They also report blocking issues. If someone is stuck in the weeds, the whole team will know about it and tasks can be shifted accordingly.
But whose fault is it, really?Delay can be the fault of the project manager or the developer or the consequence of changing requirements. Estimating level of effort is a difficult task, which is improved with experience. The usual solution is to build lag time into the schedule. The other solution is to pile on resources. That this is does not always work was pointed out in the 1975 book “The Mythical Man-Month.” It showed that adding more resources to a programming task does not necessarily boost productivity. It is not always possible in all cases that two people can work on the same thing. How can two people bake a cake?
Programmers are sometimes annoyed by all the constraints put on their creativity by project management, but project managers have the responsibility for delivering the project on time. Keeping programmers focused on the right tasks and making the best possible time estimates are key to this effort.
About Geeks Ltd
Our passion is business efficiency enhancement for our clients via smart application of automation techniques.We are winners of international awards for our innovations in business productivity.
We have attained Gold Certified Microsoft Partnership level which represents our highest level of competence and expertise with Microsoft technologies as well as our close working relationship with Microsoft.At this level we have been granted access to exclusive Microsoft resources and support, access to the Partner Knowledge Base, and many other advantages which contribute to our capacity to meet our clients needs.