用债思维看待软件研发

在上周召开的scrumgathering 2012大会上,张林做了题为《债思维——软件研发新视角》的演讲,其中不仅比较了这种思维与传统的生产思维之间的不同,而且系统地提出了这种思维的概念、债的分类及债思维宣言。

张林的“债思维”来源于在今年2月份召开的敏捷之旅南京站上的一次讨论,当时大家基于“技术债务”提出了“管理债”的想法,经过几个月的深入思考和总结,张林对这个想法更新了九个版本,才有了现在的“债思维”。

在演讲中,张林首先给“债思维”做了定义:

在软件研发中,我们做过的事、写过的代码、留下的文档,都不是资产,而是债务。

接下来,张林指出,与债思维相对的是当前软件研发过程中的生产思维,这种思维会导致各种债务:

一直以来,软件研发都是生产代码、文档以不断构建可工作软件的过程。为此:

  • 生产正确的文档软件 高于 客户价值(目标债)
  • 流程规范合同分工 高于 沟通协作(过程债)
  • 按产出评价 高于 维护重构(结果债)
  • 人是机器,聪明人 高于 群体创造(人员债)

而运用债思维就是要做到以下两点:

  1. 阻止债务堆积
  2. 提升还债能力

对于四种债务,他分别提出了自己的看法:

目标债——社会形态从生产驱动走向消费驱动,成功取决于消费者多喜欢你,而不是你生产了多少。

过程债——个体创造走向群体创造是一个趋势,关注知识、信息的缺失和人与人的协作障碍。

结果债——遗留系统、昂贵的过程资产、无人问津的长篇累牍成为后续研发的重重阻碍。

人员债——人的问题是根本的问题,领导、客户、员工与自己都是人。

类似与敏捷宣言,并且针对各种债务,张林提出了债思维的宣言:

  • 客户价值 高于 软件生产(目标债)
  • 沟通协作 高于 精确分工(过程债)
  • 降低债务 高于 鼓励产出(结果债)
  • 群体还债 高于 完成工作(人员债)

尽管右边部分也有价值,但是离开左边的部分,债务的堆积将让我们自尝恶果。

最后,张林提到,关于该理论,他还在不断应用的过程中对其进行思考和完善,比方说要把债思维与生产思维结合起来,从而适用于更多情况,发挥出更好的 效果;使用债思维来解释Scrum中的一些观点和过程;使用债思维来解释沟通过程中的问题等等。相信在不断地改进过程中,这种思维会让大家从另一个角度来 看待各种问题,从而对问题有更好地认识,得出更加有效的解决办法。

各位读者,如果你对“债思维”感兴趣,欢迎提出自己的想法。也可以在新浪微博上关注@大卫张33,和张林做直接的交流。

侯伯薇 是InfoQ中文站架构社区编辑,有多年对日和国内项目开发经验,目前关注企业中技术与实际业务之间的融合和协作。

This entry was posted in Case. Bookmark the permalink.

发表评论

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 更改 )

Twitter picture

You are commenting using your Twitter account. Log Out / 更改 )

Facebook photo

You are commenting using your Facebook account. Log Out / 更改 )

Google+ photo

You are commenting using your Google+ account. Log Out / 更改 )

Connecting to %s