软件项目的基础结构

时间:2008-09-18 09:14:43

标签: project-management naming-conventions infrastructure

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

编码样式约定

- 命名约定

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

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

- 连续集成服务器(例如,哈德森,巡航控制等)

我不确定我是否遗漏了任何东西。有人想加吗?

8 个答案:

答案 0 :(得分:5)

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

只是一个开胃菜:

  
      
  1. 您使用源代码管理吗?
  2.   
  3. 你能一步完成构建吗?
  4.   
  5. 你做日常生活吗?
  6.   
  7. 您有错误数据库吗?
  8.   
  9. 你在编写新代码之前修复了错误吗?
  10.   
  11. 您是否有最新的日程安排?
  12.   
  13. 你有规格吗?
  14.   
  15. 程序员是否有安静的工作条件?
  16.   
  17. 你使用钱可以买的最好的工具吗?
  18.   
  19. 你有测试人员吗?
  20.   
  21. 新候选人在面试时是否会编写代码?
  22.   
  23. 你做走廊可用性测试吗?
  24.   

答案 1 :(得分:3)

  • 修订控制系统(例如subversion,cvs,git)

答案 2 :(得分:2)

除了你的,我会说:

  • 单元测试策略
  • 整合测试策略
  • 定义过程
  • 发布(交付)策略(如里程碑,工作包等)
  • 源控制分支策略

答案 3 :(得分:1)

  • 文档怎么样 - 如何(代码中的注释,高级规范),时间,数量,谁
  • 您将如何测试 - 单位/接受/用户测试
  • 代码版本控制,一些SVN / Git(还是包含在trac中?)
  • 团队角色和职责 - 需要以项目的ocntext完成

答案 4 :(得分:0)

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

答案 5 :(得分:0)

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

答案 6 :(得分:0)

我也会把文件共享服务器扔进去。我认为版本控制是如此基本,我甚至懒得把它放在列表中。但它是一个很好的版本控制。

答案 7 :(得分:0)

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