提高软件开发生产力的秘方

豆豆网   技术应用频道   2008年01月22日  【字号: 收藏本文

内容摘要:在所有的软件开发项目中,存在一种共通的东西,需要经常地花时间反省和学习。学什么?一切:成员彼此、技术、问题域、客户,等等。学得快的团队才会成为赢家。本文将详细分析这种困扰团队表现的看不见的“学习瓶颈”。

  专业训练者和导师们一再发现:许多敏捷团队囿于同一种模式的困扰——在平庸的“照本宣科(Norming)”阶段一直徘徊,团队的成长始终没法进步到令人兴奋的“大放光彩(Performing)”的阶段[1]。我们请读者来一起思考一下,在所有的软件开发项目中,是不是存在一种共通的东西,当我们能够将之发挥到最大程度时,可以令生产力暴增。实际上,我们相信大多数成功团队(无论敏捷还是传统的),都曾经利用过这种看上去简单但常常被忽略的软件开发的“秘方”:经常地花时间反省和学习。学什么?一切:成员彼此、技术、问题域、客户,等等。学得快的团队才会成为赢家。本文将详细分析这种困扰团队表现的看不见的“学习瓶颈”。

  一项假想的实验

  我们要做些什么才能让软件开发变得更好?什么是软件开发中通常的瓶颈所在?这里面有什么共通性吗?

  今天的环境已经不允许我们实际去进行实验。要进行一次真正的实验你需要把同一个项目完成两次。不幸的是,这对今天的商业环境来说,成本太高以致不可能进行。因此,要想进行真正的实验来确切地找到共通的弱点是不现实的。

  不过,我们都是实践过软件开发的人。那就让我们来展示一个假想的情形吧:

  假设我是你的客户,我想让你和你的团队给我开发一个软件系统。于是你的团队动手实现这个软件系统。一共花了一整年时间——12个月——来完成这个运作正常的、通过测试的系统。

  于是我向团队表示感谢,接受了交付的系统,然后把它丢掉。然后我让你和你的团队给我重新开发这个系统。你的人员保持不变。需求也保持不变。工具软件也保持不变。基本上什么都没变——整个环境完全一样。

来源:InfoQ中文站    作者:郭晓刚    责编:豆豆技术应用

正在加载评论...