TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Ask HN: When did you realize the importance of iterative development?

6 点作者 ogoparootbbo大约 3 年前
I've been in the engineering industry for more than 10 years. I am baffled by how many people there are who don't understand the importance of iterative development but would rather some version of getting the perfect plan out. I have to ask, when in your career did you realize the importance of iterative development

1 comment

Jtsummers大约 3 年前
In high school with my first attempt at a significant project (a data analysis tool for a high school science fair, significant for me at the time but probably only about 10-20k SLOC of C++). I ran into a hitch in my design and had to scrap it a couple times, eventually arrived at bottom-up development (a term I didn&#x27;t know yet). Relearned in college in my 3rd CS course (GT, CS 2130) when I had a grand design for my compiler and realized that it was a clusterfuck. Scrapped it, hand wrote a bunch of code over a day or so, and started coding with more regular testing (not quite TDD, but definitely in that vein) and significant edits (rather than commitments) to the plan.<p>Then every major project I&#x27;ve worked on as a professional. Iterative (or processes incorporating regular V&amp;V feedback loops) projects have almost all been successes. Almost always on time, on budget; if they were delayed it was almost always an external factor (hardware unavailable, hardware was available but wrong, requirements changed mid-project). The BDUF with minimal feedback loops have almost all been late if they were of any significant size, sometimes with <i>significant</i> multi-year, multi-million (approaching billion) dollar overruns.<p>The main thing I&#x27;ve learned, plans are not commitments. They are useful and maybe even essential, but you <i>must</i> incorporate real-world results into the process and update the plans (potentially totally scrapping them) as you gain insights. Iterative development is just an acknowledgement of this.<p>On smaller projects, you can possibly create the perfect plan. In a domain you know well you may succeed with somewhat larger projects. But <i>major</i> projects rarely succeed by starting from a perfect plan and committing, because the plan will almost never be perfect. More likely, they succeed <i>despite</i> that &quot;perfect&quot; plan because unofficial feedback loops develop, even if they&#x27;re not officially acknowledged in any discussions or write-ups about the effort.
评论 #31252451 未加载