如何在不摧毁创造力和概念完整性的前提下,把一个人脑中的设计,转变为许多人可以共同建造、验证、使用、维护并承担责任的系统。
代码更多,可能增加集成负担;
生成更快,可能增加设计漂移;
局部实现更容易,可能掩盖需求矛盾;
更多人都能生成代码,可能产生更多概念中心;
文档可以自动生成,但不一定代表真实决策;
测试可以自动生成,但测试预言本身仍需要判断。
从“做出一个能运行的程序”到“形成一个组织可以信赖的系统”,两端之间的距离可能反而更大。
有些所谓的软件复杂性,其实是组织本身混乱、规则矛盾和责任模糊的投影。
实现功能,只是工程成本的很小一部分;真正昂贵的是把个人成果变成组织能够承担责任的产品。
工期 = 不可并行路径 + 协调成本 + 学习成本 + 返工成本
管理者可以购买更多劳动,但不能购买已经失去的过去时间。