Hacker News new | ask | show | jobs
by winston_smith 1990 days ago
The key is correctly assessing what part of the life cycle you're in.

If you're building a bridge for millions of cars to drive on, that's something we've done many times and which needs to be done correctly and carefully, so you should definitely pay attention to all the carefully collected wisdom embodied in standards.

If you're inventing clever new algorithms, then you should experiment as efficiently as possible, because 99% of what you try will be thrown away. Carefully planned waterfall style development will actively hurt you at this stage, because you have no idea where you're going yet. If you find something promising and want to scale it, then you slow down a little and check your work. This continues as you scale, and by the time your billion dollar business depends on your clever algorithm, the update process for your production version should look a lot more like the bridge building process.