第四章 优质管理的四大要素 1.选择正确的人 (人力资源管理) 2.为他们分配正确的工作 (计划,WBS,估算,时间管理) 3.保持他们的积极性 (人力资源管理和沟通管理) 4.帮助团队凝聚起来并保持团队的凝聚力 (人力资源管理和沟通管理) 软件开发项目以人为本,人是软件项目管理第一要素。如何选择到合适的开发成员,激发他们和整个团队的热情是项目成功的重要保障。项目不是需要全牛的人,是需要胜任的成员,能够人尽其用的成员,成员的积极主动心态,热情,责任感和团队归属感更为重要。 第二点强调项目中尽量每个人都能够发挥自己的专长,让正确的人的做正确的事情需要考虑个人特点,资源分配约束,项目沟通等多方面的努力。 第五章 负面效应 1.威胁和高负荷工作不是提高业绩的方法 2.如果一开始分配的时间就不够,不管威胁有多么吓人,任务也无法完成。 3.更糟糕的是你要兑现你的威胁而影响团队 一开始要做好估算和计划的安排并考虑留适当的余量。项目应该保持一定的紧迫感和压力。但持续的紧张和压力会给项目带来噩运。 项目管理中应该强调执行力,项目中的奖惩应该分明,但不是通过威胁手段。 第八章 风险管理 1.管理项目的过程就是控制风险的过程。 2.你如果没有识别出风险的根源,那你也无法给出具体有针对性的应对措施。 3.评估每个风险发生的概率,严重性和可能的开销。 4.为每个项目维护一个风险跟踪和统计表。 5.你不是不想控制风险,而是你无法通过早期的征兆去识别出风险。 第九章 马可夫准将 1.找一个已经成型的团队而不是自己去凝聚一个团队。(要形成一个有很强战斗力的团队绝非一朝一夕的事情) 2.控制住失败往往比优化成功更重要 (风险管理,问题处理机制,沟通和协调) 3.项目一开始浪费一天和项目结束浪费一天对项目伤害是相同的。(危机意识)
第十章 开发过程建模 1.对你完成工作过程的直觉进行建模 2.在与同事的交流中使用这些模型 3.用模型来模拟项目的运行结果 4.根据项目的实际结果来调整模型 资源和进度不能完全互换,人月神话一书有明确的描述。20人一年的项目进度压缩到半年时候究竟要增加多少人员,或者说增加再多的人员都无法压缩到1年,往往我们更多的是主观上的推测和判断,而没有通过适当的模型去模拟和验证我们的想法。如果我们无法给出明确的分析证据,很难去说服我们的用户和领导,去争取相应的时间和资源。在这种增加资源压缩工期的软件项目中我们需要重点考虑的问题有: A.人员增加后沟通成本的增加,5个人沟通路径是10,10个人沟通路径是45,而20个人的沟通路径是190.这显然已经不是线性关系。 B.项目生命周期模型的选择和关键路径:前期需求没有搞清楚之前投入再多的人力资源都没有意义。如果需要就要做3个月,那半年完成项目基本就属于不可能的任务了。 C.由于存在B因素项目各阶段不可避免存在闲置人力资源,很难充分利用。 第十二章 项目度量 1.项目运行过程中要注意度量数据的收集 2.项目结束的时候要进行复盘,要对收集的数据进行分析&整理,形成项目历史经验数据库。 3.要形成项目自己的度量方程式,并根据各版本的输出历史数据对公式进行验证&调整。最终为下个项目或版本提供参考。 4.要剔除项目中的异常数据,保证收集的度量数据的准确性。 第十五章 压力效果 1.压力之下的人无法跟快速的思考问题 2.增加加班时间只会降低生产力 3.短期的压力乃至于加班是有用的策略,因为这能够使员工集中精力并感觉到工作的重要性。但是长期的压力肯定是错误的。 4.使用压力&加班的真正原因是为了在项目失败的时候让所有人看上去能好一点。 第十九章 人员安排 1.早期的人员超编会使项目过早进入设计阶段 2.设计完成之前进入开发会使人&人之间,工作组之间接口复杂化。 3.项目理想情况使早期由核心小团队进行需求&设计,后期投入大量人手 我们考虑下一个规模在60-100个用例的项目,实际的工作量在150人周。项目在一开始就投入到15个人花10周时间完成。而往往更合理的方法是前6周只保留2个需求人员和4个设计人员进行工作。在6周以后投入16个编码人员进行编码,2个需求人员退出。这样的工作量为116人周。这样的效果是肯定比第一种资源分配好的。 |