我们在公司所做的一些工作正逐渐向产品系列发展,产品系列包含同一系列中的不同产品以及每种产品的不同口味(或功能集)。我正在寻找一些可能对我们有帮助的产品线工程技术。网络搜索带来了大量资源和许多不同的信息来源和不同的方法。在深入研究其中任何一个之前,我认为从之前做过类似事情的人那里得到一些实用建议会很有用。在这个领域,任何人都有任何智慧的指针/金块吗?我特别希望在产品线环境中寻找更好的方法:
答案 0 :(得分:4)
三大提示。自动化,自动化,自动化。
阅读Continuous Integration。在过去的日子里,制作一个“构建”曾经是一个有点大的仪式。用“the guy”找到“机器”和“文件”,只有他知道如何打包所有内容等等......使用CruiseControl及其表兄弟,运行单元测试,创建开发构建,以及安装程序自动打包。任何工具都没有什么神奇之处,但花时间设置每个组件并维护它们会大大奖励团队。自动化构建成为生活中平凡的一部分。
当您从事一系列相关项目时,我建议使用强大的编码约定和策略,以便开发人员可以阅读和共享其他代码。部分政策应该是防止可能降低代码可修改性的事情;并促进重构,单元测试和DRY。
我不打算重复Fowler所写的内容,但自动化部署也值得你花时间和精力(一旦你有部署的话)。从SQL脚本到创建服务用户,一切都必须自动化,最好包含在您的测试人员可以按需部署的简单网站中。同样,通过自动化,部署QA版本进行测试成为事实。