News for hackers. Stuff that matters.
Re:Ask HN: How to manage developers who aren't very good? by exelius on Friday February 06, 2015 @02:40PM (#9011081)
> Waterfall seems like a discredited old system, and I don't love it either, but it has a huge advantage for developers. It requires people who will insist on and enforce deadlines to state upfront, in considerable detail, exactly what they want.

Except it never really worked that way, which was the entire problem with waterfall. Waterfall works best in a static environment with guaranteed funding because it doesn't react well to shifting priorities. In reality, requirements change and budgets get cut, which sets off a chain reaction of change management activity in a waterfall model. Agile is so much better -- you reassess requirement priorities every few weeks and that dictates what you work on over the next few weeks. In very few situations under which software is developed today is it even possible to state upfront what you need with any certainty. Waterfall assumes that requirements gathering and development take place serially, whereas agile recognizes the reality that they are more or less concurrent.

Waterfall still has its place - if I were developing a nuclear reactor or an airplane, waterfall is still the way to go. But for projects where 100% requirements completeness is unnecessary (and let's be real, nobody runs a full regression suite after every sprint), Agile will get you a better product faster and cheaper. Everything you said is true -- agile is a fertile ground for manipulators, but so was waterfall.

The manipulation is a byproduct of any reasonably large organizational structure, and if you want to stop it, it's got to be a cultural thing. Bad actors will exist under any development methodology, it's up to the leader of the engineering organization to stand up and refuse to allow his/her people to be abused.

Re:Ask HN: How to manage developers who aren't very good? by geebee on Friday February 06, 2015 @03:21PM (#9011289)
Interesting answer, but I think you're refuting waterfall in general rather than the narrow point I was making about it. Overall I agree with you, waterfall is worse than agile. But to me, this is like saying that fighting and communicating only through lawyers is worse than getting together with trust and working out an agreement. Right, totally, agreed. But if the other side lawyers up and prepares for the "let's find who to blame!" that they suspect will happen in a couple of months, and you go in all ready to collaborate and work together, you're going to get steamrolled!
Re:Ask HN: How to manage developers who aren't very good? by exelius on Monday February 09, 2015 @04:03PM (#9023705)
Right, but I was saying that the "biggest benefit" of waterfall was never actually one to begin with -- Agile was built around the assumption that requirements will constantly change because that's what happens in the real world. If requirements accuracy is the most important thing in your project, you deal with the change management implications. Otherwise, you go Agile and accept that you may not be able to guarantee a specific feature by a specific date/release.

It's a two way street though: the business folks need to understand that they're giving up some control and predictability in exchange for lower overhead and faster delivery. This is the hardest part of Agile IMO since most business / product folks don't like not being in control. Agile gives engineering more autonomy, but only if the business respects that autonomy. If the business starts dictating too many processes/priorities, the whole thing crumbles into a waterfall mess (even if you call it "Agile").

Re:Ask HN: How to manage developers who aren't very good? by rbrcurtis on Friday February 06, 2015 @04:01PM (#9011523)
Dude, you're a programmer. If you're in an organization where this is the norm, go find another job with a more enjoyable environment. There's a million out there for you.