【翻译】打乱顺序的结对编程和初心:拥抱抛弃经验的开发 01

来源:互联网 发布:外汇 非农数据 时间 编辑:程序博客网 时间:2024/05/21 06:15

1、介绍

1.1项目与环境

我们是一个典型的企业分布式网络项目。它包含了大约1000个C++类和60个不同的可执行程序。单个客户部署一套系统,需要支持1万到50万客户端访问。一套系统涉及十几个不同类型的服务器,包括:计费服务器、系统看门狗、状态持久化等等的服务。系统特点是:安全性和可靠性最重要,性能次之,功能排在第三位。

该公司是一个创业企业,所以我们在资金和时间方面都不宽裕。该公司是典型的那种随时都有关门大吉的风险的企业。我们项目合同上的研发周期是3-5年。这意味着系统的工程开发和销售是同时间进行的。就是说,工程部必须开发出大量Demo演示来配合销售,而且要经常改变产品的功能需求,以便更好更紧密地适应特定客户的需要。

由于以上原因,我们选择了一个能迅速反馈的软件过程,以适应客户需求的经常变动。我们在可行范围内运行最短的迭代周期—1周。我们进行了几个迭代周期的实验,并进行了密切的跟踪度量。我们通过度量来评估工作成果。然后,我们采用了这些工作成果并开始下一组的实验研究。

这些各组实验是最主要的不同点是:

  • 如何处理任务的所有权
  • 如何将任务分配给各人
  • 采用哪种风格的结对编程