2 ms·
What you are suggesting – to plan, document, implement and test every feature one after another – is just waterfall for every problem separately. Well, isn't t
by matthewmacleod 11y ago
What you are suggesting – to plan, document, implement and test every feature one after another – is just waterfall for every problem separately.
Well, isn't that the core of any software development process? We're ultimately delivering features, and they all require planning, documentation and testing. The development methodology used doesn't change that. 'Agile' is the key word – change will happen, and being agile helps you to respond to that.
- kuschku 11y agoI responded to your sibling comment with the definition of Waterfall. And every single comment defending Agile here was just "well, you can still document stuff before implementing it, and then verify it, and then maintain it". Which, effectively, is: Even if you’re agile, you can still do waterfall. Great...
- matthewmacleod 11y agoObviously I'm not making a particularly convincing argument… At the end of the day, agile development is primarily about ensuring that you can respond to change quickly and with minimal disruption. Change occurs in all software projects, and agile tries to avoid some of the pitfalls that one can fall into by architecting an entire system in advance. "Even if you’re agile, you can still do waterfall." is not quite what i'm trying to get across. Rather, it's that agile doesn't mean you can't provide documentation in advance if that is a specific requirement. Bear in mind that external APIs that must be stable are quite distinct from the rest of the system; indeed, it's a horribly design failure if you can't completely swap out your implementation without changing those APIs!