zoukankan      html  css  js  c++  java
  • 人月神话读书笔记(一)

    在人月神话里有句话,令我颇有感悟:“向进度落后的项目中增加人手,只会使进度更加落后。”

    用人月这一观念来衡量项目进度带有欺骗性。因为他使得项目看上去好像人力和时间是可交换的。如果时间不够,那么增加人手就可以加快进度。

    这个衡量的方式严重的忽略了新增加的人手的培训时间以及队员之间的互相沟通等因素。比如我生活中遇到的一个例子:在编写c++代码的时候遇到了错误,于是你找来了一帮人来帮你解决问题,他们出了多种解决方法,而你听取了他们的意见,可能奏效也可能不奏效,最终虽然增加了些许人手,但你并也为此付出了许多的时间去和每个人说出你的的编程思路,这样反而大大折扣!你可以找一个人对他仔细的说明思路,然后由他一个人去给你讲解,这样就一种思路便理解的很快,而且时间也不会造成太大的浪费。

    一直在寻找的完美队伍:外科手术队伍

    在团队协作开发中,我相信每个人都会想与大牛组队,但是必竟大牛是稀少的,这样的大牛们组成的小队那就是精英小队,我相信他们在解决一些小型项目上的开发速度与质量绝对是一般的小队开发效率的10倍不止;然而当面对大型项目开发时,这样的小而美的小队就有些力不从心了,因此这时外科手术团队的方式就值得借鉴。书中的对应是一名首席程序员相当于外科医生,一个经验相对较少的人员充当副手,一个管理员负责行政事务的决策,一个编辑用于生成文档,两个文秘使得文件与项目协作一致,一个程序职员用于维护技术记录,一个工具维护人员,一个测试人员,以及一个语言专家。这样的开发团队人员平等但是各司其职,保证了团队的有序运行。对于大型的项目,就需要在人员安排上使用分解的思路,由架构师负责整体设计,系统实现则由各个小团队协作完成。这样项目就可以分解成若干块,每块都有专门的负责人,可以很快的对应上,在沟通与交流方面更加快捷,便利。

  • 相关阅读:
    [LeetCode] 19. Remove Nth Node From End of List 移除链表倒数第N个节点
    [LeetCode] 27. Remove Element 移除元素
    [LeetCode] 240. Search a 2D Matrix II 搜索一个二维矩阵 II
    [LeetCode] 74. Search a 2D Matrix 搜索一个二维矩阵
    [LeetCode] 452. Minimum Number of Arrows to Burst Balloons 最少箭数爆气球
    [LeetCode] 312. Burst Balloons 爆气球
    [LeetCode] 257. Binary Tree Paths 二叉树路径
    [LeetCode] 24. Swap Nodes in Pairs 成对交换节点
    [LeetCode] 680. Valid Palindrome II 验证回文字符串 II
    [LeetCode] 234. Palindrome Linked List 回文链表
  • 原文地址:https://www.cnblogs.com/xiaofengzai/p/12535525.html
Copyright © 2011-2022 走看看