Project management 软件项目的基础设施

Project management 软件项目的基础设施,project-management,naming-conventions,infrastructure,Project Management,Naming Conventions,Infrastructure,我很快就会领导一个新项目。我一直在思考什么是软件项目的基本基础设施。这些是我认为每个项目都应该具备的东西: -编码风格约定 -命名约定 -标准项目目录结构(如maven标准目录布局等) -项目管理和问题跟踪(如trac、redmine等) -持续集成服务器(如哈德逊、巡航控制等) 我不确定我是否遗漏了什么。有人想添加吗?除了您的之外,我将添加: 单元测试策略 集成测试策略 定义的过程 发布(交付)策略(如里程碑、工作包等) 源代码控制分支策略 版本控制系统(例如subversion、cvs、

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

-编码风格约定

-命名约定

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

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

-持续集成服务器(如哈德逊、巡航控制等)


我不确定我是否遗漏了什么。有人想添加吗?

除了您的之外,我将添加:

  • 单元测试策略
  • 集成测试策略
  • 定义的过程
  • 发布(交付)策略(如里程碑、工作包等)
  • 源代码控制分支策略
      • 版本控制系统(例如subversion、cvs、git)

      作为初步答案,请查看Joel测试:

      只是开胃菜:

    • 你使用源代码管理吗
    • 你能一步完成一个构建吗
    • 你每天都做构建吗
    • 你有bug数据库吗
    • 在编写新代码之前,您是否修复了bug
    • 你有最新的时间表吗
    • 你有规格吗
    • 程序员有安静的工作环境吗
    • 你使用金钱能买到的最好的工具吗
    • 你们有测试员吗
    • 新应聘者在面试时会写代码吗
    • 你做过道可用性测试吗
      • 文档如何(代码注释、高级规范)、何时、数量、谁
      • 您将如何测试-单元/验收/用户测试
      • 代码版本控制,一些SVN/Git(或者它是否包含在trac中?)
      • 团队角色和职责-需要在项目的上下文中完成

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

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

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

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