设想和目标
我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述?
解决网站前端的数据处理以及获取问题,定义的很清楚,对于典型用户也比较清晰,因为主要只有一个用户,所以对于用户需求页很容易沟通出来结果是否有充足的时间来做计划?
alpha阶段的计划不充分,所以吃了一些亏。故在beta版本中,我们做了充足的准备以及构思,提前就将未来实现过程中的设计细节构思完成,并且确实帮助我们省了很多的事情。团队在计划阶段是如何解决同事们对于计划的不同意见的?
由大家商讨尝试劝说,如果还是没法解决就由PM解决(其实一般情况下都是可以解决的)用户量, 用户对重要功能的接受程度和我们事先的预想一致么? 我们离目标更近了么?
一致,只有一个用户
计划
你原计划的工作是否最后都做完了? 如果有没做完的,为什么?
最后主体工作差不多都已经结束并且完成了。唯一一点没有完成的就是最终在数据库上移植的时候遇到网络困难,线程无法正常访问远端网页,导致线程锁死,所以目前来说只能在pc上运行。有没有发现你做了一些事后看来没必要或没多大价值的事?
beta阶段基本没有浪费精力时间做无用的事情是否每一项任务都有清楚定义和衡量的交付件?
有大部分是的,但是仍然有一些难以衡量的任务是否项目的整个过程都按照计划进行,项目出了什么意外?有什么风险是当时没有估计到的,为什么没有估计到?
是的,项目构建都比较顺利,意外的话可能就是后期遇到了太多的意外bug在计划中有没有留下缓冲区,缓冲区有作用么?
有预留,但是时间还是有一些不太够用。将来的计划会做什么修改?(例如:缓冲区的定义,加班)
后面会完善对于下一届的说明文档知道
资源
我们有足够的资源来完成各项任务么?
还是可以的,只是大家的经验还不是很充分,所以碰壁比较多各项任务所需的时间和其他资源是如何估计的,精度如何?
依据感觉估计的,不准确测试的时间,人力和软件/硬件资源是否足够? 对于那些不需要编程的资源 (美工设计/文案)是否低估难度?
beta版本的测试相比较alpha阶段完善了很多你有没有感到你做的事情可以让别人来做(更有效率)?
基本没有 任务划分还是挺合理的
变更管理
每个相关的员工都及时知道了变更的消息?
是的我们采用了什么办法决定“推迟”和“必须实现”的功能?
团队探讨决定项目的出口条件(Exit Criteria – 什么叫“做好了”)有清晰的定义么?
比较清晰对于可能的变更是否能制定应急计划?
是的,因为 一些人的工作任务导致可以提前完成,这样就有了空余的时间精力解决变更的需求员工是否能够有效地处理意料之外的工作请求?
是的
设计/实现
设计工作在什么时候,由谁来完成的?是合适的时间,合适的人么?
PM领导 团队共同决定,时间还挺靠前的,所以比较合适设计工作有没有碰到模棱两可的情况,团队是如何解决的?
按照我们的理解以及用户的需求来决定的团队是否运用单元测试(unit test),测试驱动的开发(TDD)、UML, 或者其他工具来帮助设计和实现?这些工具有效么?
使用了,效果显著,这些工具帮助我们提高了很多的效率什么功能产生的Bug最多,为什么?在发布之后发现了什么重要的bug? 为什么我们在设计/开发的时候没有想到这些情况?
交叉编译导致的bug最多,因为dll引用错误隐藏的问题,导致很难调试,但是也都解决了代码复审(Code Review)是如何进行的,是否严格执行了代码规范?
自己审核
6.我们学到了什么? 如果历史重来一遍, 我们会做什么改进?
如果还有机会重来一遍,我们应该会更早的开始工作,而不是一直的向后托
测试/发布
团队是否有一个测试计划?为什么没有?
没有 因为前期考虑不充分是否进行了正式的验收测试?
是的团队是否有测试工具来帮助测试?
junit等团队是如何测量并跟踪软件的效能的?从软件实际运行的结果来看,这些测试工作有用么?应该有哪些改进?
并没有,测试除了单元测试之外主要都是将实际运行效果与预期运行效果进行比较在发布的过程中发现了哪些意外问题?
最终爬虫部分的程序在服务器上无法正常使用
总结
你觉得团队目前的状态属于 CMM/CMMI 中的哪个档次?
达到CMMI中的三级,定义级别
你觉得团队目前处于 萌芽/磨合/规范/创造 阶段的哪一个阶段?
规范阶段。
你觉得团队在这个里程碑相比前一个里程碑有什么改进?
合作方面大家任务分配管理的更加的合理,效率也提升了很多
你觉得目前最需要改进的一个方面是什么?
提高效率
我们小组什么地方做的比较好?
我们组的配合程度还是比较不错的,小组成员之间的水平相当,没有特别突出的哪种成员,合作起来非常的顺利,而且大多数的情况下大家对于自己的任务都完成的非常好。
下个阶段需要改进什么?
没有下了阶段了。但还是期待大家后续的合作