| ▲ | cushychicken 4 hours ago | |||||||||||||
Waterfall gets an unnecessarily bad rap. Nobody who delivers any system professionally thinks it’s a bad thing to plan out and codify every piece of the problem you’re trying to solve. That’s part of what waterfall advocates for. Write a spec, and decompose to tasks until you can implement each piece in code. Where the model breaks - and what software developers rightly hate - is unnecessarily rigid specifications. If your project’s acceptance criteria are bound by a spec that has tasked you with the impossible, while simultaneously being impossible to change, then you, the dev, are screwed. This is doubly true in cases where you might not get to implementing the spec until months after the spec has been written - in which case, the spec has calcified into something immutable in stakeholders’ minds. Agile is frequently used by weak product people and lousy project managers as an excuse to “figure it out when we get there”. It puts off any kind of strategic planning or decision making until the last possible second. I’ve lost track of the number of times that this has caused rework in projects I’ve worked on. | ||||||||||||||
| ▲ | pydry 3 hours ago | parent [-] | |||||||||||||
>That’s part of what waterfall advocates for. Write a spec, and decompose to tasks until you can implement each piece in code. That's what agile advocates for too. The difference is purely in how much spec you write before you start implementing. Waterfall says specify the whole milestone up front before developing. Agile says create the minimum viable spec before implementing and then getting back to iterating on the spec again straight after putting it into a customer's hands. Waterfall doesnt really get a bad rap it doesnt deserve. The longer those feedback loops are the more scope you have for fucking up and not dealing with it quickly enough. | ||||||||||||||
| ||||||||||||||