我的团队开发活动Check List- -
软件配置管理
1.使用源代码管理工具了么?
我们用CVS, 其中客户端使用TortoiseCVS, 文本差异比较用WinMerge或者Kdiff,账号管理和更新纪录查看用CVSTrac。 2.大家养成了每天晚上临走Check-in合格代码,早上回来Check-out代码的习惯了么?
还没有养成这个习惯,修改完代码可能马上check-in,也可能忘记。
到了修改可能不属于自己的代码,或者忽然心情好时才会check-out。
3.在Check-In代码时写注释了么?
写得不多。应该尽量简短的写或者Copy任务单,比如“Bug fix No.225”。
4.有Daily Build么?
JSP/Bean的项目,单元测试,自动测试也没跟上的时候,没什么好Build的。
如果要做,可能是检查一下有没有因为修改某处而引起的回归编译错误,并且用PMD,FindBugs,StatCVS提交一份报告。
5.有对每个发行版本进行备份和CVS 标记么?
没有。发行版本的时候也很少在CVS中进行Tag。 6.使用缺陷管理系统了么?
我们使用CVSTrac做缺陷管理系统给维护,培训等部门的人员报Bug,同时软件发布后客户的修改需求也使用这个系统进行纪录和指派。
同时看着有没有其他简单易用又界面漂亮又免费的。
7.有对缺陷的轻重缓急的区分么?
轻重缓急应该由PM去分。而PM一般懒得分的,除了特别重要的情况。
8.缺陷及其更改如何通知项目组成员?
系统自动发出Email通知。PM会每天至少check一次mail box。
测试
1.有专职的软件测试人员或者Peer test么?
没有专职测试人员,甘心做测试的同志太少了。
试行过peer test,交换了测试,总比自己测试自己好。但不够坚持。
2.有写测试用例么?
原来都还是程序员自己拍脑袋进行测试,现在开始要求,对复杂的测试,应该用测试用例进行纪录,在回归测试时不用每次都拍脑袋,也方便别人对测试用例本身进行QA,检查测试的完整性,有效性.
3.有对测试用例进行Reivew么?
测试用例都是刚刚才有人写,更别提Revew了。应该Review的,否则测过了不代表软件就正确了。
4.有测试用例管理工具么?
没有。正在研究。
5.有自动化测试么?
没有。正在研究。
6.有总的测试计划么?
没有。正在学习该怎么写。
"要不要做性能测试?要不要做Usability测试?什么时候开始测试性能?测试通过的标准是什么?用什么手段,自动的还是手动的?这些问题需要用Test Plan来回答。"
7.有随便拉一个不相关的人来做易用性测试么。
好提议。"自己看自己写的程序界面,怎么看都是顺眼的。这叫做审美疲劳" 不相关的人大把,以后要请来帮忙。
项目管理
1.使用什么工具进行项目计划?
Project。
2.你们的进度表是否反映最新开发进展情况?
经常没有。由于一个项目组经常要同时面对几个Project。 PM很少维护和更新总项目计划。
3.进度估算有没有一定的依据,估算的正确率多高?
目前主要使用break down估算再把时间叠加的方式。没有使用公式,也没有使用过往纪录进行辅助。准确率一般还可以。
3.有没有按照优先级设计迭代计划?
一开始只完成最高优先级的需求,完成第一个完整可运行版本。然后进行第二次迭代,完成次一级的需求。 新启动的项目有使用这个方法。
4.任务分派的时候有注意让程序员同一时间只专著于一样事情么?
要让程序员专注一件事。两个两个星期的任务,同时布置下去,不会在两星期之内完成,而且通常不止4个星期。
5.任务分派的时候有注意让程序员明白整个任务的实际意义,原因么?
切忌只告诉程序员,"你把这里由2改成3"。花多一点点时间使程序员彻底明白自己的任务很重要。
不一定全员落实了该原则。
6.你们公司有没有积累一个项目风险列表?
没有,没有风险管理制度。
7.有没有验收计划及报告?
有。
需求采集
1.有没有领域知识的准备?
2.有没有用角色,流程,实体三维去描述业务模型?
3.有没有用文字用例进行需求分析?
4.访谈有没有Agenda和会议记录?
5.需求有没有抽象出元数据的层次?
设计
1.Keep it simple?
2.Keep it flexible?
本部分待写。
编码
1.有没有编写设计文档?
2.有没有编写数据库schema和注释,以及schema的更新纪录?
3.所有文档有没有良好的管理?
4.有没有统一的代码格式规范?
代码格式的规范会使用IDE工具自动完成。不过大家对代码的格式化不太勤。
5.产品各部分的界面和操作习惯一致么?
需要统一。目前没有进行这方面的工作。
6.有没有统一的程序模式指引?
代码中的很多方面,比如数据库如何连接等,应该制定统一的指引。这个统一比代码格式的统一意义更大。
目前没有进行这方面的工作。需要APM勤于总结归纳,通过CodeReview进行传播。
同时要防止规范过细约束了程序员的发挥空间。
7.有没有做好可重用的代码、控件的整理,索引?
还没有。
开发人员写完公共的文件,还没有良好的机制通知其他组员使用其代码。
项目进行中和完成后也没有做同样的整理为下个项目重用。
8.有没有进行Code Review?
团队
1.团队工作在安静宽敞的环境里么?
目前比较挤,争取换一个比较大的地方。
2.项目组中所有的人都坐在一起么?
是的。
3.项目组是否至少每周全体开会一次?
周一开会。让大家清楚本周的整体工作计划和进行必要的交流。
4.项目组的会议、讨论都有记录么?
有。"会前发meeting request和agenda,会中有人负责主持和记录,会后有人负责发meeting minutes,这都是effective meeting的要点。而且,每个会议都要形成agreements和action items。"
5.大家有定期阅读书籍么?
大部分有。
6.公司有购买书籍,订阅编程杂志么?
有。
7.有使用知识库管理软件么?
我们使用JSPWiki.
8.项目组有Team Morale Activity么?
好久没有去玩了。条件允许最好每月一次。