News for hackers. Stuff that matters.
Re:My 20-Year Experience of Software Development Methodologies by tootie on Monday December 04, 2017 @09:21AM (#15843966)
Coming from a mid-size consulting background, all I can say is that agile is absolutely essential, but it's also absolutely worthless if expectations aren't aligned at the start of a project.

Think back to the project management triangle that was probably drawn up in the 1960s. Between scope, time and quality, you can only constrain 2 out of 3. Waterfall constrains scope and time at the expense of quality. Agile constrains quality and time and leaves scope flexible. That is an incredibly tough pill for most businesses to swallow, but it's absolutely in their own best interests. Agile manifesto lauds "working code" and if you build debt, you're probably not producing working code. Quality-first requires flexible scope. If business accepts flexible scope, then agile is miraculous.

These processes are not for developers, they're for business. To give them visibility and skin in the game.

Re:My 20-Year Experience of Software Development Methodologies by shadowmint on Monday December 04, 2017 @10:02AM (#15844301)
I think this a well made point that many developers fail to appreciate.

Some processes are there to make people productive, prevent them from distractions and help resolve issues...

...but an equally important set of things you’re doing is providing estimates and feedback to the business, so they can make strategic plans and not look stupid to customers.

A lot of process fails (particularly in agile) seem to stem from failing to understand why they’re being done.

Retrospectives aren’t for planning technical debt sessions; they’re there to explain why you didn’t deliver on time. You made some bad estimates? Well, if you don’t go back and review them, guess what, you’ll never get any better at it.

Were those deadlines arbitrary? Maybe, but aren’t you glad you didn’t have to sit in a meeting explaining why things won’t be delivered when you said they would, and oh yes, how stupid you are and so very sorry, its not good enough is it.

Those are meetings no one wants to have.

If you’re forcing your workmates to have them by half heartedly doing a process, your team isn’t doing their job; even if they’re highly productive and produce high quality output.

Scrums aren’t a tech briefing. No one really cares what you did yesterday. Its your chance to ask for help if you need it, and a chance for the team to make sure everyone is on point and not drifting off into Q-space working on something irrelevant.

Basically, whatever the process, people don’t just magically ‘get it’: you have to actually articulate what you’re doing, and who’s benefit it is for, or its a meaningless mess of going through the motions.

Re:My 20-Year Experience of Software Development Methodologies by nradov on Monday December 04, 2017 @11:05AM (#15844859)
Project management is more of a pyramid than a triangle: risk is the fourth variable. There are sometimes circumstances where you do well on the other three variables by accepting a high risk of outright failure, for example by adopting an untried new technology.
Re:My 20-Year Experience of Software Development Methodologies by tootie on Monday December 04, 2017 @11:20AM (#15844991)
Certainly, but there are different kinds of risk. A quality-first approach reduces operational risk significantly. Agile would also tell you if you made a wrong assumption much more quickly. It can't solve timeline risk, but gives you much better visibility. You also decrease market risk by being able to see your product in partially working state much sooner and getting it in front of users (even just test subjects) much quicker.