Hi, I just happened to read few articles about Agile processes and it really interested me and ofcourse raised few doubts/misconceptions about the process. Following is my query Agile development is sometimes termed as "Cowboy coding" because it lacks proper structure, clear scope and vision and thus may result in a poor quality software. Is it a misunderstanding of the methodology? Does your book address these issues and other criticisms that Agile methodology faces?
The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
Joined: Jul 11, 2001
As far as I can tell, cowboy coding is not exactly known for a focus on continuous testing, planning and design improvement, let alone having a fully functional, fully tested system at least at the end of every other week.
So, yes, it seems that those comparisons must be based on misconceptions.
I believe some agile processes don't emphasize enough how difficult it is to keep a code base clean enough over time. Without such continual efforts, a system will turn to mush quickly in an iterative/incremental development (IID) world.
Sustaining a system under agile requires considerable discipline. Cowboy coding in the IID environment will only hasten the death of a system.
I think you need clear standards, continual code/design review, continual attentiveness to design via TDD, and continual integration of code in order to survive, things that only some agile processes discuss. Most cowboy coders fear these things.
Originally posted by Member07: ... Agile development is sometimes termed as "Cowboy coding" because it lacks proper structure, clear scope and vision and thus may result in a poor quality software. Is it a misunderstanding of the methodology? Does your book address these issues and other criticisms that Agile methodology faces?[/QB]
For the record, Agile is the most disciplined approach to software engineering. It is not cowboy coding in any sense of the imagination.
Can there be a problem with the architecture because the team didn't spend months defining it first? Possibly. AND, I've met plenty of projects that had architecture troubles because they thought about it for months and didn't do anything.
Manage It! is not an explanation of why Agile works; it shows ways to think about your projects and use processes, techniques, and tools that will work.