大道至简 第六章

大道至简 第六章的主题是从编程到工程:很多编程的初学者往往只专注于变成本身 也就是语言 ,然而语言只是工具,有了语言,才有之后的程序,是“程序=算法 +结构”。这是编程的本源定义,也是原始的状态。与代 码相关的任何工作,最终仍旧会落足于这样的一条规则。 编程的精义于此。从有开发行为开始,它就存在了。 愚公在数千年前就在用类同的行为做编程实践,而几十万 年前智人,也在循环与分支所构成的逻辑中打转。
再然后有了程序,方法也就出来了,推动这种逻辑向前发展的,是“方法”和“方法论” 的出现。长期的编程实践,自然的归演与总结,必须沉淀 为某种(软件开发)方法,于是“过程”出现了,于是“对 象”出现了,于是相关的方法论也就出现了。在之后就是工程,过程伴生工程而出现。过程解决的是工程中角色间的 关系问题。 过程说的是很多的人(团队)如何组织在一起进行开发的问题。它首先把工程中的环节分解出来。这样,有了 环节,就有了角色;有了角色,就有了沟通。 因此过程中的问题,就是角色、沟通和环节的问题。最狭义的工程,是描述“做什么”和“做到什么”。 也就是说,是对目标的描述和成果的检测。至于这个 工程目标的实现,是“过程”和“方法”的事;而有效、 快速地实现“过程”和“方法”所需的,就是“工具”。团队必将越来越庞大,因为(与工程对应的)软件规模 必将越来越复杂。没有团队意识的软件公司将在高度过程 化、通晓方法理论、拥有大量工具的集团军面前必将一 触即溃。即使你做好这一切,可能项目的结果仍然不够理想。 但是你应该知道,好的项目经理并不是不犯错误的人,而 是以尽可能少的失败来获得成功的那个人。 无论是你的团队成员,还是你的老板,对重复的错误 以及可预料的错误都是不会宽容的。——在一个团队中, 失去了组员的信任比失去老板的信任更为可怕。 所以回顾每一个项目,或者项目中的每一个阶段,以 及与每一个团队成员交流的细节,是你的日常工作。 

原文地址:https://www.cnblogs.com/wanghao369/p/4951097.html