我很快就会领导一个新项目。我一直在思考软件项目的基础设施是什么。我认为每个项目都应该具备以下内容:

- 编码风格约定

- 命名约定

-标准项目目录结构(例如maven标准目录布局等)

-项目管理和问题跟踪(例如trac、redmine等)

-持续集成服务器(例如,hudson、巡航控制等)

我不确定我是否错过了什么。有人愿意补充吗?

没有正确的解决方案

其他提示

作为初步答案,请查看 Joel 测试:http://www.joelonsoftware.com/articles/fog0000000043.html

只是开胃菜:

  1. 您使用源代码管理吗?
  2. 你能一步完成构建吗?
  3. 您进行每日构建吗?
  4. 你有错误数据库吗?
  5. 在编写新代码之前你会修复错误吗?
  6. 您有最新的时间表吗?
  7. 你有规格吗?
  8. 程序员的工作环境安静吗?
  9. 您是否使用金钱能买到的最好的工具?
  10. 你们有测试人员吗?
  11. 新候选人在面试时会写代码吗?
  12. 你们进行走廊可用性测试吗?
  • 版本控制系统(例如颠覆、CVS、git)

除了你的之外我还会放:

  • 单元测试策略
  • 集成测试策略
  • 定义流程
  • 发布(交付)策略(如里程碑、工作包等)
  • 源代码控制分支策略
  • 文档怎么样——如何(代码中的注释、高级规范)、何时、金额、谁
  • 您将如何测试 - 单元/验收/用户测试
  • 代码版本控制,一些 SVN/Git(或者它包含在 trac 中吗?)
  • 团队角色和职责 - 需要在项目的 ocntext 中完成

知识管理至关重要。由于您已经计划使用 wiki(例如 Trac 或 Redmine)你也可以将它用于 KM。

功能测试是任何项目的强制性部分。单元测试很棒,对于敏捷项目也很有效,但功能测试仍然是必要的。您至少需要一个基本的测试计划。如果您计划有多个项目或子项目,测试策略文档或 Wiki 页面会很好。测试用例、验收测试用例等可以由您的用户故事或其等效物驱动,但它们仍然必须以某种形式存在。

我也会将文件共享服务器加入其中。我认为版本控制是如此基本,以至于我什至懒得将它放在列表中。但它是一个很好的版本控制。

配置管理计划。您需要有一个记录的方法来处理您的开发工作流,以及如何在这些工作流之间进行合并等等。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top