我很快就会领导一个新项目。我一直在思考什么是软件项目的基础架构。这些是我认为每个项目应该具有的东西:
编码样式约定
- 命名约定
- 标准项目目录结构(例如maven标准目录布局等)
- 项目管理和问题跟踪(例如trac,redmine等)
- 连续集成服务器(例如,哈德森,巡航控制等)
我不确定我是否遗漏了任何东西。有人想加吗?
答案 0 :(得分:5)
作为初步答案,请查看Joel测试: http://www.joelonsoftware.com/articles/fog0000000043.html
只是一个开胃菜:
- 您使用源代码管理吗?
- 你能一步完成构建吗?
- 你做日常生活吗?
- 您有错误数据库吗?
- 你在编写新代码之前修复了错误吗?
- 您是否有最新的日程安排?
- 你有规格吗?
- 程序员是否有安静的工作条件?
- 你使用钱可以买的最好的工具吗?
- 你有测试人员吗?
- 新候选人在面试时是否会编写代码?
- 你做走廊可用性测试吗?
醇>
答案 1 :(得分:3)
答案 2 :(得分:2)
除了你的,我会说:
答案 3 :(得分:1)
答案 4 :(得分:0)
知识管理至关重要。由于您已经计划使用wiki(如Trac或Redmine),您也可以将它用于KM。
答案 5 :(得分:0)
功能测试是任何项目的必备部分。单元测试非常好,它适用于敏捷项目,但功能测试仍然是必要的。您至少需要一个基本的测试计划。如果您计划拥有多个项目或子项目,那么测试策略文档或Wiki页面就会很好。 测试用例,验收测试用例等可以由您的用户故事或其等价物驱动,但它们仍然必须以某种形式存在。
答案 6 :(得分:0)
我也会把文件共享服务器扔进去。我认为版本控制是如此基本,我甚至懒得把它放在列表中。但它是一个很好的版本控制。
答案 7 :(得分:0)
配置管理计划。您需要有一个记录在案的方法来处理您的开发工作流,以及如何在当时之间进行合并等。