第七章——现实中的软件工程
在软件工程方面,有很多大公司,例如:IBM、微软等,他们都有着自己的小算盘,为自己的利益着想,都在于软件工程相关的领域里占取霸主地位,霸主地位只有一个,现在是微软公司。微软共涉及到软件工程领域的方方面面,从硬件到软件,从框架到方法等等。虽然大公司都在角逐着霸主地位,相互碾压与学习,但这并不会对软件工程有什么坏处,想反,这样认为低刺激了软件工程的发展。
项目经理不能沉浸于细节问题,这并不是项目经理应该管的事,项目经理应该注重的是团队的稳定性和一致性以及项目开发的成本问题,不计成本的项目计划是不会得到经营者的支持,毫无目的地消耗成本是项目中的慢性毒药,最知名的风险是成本枯竭。
在工程中,“以什么驱动开发”其实是一个过程问题。而你应该明白,过程的选择(或制定)取决于你的工程需求,以及他在相关领域的适用性、过程工具的充备性和这个过程体系的完善程度,而不是大公司们的鼓吹。
工程最核心的环节:编程=算法+结构+方法。
第八章——是思考还是思想
工程的整体问题仍旧是“实现”。
RUP(统一软件开发过程)是前人在软件过程思想方面高度包容,里面包含各种东西,但并不是每一样都是有用的,因此,项目经理要有意识,注意到那些东西对团队有积极的影响,并不一定是对技术有好的影响,对团队的精神有帮助也一样。在编写UML时,一定要做好文本档案,对自己列出的图案等作出充足的解释。
在开发项目时,总会在实现目标与质量之间出现的矛盾,开发的项目并不完全符合客户的要求,这是大家就会把错误推来推去,而推到最后只会是某个人或某个团体埋怨。但即使是在项目一开始做项目规划目标时,在时间、资源和功能三者中得到平衡,并且客户。项目组和公司同样满意这个平衡“目标”,也有可能不能实现“目标”。
软件工程是灵活的,需要你适时地忽略枝节。