棒喝式读物
2012-07-04
掩卷深思,发人深省,这是一本好书。
如果你曾经参与过软件开发,不管是何种角色,也不管项目是失败还是成功,如果都曾引起你对软件开发本质的思索,那么,你便找到了一盏明灯。
书中历数开发过程的种种行为模式,处处透露着深刻的洞察力。因为,在我看来,软件开发实际上是对复杂性的管理,这是一种很多人都没有意识到的复杂。如果你认为只要有人(俗称码农),有着明确的需求分析,有着严格的流程管理,成功的软件就会像流水线上的产品一样被生产出来,那么你错了;如果你认为只要摒弃厚重的管理流程,高唱敏捷的口号,就可以实现持续集成、持续交付,最终带来成功的项目,其实,仅有这些还远远不够。
项目的失败,总让我们痛心疾首,毕竟我们也实实在在的付出过努力,而后呢?收拾好心情,去迎接下一个项目的失败。我们总感觉哪些地方出了问题,于是苦苦的思索,但却很难找出答案,或者仿佛找出了答案,却无法改变。毕竟一个项目所涉及的因素实在是太多了,外部环境、用户期望、需求分析、代码质量、人员构成、技术实力等等,那么如何从种种乱象中识别好的和不好的迹象,这需要的是经验、理性和洞察力,我称之为行业智慧。
书中所列出的种种模式,就如同一位智者在向你诉说,其方式不是娓娓道来,更像是醒世恒言和当头棒喝,对于深陷在开发迷途中的求道者来说,这种棒喝将使你受益匪浅。
因此,我推荐这本书。
以下是书中的一些摘录:
模式12:系统开发旅鼠周期
虽然组织流程很明显地需要进行定制,但项目团队依旧盲从于未定制的标准。
如果流程很少照顾到项目的实际需要,照搬流程也许能让项目早点开工,当却无法早点完工。
模式14:面对面
有明星组成的小型的、一地办公的团队,这才是构建软件的最佳方式。
模式15:我给你凿子,可你为什么不是米开朗琪罗
工具的成本不仅仅是工具的价格。(我:还有学习成本等等)
模式22:自然权利
权利往往会追逐能力,聚集在能力周围。
做决策的权利应该和能力相配。
模式31:节奏
时间周期必须是可被感知的。
没有人会期待完美,但是人们都期待交付。
无论艰巨任务还是日常事务,如果能够按照持续的节奏去做,它们都会变得易如反掌。
模式32:加班
加班通常看上去像是被工作热情和专业精神所驱动,但真正的驱动力却可能是出于恐惧。
模式36:苹果酒屋规则
当现实和规则格格不入时,现实才是王道。
模式67:十字槽螺丝帽
更新、更好并足以保证立刻能被接受,那得一段时间。
模式86:模板僵尸
当项目的对话集中于格式、布局、字体和编号系统上时,模板僵尸正蹒跚着从黑暗中冲你而来。