Comment Re:I think.. (Score 1) 395
Bits and pieces of agile are good. I think if you take the spirit of agile.. that is doing things because it's a good idea, not because you have a compulsive need to fill binders with documentation.. it can work well.
I'm not sure what you're saying here, but I disagree. In general agile processes are defined a certain way because they work. If you take only pieces, you're not following the known-working process so your expected results are indeterminant. If you're filling binders with documentation, you're probably not doing any form of agile.
I like unit tests for regression testing (that is, verifying that the software still does what it used to).. but I think test driven development is more hassle and riskier than it's worth (now instead of just changing code when the requirements do a 180, you have to change code _and_ unit tests, ($cost + $time) * 2).
That may be true if you're the only one working on it. However some of the benefits of TDD include arriving at an early consensus on design details and allowing different roles to work in parallel. Once you've defined the tests, everyone knows exactly how it needs to work and you can have your developers go ahead at the same time as your qe at the sae time as your doc at the same time as your consumers. You've flattened out the pipeline.
By your reasoning without TDD, yes, your stage in the pipeline is quicker, but the pipeline is much longer and more serial.
I like eliminating "because we need documentation" documentation.. but I think there is great value in documenting stuff that is complicated or weird. Having a binder full of "the UserAccount class represents a user account. It is comprised of a username representing.." is useless. The same goes with diagrams.
My group is still having that argument, but people seem to misunderestand that agile requires no documentation. Agile does not assume any documentation. Starting from zero, YOU define what is necessary for your project then implement it. The result should be significantly less and significantly more effective documentation than the traditional approach of starting with a heavy doc requirement regardless of project needs. However it does assume you have competent people willing and able to make the right decisions.
I always think that is the fundamental difference. Waterfall assumes everyone may be lazy, incompetent or malicious and tries to keep everyone in line by predefining everything and including lots of checks and balances, and command and control. Agile assumes you have competent professionals so you need to get out of their way, empower the right person to make the right decision, and help the team work together.
The worst is when agile is implemented as a buzzword. "We are agile! We have a binder full of documentation describing the rigid agile process we follow!" (not saying agile or processes in general shouldn't be documented, but in my opinion the whole point of agile is to be flexible).
Yes, that's clearly not.