极限编程读书笔记--基本实践解析之序言

极限编程读书笔记--基本实践解析之序言

 

从去年7月开始,我在Craig Larman的介绍下,从网上买了一本《敏捷迭代开发管理者指南》,学习其中关于各种敏捷迭代开发方法的介绍,其中就有极限编程。这本书只是简明扼要地介绍了它,并没有作详细、深入的分析。但已足够我给团队推荐几种重要的实践,包括对其价值观的介绍和解释。到目前为止,我们团队已经实施过的实践有“坐到一起”、“完整团队”、“富含信息的工作空间”、“充满活力的工作”、“结对编程”。我们首先实施这几个,是因为这几个比较容易实施,而且能立刻见到效果,最重要的原因是当时我们在重点实施scrum,想把scrum成功引入后再深入地实施XP(极限编程的简称)

到现在,经历了两次完整的scrum周期后,我们已基本掌握了其实施方法的各个细节。所以,我想该是引入XP的时候了,因为之前我们没有实施“测试驱动开发”等XP的核心实践,所以目前的情况就是根本连门都没有入。

要学明白,还是要读XP创始人写的书。于是我想在网上买一本,其书名为《解析极限编程——拥抱变化》。没想到当当网、卓越网 ChinaPubCSDN上都缺货。英文版缺货,中文翻译版也缺货。我非常失望。这些软件开发方法目前在国外已经有多家公司和组织在使用,已经被事实证明了其有效性和先进性,现在已经越来越流行。研究这些方法的人为了能让世人都能学到先进的方法,专门精心编写了多本书籍。而我们国家的各家出版社的工作做得也很好,他们取得许可在国内印刷英文原版。国内有一些好心的技术痴迷者也做出了很大贡献,他们组织人翻译并出版中文版。

不幸的是,出版的书并没有人购买。我所发现的一个原因是,软件开发的入门者都在学习编程语言、编程工具和各种编程技术,这是他们入门所必需的。所以这些种类的书很畅销。当入门者经过几年的奋斗后,他们的技术能力和经验上升到一定层次后,便转移了学习方向。他们中的一部分开始专门研究业务,所以不会学习软件开发过程方法。一部分专门研究开发技术,例如架构师这样的职位,也不会关注软件开发过程方法,他们只研究具体的技术。一部分开始做项目经理,他们并没有研究如何提高团队整体的开发效率、如何加快项目的开发进度,他们只知道一种办法:加班。但他们并不明确软件工程师一周工作80小时是否就一定比工作40小时所完成的工作量多。软件开发是脑力劳动,是富含技术的,和手工编织活不一样。加班这种办法,可以不用顾忌因强制加班导致团队成员产生疲劳甚至呆滞的大脑以及心理上的负面情绪,但表面上的进度可以让项目经理在领导面前很有光彩。但最后带来的是什么?上线后出现这样那样的问题,bug满天飞,项目经理迫使团队彻天彻夜地加班处理它们,用户的满意度降低,对企业的信任度降低,这就是落后的开发方法带来的好果子。

没有人学习国外的先进做法。只会用很多时间学习与上司、客户拉近关系,严重的团队高层勾心斗角,没有人能潜心研究和学习先进的方法。好的书籍摆放在那里,没人问津和购买。出版社的同志不能再印书了,印了没人买只能赔本。

后来我在淘宝上找到一个人给我复印了一本。到现在看完了一半,看完了作者对基本实践的讲解。作者提到只有当基本实践成功实施后才能实施扩展实践并取得成效。所以我想谨遵大师的教诲,先把基本实践掌握并成功实施后再说。下面我将简要概括各个基本实践的做法和思想,其中加了一些我自己的理解。欢迎各位同仁一起交流学习。

你可能感兴趣的:(编程,XP,敏捷开发,读书,出版)