Posted by gvix
on October 2, 2005 at 10:35 PM PDT
Why agile programming is not working for me
For some time now I went on the Agile programming bandwagon convinced that it was the next best thing since sliced bread. After a sustained year of practicing it, I am off the wagon. It is annoying, superficial and doesn't necessarily produce better results than traditional programming.
My problems with Agile programming.
-- Without a design up front, you are shooting in the dark hoping that what you are doing now will retrofit the final solution. This doesn't work for me. I want to analyze a problem domain to death before I commit any time to it. Traditional programming methods don't preclude the idea of a prototype to test your designs and neither do they disallow changes.
-- The last thing that I want is for another developer sitting with me and criticizing my code, while I am writing the code. And no, I don't want to do the same to him. It leads to friction, waste of time (two developers working on the same task?), hassle and fuss over finding two developers who will get along with each other and so on. The worst possible idea.
-- Continuous small builds is a great idea. But continuous small builds lead to a nightmare in code management and dependencies. What would have worked yesterday wouldn't work today because somebody else refactored something that has broken the current build cycle. On the other hand if everybody was programming against a well set design there would be less (I say 'less' not 'no') integration issues.
-- Project requirements are always in a flux. This is the central tenet of XP and I find this always-in-the-dark kind of coding irritating.
While your mileage may wary, I am pretty sure that XP is not working for me.