I was fortunate enough to be invited to a party with James Gosling, hosted by Sun and Majitek, and was further fortunate enough to ask James some questions.
On top of my list (and I’m sure was the top of most Java developers list) was;
Have you punished the person responsible for the Calendar classes ?
To James’ credit, he handled it diplomatically, and replied “We can’t, it was IBM”.
So, not only WSAD, but the Calendar classes. Is there no end to the evil that IBM can perpetrate upon the Java community ?
One of the key factors in all of the Agile development practices is constant monitoring of the situation via feedback on the status of the project. This is highlighted by small units of work that are completed or not so it’s very difficult to be in the “almost finished” state. Coupled with this are practices that look at the overall progress of the project, such as looking at units of work remaining, and the current “velocity” or rate of completion of tasks.
All of this is designed to be done in a non-confrontational manner, with an aura of openness and honesty prevailing, with everybody working to the best outcomes of the project.
However, this might be the case in the “fairies at the bottom of the garden” development land, but it’s nowhere I’ve ever worked. What’s more likely is that there are entrenched developers who have been working for years without responsibility or accountability, always capable of blaming somebody else, while giving wildly padded estimates and seemingly continuously at “80%” complete.
Introducing an Agile process (or in fact any process that highlights accountability) immediately highlights the incompetence, inability or downright unhelpful members within a project team. Given the rate of project failure (some say 70%) there must be a lot of rubbish developers about the place. With that much around, it’s no wonder there is significant resistance to Agile processes.
Imagine if I walked onto a project, telling everybody how the processes will highlight your deficiencies, make it obvious your lack of teamwork and slackness from the past. What sort of reaction is that likely to get ? I’m guessing that it’s not going to be good. However, that’s what the reaction of a certain section of the development community is leading me to believe they are hearing.
So, project managers, team leaders and more importantly customers, if your project team is resisting processes that highlight accountability and visibility, then start asking questions about whether they should be working on your project or in your company, at all.
Who knows, with enough introduction of these sorts of processes, it might even force a few of the pretenders to resign. Now, that would be a great achievement.