Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Advocating for waterfall?

Not every product can be totally designed and spec’d out from the outset. Especially when time to market is important.

Maybe this works at the individual feature scale, but at any reasonably large product, designing _everything_ from the outset would result in brittle design.



Andrew Ng isn't proposing anything more than starting with a product idea rather than a market definition. "I've got an idea for a product so let's build a prototype to test it" isn't waterfall.

His argument is pointlessly contrarian, too. He says his proposal is counter to design thinking, but design thinking would encourage you to build the exact same prototype he is proposing. As his own piece acknowledges, if you're at an early stage where you don't have any specific product ideas, design thinking could be a good starting point.

In practice, this is all the same core idea. The end result is better if you investigate real ideas rather than rely on abstractions and assumptions. Test your ideas with prototypes. Be ready to discover your favourite idea doesn't work and change direction.

I wonder if he's really arguing against something that is independent of the method chosen: handing your money and control over to teams whose incentives are to spend as much time as possible on consultative exercises.


The comment I was replying to has this quote in it

> he went beyond just advocating for concrete specs and explicitly challenged the traditional design-thinking approach, arguing that teams should pick a fully formed idea and run with it rather than spending too long on broad problem exploration and multiple potential solutions


> Not every product can be totally designed and spec’d out from the outset

I'd argue that no product can be spec'd 100% from the outset. Not even something like the regular Notepad.exe.

You'll always find some hidden complexity overlooked that results in the revision of the spec at the middle of development.

Embrace the change.


There is common misconception among engineers about agile.

Agile is for reducing bunch of implementation docs. Your heavily crafted implementation docs will be gabage since implementation can be changed easily. However, we still need to define requirements and specs so that we won't create things no one want.


> Your heavily crafted implementation docs will be gabage since implementation can be changed easily.

I've heard this before but I'm not convinced. I'm sure lots of product teams use Agile and still manage to have thorough, up to date docs. You just need to factor doc updates into your issues.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: