《人月神话》阅读笔记02

在项目完成过程中,一定要准确书写项目工作手册,这便利于日后的管理和维护,若工作人员对硬件或软件的某一部分存在疑问,通过查看工作手册,即可快速解决问题。在讲到工程项目中的管理问题时,文中提到三点建议,第一,小型项目中产品负责人和技术主管最好是同一人;第二,产品负责人作为总指挥,技术主管充当左右手的管理方法,这种方法有一定困难,因为技术主管很难在没有参与管理工作的同时,建立技术决策上的权威;第三,让技术主管作为权威,产品负责人作为左右手的管理方法,这种安排是对小型团队的最好选择。

对于工程的工期不能简单以短期完成效率进行推广,需要考虑病假、会议、公司业务等影响因素。当然,若需要准确的预计工期,还应在不断地实验中总结得到。这期间还需要合理的规模控制,对项目经理而言,规模控制即使技术工作的一部分,也是个管理工作的一部分。他必须要研究用户和他们的应用,已设置将开发系统的规模。并且,仅对核心程序设定规模目标还远远不够,需要把所有方面都编入预算。在为每个单元设立核心规模的同时,我们没有同时设置访问的目标。当程序员发现自己的单元核心未能达到要求时,他会把它分解成链接库。这个过程本身增加了程序整体的规模,并降低了运行速度。

在大型项目中,若出现每个人都在局部优化自己的程序,很少有人会停下来,考虑一下对客户的整体影响,这将导向和缺乏沟通将成为最大的危险。因此,在整个实现的过程期间,系统结构师必须保持持续的警觉,确保连贯的系统完整性。在这种监督机制之外,是实现人员自身的态度问题。培养开发人员从系统整体出发、面向用户的态度是软件编程管理人员最重要的职能。

项目经理可以做两件事来帮助他的团队取得良好的空间-时间折衷。一是确保他们在编程技能上得到培训,而不仅仅是依赖他们自己掌握的知识和先前的经验。特别是使用新语 言或者新机器时,培训显得尤其重要。熟练使用往往需要快速的学习和经验的广泛共享,也许它应该伴随特别的新技术奖励或者表扬。另外一种方法是认识到编程需要技术积累,需要开发很多公共单元构件。每个项目要有能用于队列、搜索和排序的例程或者宏库。对于每项功能,库至少应该有两个程序实现:运行速度较快和短小精炼的。上述的公共库开发是一件重要的实现工作,它可以与系统设计工作并行进行。

报价、预测、价格三因素互相牵制,决定了项目的成败。为了进行市场预测,首先需要制订产品性能说明和确定假设的价格。从市场预测得出的数值,连同从设计得出的组件单元的数量,决定了生产的估计成本,进而可以得到每个单元的开发工作量和固定的成本。固定成本又决定了价格。如果价格低于假设值,令人欣慰的循环开始了。预测值较高,单元成本较低,因此价格能够继续降低。如果价格高于预测值,灾难性的循环开始了,所有的人必须努力奋斗来打破这个循环。新应用程序必须提高性能和支持更高的市场预测。成本必须降低,以产出更低的报价。这个循环的压力常常是激励市场人员和工程师工作的最佳动力。

 

posted @ 2018-02-15 16:25  Someday&Li  阅读(136)  评论(0编辑  收藏  举报