4

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

- 编码风格约定

- 命名约定

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

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

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

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

4

8 回答 8

5

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

只是开胃菜:

  1. 你使用源代码控制吗?
  2. 您可以一步构建吗?
  3. 你做日常构建吗?
  4. 你有错误数据库吗?
  5. 在编写新代码之前你会修复错误吗?
  6. 你有最新的时间表吗?
  7. 你有规格吗?
  8. 程序员有安静的工作环境吗?
  9. 您是否使用金钱可以买到的最好的工具?
  10. 你有测试人员吗?
  11. 新候选人在面试时会写代码吗?
  12. 你做走廊可用性测试吗?
于 2008-09-18T09:20:49.640 回答
3
  • 修订控制系统(例如颠覆、cvs、git)
于 2008-09-18T09:20:36.490 回答
2

除了你的,我会说:

  • 单元测试策略
  • 集成测试策略
  • 定义的过程
  • 发布(交付)策略(如里程碑、工作包等)
  • 源代码控制分支策略
于 2008-09-18T09:17:51.787 回答
1
  • 文档怎么样 - 如何(代码中的注释,高级规范),何时,数量,谁
  • 你将如何测试——单元/验收/用户测试
  • 代码版本控制,一些 SVN/Git(或者它是否包含在 trac 中?)
  • 团队角色和职责 - 需要在项目的 ocntext 中完成
于 2008-09-18T09:21:28.143 回答
0

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

于 2008-09-18T15:23:02.127 回答
0

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

于 2008-10-06T22:43:48.603 回答
0

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

于 2008-09-18T09:21:50.107 回答
0

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

于 2008-09-18T09:25:38.287 回答