摘要: 本文讨论了敏捷开发和最小特性集的优势,包括持续客户反馈、快速迭代和减少浪费的代码。然而,随着时间的推移,如果开发者不谨慎,为了寻找早期客户而编写的代码可能会变得难以控制、难以维护且无法扩展,这与敏捷开发的理念背道而驰。文章以一个公司为例,说明了由于技术债务累积导致代码难以维护,公司管理层决定重写产品代码。作者认为这种做法可能会导致公司失去市场竞争力,并建议寻找更合理的解决方案,如重构现有代码或采用不同的工程方法。
讨论: 上述内容主要讨论了在软件开发过程中是否应该进行代码重写的议题。多位开发者分享了他们的经验和观点,认为是否重写代码取决于多种因素,包括项目阶段、代码质量、团队经验、产品成熟度等。一些开发者认为,在产品初期阶段,如果发现走错了路,重新开始可能更高效。然而,也有观点认为,完全重写代码是一项疯狂的行为,尤其是在产品已经成熟的情况下。文章中提到了一些著名的重写案例,如微软Word的“金字塔项目”和Netscape 6的失败,以及IE4的成功。此外,还讨论了如何处理遗留代码和如何评估重写的成本与收益。
原文标题:Startup Suicide – Rewriting the Code
原文链接:http://steveblank.com/2011/01/25/startup-suicide-–-rewriting-the-code/
讨论链接:https://news.ycombinator.com/item?id=2139028