01人月神话读后感1
岸上的船儿如同海上的灯塔,无法移动。过去的大型系统开发就如一个焦油坑,很多强壮的动物在里面剧烈的挣扎,大多数开发出了可运行的系统,但只有少数能满足目标、进度和预算的要求。程序本身是一个普通的产品,但是,经过两种途径可以让程序变为更有用的(但是成本更高):编程系统,编程产品,这样便形成了编程系统产品,是真正有用的产品,是开发目标。作者首先介绍了变成系统产品的演进,指出程序、编程系统、编程产品、编程系统产品几个概念间的区别,其中只有编程系统产品才是真正可用的面向用户的产物。然后作者分别介绍了编程的乐趣和苦恼职业是快乐的,同时也是充满苦恼的。
一个软件项目,最重要的是合适的进度安排:估算技术、缺乏信心、缺少跟踪和监督、火上浇油,常常我们会因为这些导致灾难。简单地保持乐观主义会使得我们进度安排出现偏差,很难进行顺利。简单地使用人月单位来估计和进度安排,这是受多方面影响的。系统测试也是极为重要,同时,空泛的估算也轻易地引发问题。进度灾难也时有发生,项目进度落后,只能加速,增派人手,但是结果往往不容乐观,只会让进度更落后。人员和时间的关系并非总是反比的关系,如果任务属于可以完全分解的理想状态话,是可能达到人员越多时间越少的反比效果的,但是,任务越复杂也就越难以分解,那任务中的沟通需求就会占用更多的时间,甚至可能导致人员越多,项目所需的时间越长。向进度落后的项目中增加人手,只会使进度更加落后,这也被成为 Brooks 法则。
收获:
编程系统和编程产品的演变是软件开发的必然,只有将程序转变为编程系统产品才能真正满足用户需求。
编程这一职业既充满了快乐,也有苦恼,在日常开发中,我们需要学会面对这些苦恼,并保持乐观心态。
合适的进度安排和估算技术、跟踪和监督在软件项目的开发中至关重要,空泛的估算和缺乏跟踪和监督容易引发进度灾难。
人员和时间的关系并不总是线性的反比关系,任务越复杂,人员越多可能反而会导致所需时间更长,因为沟通和协作的需求也会随之增加。
向进度落后的项目增加人手并不能解决进度问题,往往会起到相反的作用。我们应该遵循 Brooks 法则,尽量避免在项目进度落后时增加人手。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!