3

我们在我公司所做的一些工作正逐渐朝着一个产品家族倾斜,这些产品家族使用同一系列的不同产品以及每种产品中不同的口味(或功能集)。我正在寻找一些可能对我们有帮助的产品线工程技术。网络搜索会导致大量资源和大量不同的信息来源以及不同的方法。在深入探讨这些问题之前,我认为从以前做过类似事情的人那里得到一些实用建议是有用的。任何人都有这方面的智慧点/指引?我特别寻找更好的方法来做到以下几点在产品线环境:产品线工程

  1. 配置和构建管理
  2. 易于开发周期
  3. 测试

回答

3

的三大建议的。自动化,自动化,自动化。

阅读Continuous Integration。在这些日子里,制造“建造”曾经是一个有点大的仪式。用“这个人”找到“机器”和“文件”,只有他知道如何打包所有东西,等等......用CruiseControl及其堂兄弟,运行单元测试,创建开发版本,安装程序自动打包。对于任何工具来说都没什么不可思议的,但花时间设置每个组件并保持它们可以大大地奖励团队。自动构建成为生活中的世俗部分。

当您正在处理一系列相关项目时,我会建议使用强大的编码约定和策略,以便开发人员可以阅读和分享其他代码。部分政策应该是防止可能降低代码可修改性的东西;并促进重构,单元测试和DRY

我不打算重复Fowler所写的内容,但自动化部署也值得您花费时间和精力(当然,一旦您有需要部署的东西)。从SQL脚本到创建服务用户,一切都必须自动化,并且最好包装在测试人员可以根据需要部署的简单网站中。再次,通过自动化,部署QA构建以进行测试成为事实。