zoukankan      html  css  js  c++  java
  • 人月神话阅读笔记03

    人月神话阅读笔记03

    史前史中,没有别的场景比巨兽门在焦油坑中垂死挣扎的场面更令人震撼。上帝见证着恐龙、猛犸象、剑齿虎在焦油中挣扎。它们挣扎得越猛烈,焦油纠缠得就越紧,没有哪种猛兽足够强壮或具有足够的技巧,能够挣脱束缚,它们最后都沉到了坑底。------《人月神话》

     在软件开发项目中,似乎也像是这样,每个问题单个看起来都可以得到完美的解决,但是当这些问题纠缠在一起的时候,就会变得像焦油坑一样,让人停滞不前。 那么,为什么我们还要热衷于开发软件项目?最重要的是创造事物的成就感,把一个东西从无变有,这会让我们对自己增加自信,这是我们一直喜欢这个领域的内在源泉。第二,我们快乐于开发对其他人有帮助的东西,我们总希望用自己的能力帮助到其他人,而软件开发可以让人们的行为变得方便。第三,我们能够把自己想象的东西以可视化的方式展现出来,这满足了我们内心对创造事物的渴望。但是软件项目也会让人很头疼,机器是死的,它只会按照既定的规则行事,不容任何情面,这就导致我们也要一丝不苟,当你犯了一丝错的时候,你就会得到一个错误的结果,最让人觉得枯燥的是一遍又一遍的检查程序的bug。然而万事万物都有代价。当你能够得到快乐的时候必然是需要付出一些东西。

     在软件开发中,人月是个工作量的单位,在大多数人的眼中,增加人,那么月数就会减少。确实,在某些繁重的体力劳动中,人数越多,意味着完工时间越短。可是,软件开发是个脑力劳动,而且软件开发是连续性的、交互性的,每个阶段、每个部分都是要沟通、要交互的。人数越多,意味着沟通的过程是原来的很多倍,这会导致项目延期,协调是个大问题。这时候就有人说,我只需要一个小型团队,里面的都是精英人才,这样就行了。这样真的可以吗?也许开发小型的项目是可以的,但是对于开发像系统那样的大型项目,即使你1个人能顶7个人,那么也需要至少10年的时间才能够开发出来。一个产品在提出来之后10年才真正上市,这还不算维护,在现在这种信息快速发展的时代,这款产品还有人要吗?是不是过时了呢?

     《人月神话》中提到了外科手术团队,即一个团队拥有一名外科医生(首席程序员),一名副手(能完成一部分工作,但经验少),一个管理员(boss),一个编辑(负责对文档进行分析和重新组织并提供信息),两个文秘(管理员和编辑各一个),程序职员,工具维护人员,测试人员,语言专家(寻求一种简洁的语言来解决复杂的问题)。这就是10人的一个团队。如果要完成更大的项目,那么就需要扩建,扩建成功依赖这样一个事实。决定设计的人员是原来的1/7甚至更少。据书本所说,在实际操作中,这样的分工具有非常高的效率。

  • 相关阅读:
    vue.js
    kendo ui DatePicker 时区转换
    List Except 失效 差集失效
    RabbitMQ的安装
    net core 使用 Redis
    SQLSERVER学习八:事务和锁
    SQLSERVER学习七:存储过程
    SQLSERVER学习六:函数
    SQLSERVER学习五:流程控制语句
    SQLSERVER学习四:常用检索语句
  • 原文地址:https://www.cnblogs.com/2940500426yingxin/p/13095043.html
Copyright © 2011-2022 走看看