【问题标题】:Infrastructure for a software project [closed]软件项目的基础设施[关闭]
【发布时间】:2010-09-10 14:32:10
【问题描述】:
我很快就会领导一个新项目。我一直在思考软件项目的基本基础设施是什么。这些是我认为每个项目都应该具备的东西:
-编码风格约定
-命名约定
-标准项目目录结构(如maven标准目录布局等)
-项目管理和问题跟踪(例如trac、redmine等)
-持续集成服务器(例如,hudson、巡航控制等)
我不确定我是否错过了什么。有人要补充吗?
【问题讨论】:
标签:
project-management
naming-conventions
infrastructure
【解决方案1】:
除了你的之外,我会说:
- 单元测试策略
- 集成测试策略
- 定义的过程
- 发布(交付)策略(如里程碑、工作包等)
- 源代码控制分支策略
【解决方案2】:
- 修订控制系统(例如 subversion、cvs、git)
【解决方案4】:
- 文档呢 - 如何(代码中的 cmets、高级规范)、何时、数量、谁
- 您将如何测试 - 单元/验收/用户测试
- 代码版本控制,一些 SVN/Git(或者它是否包含在 trac 中?)
- 团队角色和职责 - 需要在项目的环境中完成
【解决方案5】:
知识管理至关重要。由于您已经计划使用 wiki(如 Trac 或 Redmine),因此您也可以将其用于 KM。
【解决方案6】:
功能测试是任何项目的必备部分。单元测试很棒,它适用于敏捷项目,但功能测试仍然是必要的。您至少需要一个基本的测试计划。如果您计划有多个项目或子项目,则测试策略文档或 Wiki 页面会很好。
测试用例、验收测试用例等可以由您的用户故事或其等价物驱动,但它们仍然必须以某种形式存在。
【解决方案7】:
我也会将文件共享服务器加入其中。我认为版本控制是如此基本,以至于我什至没有费心把它放在列表中。但它是一个很好的版本控制。
【解决方案8】:
配置管理计划。您需要有一个记录在案的方法来处理您的开发工作流,以及您将如何在它们之间进行合并等。