现实中的软件工程
1、把握力量总之比创造力量来得经济。
2、敌人的敌人就是自己的朋友,聪明的战略家总是能看到这一点。
3、软件业界如今的局面,不是一些人(例如程序员或者评论家们)争争吵吵的结果,而是大公司们相互制衡的结果。
4、大公司们在标准、理论、语言上的争来夺去,未必全然出于“软件实现”的考虑。对统一理论、统一工具、统一过程的企图,其最终目的是在整个软件工程体系中的全面胜出。
5、除了软件本质力量的推动之外,商业因素也推动着软件工程体系的发展。
6、从角色的角度上来说:开发经理思考项目的实施方案和管理具体的开发行为;而项目经理则保障团队的稳定性和一致性。
7、理想状况下,“软件工程=过程+方法+工具”。然而工程成功的真正关键,并不在于你把你的团队“组织”得有多好。即使在团队中他们都显示有条不紊,你一样会面临失败。
8、评价这个方法的好坏的标准只有一个:节约成本。
9、教训:
?? 不计成本的项目计划不会得到经营者的支持;
?? 毫无目的地消耗成本是项目中的慢性毒药;
?? 最致命的风险是成本的枯竭。
10、在工程中,“以什么驱动开发”其实是一个过程问题。而你应该明白,过程的选择(或制定)取决于你的工程需要,以及它在相关应用领域的适用性、过程工具的充备性和这个过程理论的完善程度,而不是大公司们的鼓吹。
是思考还是思想
11、思考问题的方法可以是由点及面的,也可以是统揽全局的。换成业界最常用的词汇,就是“自上而下”还是“自下而上”的区别。
12、工程的整体问题仍旧是“实现”。
13、项目经理这个中间角色就有了一种使命:协调经营者与开发者之间的沟通。
14、角色的关注层面完全不同。
15、如何更快的完成项目,并减少资源占用,以及实现更多的功能。然而,即使平衡了这种关系,项目的结果仍可能产生一个天生的残障。
16、如果原定的目标(的整体)本身就过大,那么无论如何平衡这三者之间的关系,其结果仍旧是保障不了质量。
17、别管它是细节还是枝节,只要你感到你的脚趾已经沾上了泥淖,就快点回头。用脚趾去感觉,有时比用头脑去思维来得有效。
18、“道”是规律,如果明“道”,而可以变化无穷,这样做软件工程才是活的。
19、如同今人难于填词一样,不明道,则不明智,不明智则无所以为,因而在软件工程实施中不可避免的盲目与停滞。
20、大多数人不知究竟地使用着技巧和方法,而一旦出了问题,则归究于这些技巧和方法的不好。而真正的问题在于,这些人(我们通常叫做Copy&Paster)并不知道这些技巧、技术和方法的原理,因而不知道变通,也不知道回避错误。