Thursday, 3 December 2009

Some Agile thoughts...

Is it me, or have others found Agile development projects to be chaotic?  I will not profess to be an expert in this area.  I've been a developer on about four Agile-based projects, ranging from a handful of developers to a team of 20.  And, on the larger projects, the more Agile is pushed the more chaos seems to result.

At worst it feels like a mad coding free-for-all, in an effort to meet development targets, while abandoning or ignoring coding conventions and best practices.  The idea being, "if we just get the cards done...the project will get done".

I don't know how many times I've coded up a piece of functionality, written tests, etc., only to find weeks later, that someone else on the team "refactored" it, rendering it unusable.  One step forward, two steps back.  I've only really experienced this on Agile projects.

Don't get me wrong, when I first encountered Agile I felt it had merit; and I still do.  But somewhere  between theory and execution the plot can get lost.

I've always consider myself to be self-managing.  You give me a spec and I will methodically design, develop, test and document it to a finished product.  Maybe that's a bit old-school, but it got the job done.

I would be interested in what others think about this.


Antony said...

I'm inclined to agree. Working consistently on Agile products in my current job, I too have experienced this constant toss-up between deadline and good coding practice. The daily/weekly/monthly build cycle is frought with miniscule lag for fixes and a real sense of urgency to get the job done at the expensive of a smartly-paced TDD approach.

I'm not sure if that feeling is something that is ever going to go away, either!

rgramann said...

I hear ya, Antony.

All of the Agile projects I've worked on have been different. Instead of a standard management technology, it appears more based on interpretation (e.g. This is how we do Agile...) That said, they all had one thing in common - hectic delivery and questionable quality (okay, two things).