寻找你的“最佳模式”


 2014-11-18 02:15:01       753

摘要:软件行业自诞生起,人们对软件开发中技术、流程、工具和实践的探索就从未停止过。回顾历史,我们如何在这些潮流中真正探索到最适合自己的开发模式?

 

《软件之道:软件开发争议问题剖析(Making Software: What Really Works, and Why We Believe It)》

作者: Andy Oram / Greg Wilson

译者: 鲍央舟 / 张玳 / 沈欢星

出版社: 人民邮电出版社

出版年: 2012-2-29

页数: 438

定价: 14.80元

装帧: 平装

ISBN: 9787115270443

区别于成熟的建筑行业,诞生不过几十年的软件行业因为它的年轻,所以至今未能得到一套经得起沉淀的方法论出现。一个个新理念像一阵阵潮流般,在支持声中诞生,在反对和质疑声中被下一个潮流所淹没。所以我们能看到20年前的OO,12年前的UML,10年前的CMMI,昨天的Scrum,今天的看板,那么,明天的热点又会是什么?

而正因为软件行业的年轻,所以我们更能在这里看到百家争鸣的现象,那些我们所熟知的技术、流程、工具、实践,因为使用者的不同,而发挥出了令人意想不到的作用,就像同样的食材,在不同的厨师手中能变成绝不相同的美味一般。

因此,与那些观点类的,有着明确结论的书籍不同,本书是一本文集,作者是45位来自不同企业的软件工程领域顶尖研究人员,他们用各自的经历展现给了读者多样的选择:有人说在开发之前要尽可能全面地做架构设计,也有人说随着敏捷开发的浪潮,我们更鼓励边开发边设计,而不是提前把架构设计好;有人说测试驱动开发会有效地提升质量,也有人说测试驱动开发的性价比太低;

而当软件工程细化到人的时候,被证实得最多的结论就是对于同等经验的两个不同程序员,在效率和质量上可能会有10倍的差距,研究人员还发现,这种差距也适用于团队级别上,也就是说,在同一行业内的不同的团队也是如此。

但也有人说这样的程序员根本没办法找到,因为那些牛哄哄的超级程序员其实也只是普通水平的一般程序员而已,他们只是用牛哄哄的外表让自己的表现看上去不那么差。相反,很好的团队精神反而会更加重要。

软件设计是一件非确定性的事情,对同样的问题,不同的设计师会做出完全不同的解决方案,真正有着“10倍”生产力的程序员,并不是用10倍的代码来解决同样的问题,而是利用一个绝妙的设计想法,只用10%的代码就解决了普通程序员需要100%的代码才能解决的问题。

所以归根到底,本书要告诉我们的,是每个人都需要从自己的实际角度出发,判断证据的可信度和适用度。因为软件开发的复杂性决定了,对别人适用的证据并不一定对你适用。

“作为一个软件工程师,每个人都不应该放弃判断现有证据的资格和能力。分析现有证据中的数据,并结合自己的实际情况做出相应的判断,这是每个专业工作者的责任。盲目地跟风或者盲目地批判都不是专业的表现。”

相关阅读: