第七章开头引用了《战国策》里秦策的一句话:王不如远交而近攻,得寸,则王之寸;得尺,亦王之尺也。这句话的意思是:大王不如采取和远方结交而攻打近处,这样的话,得到的每一寸每一尺土地,都将是属于大王的。大公司手中的算盘,软件行业从未风平浪静,即使安静,也是暗地里的血雨腥风。大公司们经常在标准、理论、语言上争来争去,这并不全部是考虑到软件的实现。要知道统一理论、工具、过程的最终目的,都是为了能够在整个软件工程体系中全面完胜!
评论方法好坏的唯一标准就是:节约成本。作者提出观点:“不计成本的项目计划不会得到经营者的支持,毫无目的地消耗成本是项目中的慢性毒药,最致命的风险是成本的枯竭。”而所说的成本包括时间、人类、资金和客户成本。但是我们经常会忽略客户的数量和耐心,也就是不把它们当成成本进行计算。
AOP 不是语言。 AOP 首先是方法论,这就象 OOP 是“面向对象的编程方法”是方法论一样。而 Delphi/ C++才是语言,是对这个方法论的一个实现工具。学习任何一种新的编程方法,你需要做的仅仅是回到工程最核心的环节:程序= 算法+结构+方法。
第八章中引用此郎亦管中窥豹,时见一斑。”意思是,这个少年也可以通过看小事情来了解整个事件的情况。撇开实现的技术细节,在软件工程中,“以什么驱动开发”是过程的问题。工程的需要、它在相关应用领域的适用性、过程工具的充备性和这个过程理论的完善程度才能决定过程的选择和制定,而不是取决于大公司的鼓吹炒作。但是目前的软件业界局面都是大公司们相互制约的结果。
作者提出“敏捷”一词想表达的是对人主观能动性、创造力的尊重,也是对工程目标的尊重。而“传统工程”代表的是规范和规模化。无论多么地敏捷,如果方法不能运用在团队化的工程中,那么敏捷就失去了工程的价值。所以,敏捷的前提是:团队认可敏捷的价值并且遵循敏捷的价值观和基本原则。由此看来,敏捷所体现的核心想法是以实现、事实、实践为主要手段、体现人本位主要内涵的行为准则。极限实质上是使团队遵循这些“行为准则”的一些“形式化方法”,在对一些工程要素的权衡上,极限给出了建议和实践成果。
作为一个合格的项目经理、工程决策者,必须做到的是,透彻了解各种工程方法的应用环境和代价、明白团队的实力,找到团队的长处和短处在哪。实现目标和保证质量的矛盾。客户和开发团队出现了矛盾问题很可能就源自于源头,目标错误。目标和质量有时不能真正的达到统一。
最后一小节,灵活的软件工程。古人写古诗词是讲究变化的,和我们现代人所感觉不同,为了音律,诗词变得非常灵活,能通顺,能品味,风格古雅就是最好的了。软件工程也是这样,不应该循规蹈矩,软件工程是活的,是有无穷变化的,今人不明此道,所以无法填出好词。还要知道原理,唯有知其理,方可明其道。故曰:大道至简。项目经理如果可以把“我们要有什么方法,向着什么目标前进”这一件事情说明白,那么工程相当于成功了一半。