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

科技回声

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

GitHubTwitter

首页

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

资源链接

HackerNews API原版 HackerNewsNext.js

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

Startup Technical Debt

45 点作者 mattrepl超过 14 年前

3 条评论

kaib超过 14 年前
This is an interesting article but even more interesting is the series of articles that the author links to. I've been involved in several high profile products with different locations on the too much or too little debt axis. It always felt like economics could bring a more level headed viewpoint to the discussion instead of just relying on cargo cult mantras. I've skimmed and read the articles and they look like a good intro to the discussion.<p>As an example, I've found that most successful project have an extremely uneven distribution of debt with most of the code being glued together with bubblegum but a few critical regions having the polish of a high quality gem. Problematic projects tend to have an even quality with all parts having an equal level of 'cleanliness'. This article has some good discussion on why maintaining a similar level of quality across the system might not be a good idea: <a href="http://www.alphaitjournal.com/2009/06/cross-discovering-assets-and-valuing.html" rel="nofollow">http://www.alphaitjournal.com/2009/06/cross-discovering-asse...</a>
gigantor超过 14 年前
Technical Debt at a startup will be always be present at a large scale as long as your main mission statement is getting to market as soon as possible. Their first question is 'does the market want this' instead of 'will it scale when it reaches mass numbers'?<p>I always consider Facebook as a prime example. The first version may very possibly have been something hacked together in PHP, with the intent of releasing something asap that had a good chance of flourishing. Now that it has flourished, and the proof of concept is validated (with VC money), you can afford engineers who will rewrite the system the way it was meant to be, complete with a PHP compilers and custom flat file databases. The risk paid off.<p>Digg's technical debt served them well too. They got into the market fast, and the performance issues of the previous site wasn't nearly as big as a factor as the business domain problems they introduced. Submitters didn't mind the occasional 'invalid token' error messages nearly as much as the revolt caused by the publish of a certain encryption code.<p>Joel says don't rewrite from scratch. We talk about big design up front, when the design doesn't even appeal to the market. But when your product has reached a critical mass, and you have an army of talented engineers salivating to rewrite the system, all that debt is forgiven when the system is redesigned from scratch.
评论 #1713668 未加载
astrofinch超过 14 年前
In my opinion, having a reasonably clean <i>architecture</i> is all that matters.<p>Not that bad: the implementation of an individual function is counterintuitive and undocumented--as long as an intuitive implementation of the function would interface with the rest of your software just the same way.<p>Actually pretty bad: the function has side effects that would be better off somewhere else. If this is the case, fixing this function is likely to break something, which may break something else, and so-on.<p>The ideal case is one where even though your code base is messy, you can easily see how you could achieve a clean code base through a series of short, discrete steps, where each step begins and ends with working code.<p>Kind of like how if you've got a string attached to something at the entrance of a cave, it doesn't matter much how deep in to the cave you get--all you have to do is follow your string back.<p>Of course I'm just a 19-year-old kid. Someone who's worked on a large software project should tell me if they like my theory or not.
评论 #1714737 未加载
评论 #1715089 未加载