设想和目标
我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述?
我们组负责学霸的UI部分,主要是对Document和QAPair做一个Presentation,功能领域定义的很清楚,典型用户和典型场景已经在Spec中明确说明。
是否有充足的时间来做计划?
由于项目比较简单,计划时间不多,但已经足够。
团队在计划阶段是如何解决同事们对于计划的不同意见的?
在PM的带领下,大家基本没有不同意见。
如果历史重来一遍, 我们会做什么改进?
各个团队各自为战,导致UI这边各个团队做的功能有些重合,而且大家的数据结构有差异,给代码整合带来很大麻烦,同时,软件的具体功能没有定义清楚,比如,对于资源的定义,开始我们UI组并没有想到还要在线展示爬来的网页。
计划
你原计划的工作是否最后都做完了? 如果有没做完的,为什么?
原计划的工作都完成,没做完的部分,就是没有与另外两个UI组和前端的pipeline做到完美整合。但这个主要是因为开始各个团队没有协调好,最后我们主动提供了数据添加的API
有没有发现你做了一些事后看来没必要或没多大价值的事?
有,研究silverlight下的PDF在线阅读方案,最后才发现有现成的flexpaper
是否每一项任务都有清楚定义和衡量的交付件?
任务在tfs写的比较简略,但由于比较简单,大家都能明白。
是否项目的整个过程都按照计划进行?
PM一直在赶进度,两位DEV的进度有时候不尽人意
在计划中有没有留下缓冲区,缓冲区有作用么?
没有
将来的计划会做什么修改?(例如:缓冲区的定义,加班)
预留必要的缓冲时间。
如果历史重来一遍, 我们会做什么改进?
1. 善用google英文搜索,多了解流行的开源解决方案,少看CSDN(太多不专业),多读Documentation
2. 预留必要的缓冲时间,留给后期的整合。
资源
我们有足够的资源来完成各项任务么?
资源(书籍,开源解决方案,服务器,素材)非常充足
各项任务所需的时间和其他资源是如何估计的,精度如何?
各项任务估计精度不是很好,因为任务是由PM估计的,而由DEV完成,PM不知道DEV对技术的掌握程度如何,有时候估计的任务不是很精确。
用户测试的时间,人力和软件/硬件资源是否足够?
我们花了两天半的时间来做测试,相对于工程量而言,已经比较充足。
你有没有感到你做的事情可以让别人来做(更有效率)?
没有。
如果历史重来一遍, 我们会做什么改进?
1. 估计任务所用时间时,需要询问当事DEV意见
2. 留给DEV学习的时间
变更管理
每个相关的员工都及时知道了变更的消息?
变更是由PM短信同时DEV的,DEV能够及时了解。
我们采用了什么办法决定“推迟”和“必须实现”的功能?
根据功能在整个项目中的重要程度,比如anti-spam,放到beta版本中了。
项目的出口条件(Exit Criteria – 什么叫“做好了”)有清晰的定义么?
所有页面整合在一起,通过了各项测试,就“做好了”
对于可能的变更是否能制定应急计划?
没有。
员工是否能够有效地处理意料之外的工作请求?
两名DEV由于经验不足,不能够有效处理,但是大家在PM的带领下出色的应对了各项突发情况。但是PM还是会在DEV比较忙的情况下独自处理各项变化。
如果历史重来一遍, 我们会做什么改进?
1. 善用TFS的源代码管理,少用QQ互传文件
2. 多开碰头会,少通过短信通知
设计/实现
设计工作在什么时候,由谁来完成的?是合适的时间,合适的人么?
设计工作在Sprint的前三天。由经验最丰富的PM来完成。
设计工作有没有碰到模棱两可的情况,团队是如何解决的?
PM做出页面的草稿,交给UI的DEV具体做,PM做的模棱两可的地方,DEV都给考虑全面了~
团队是否运用单元测试(unit test),测试驱动的开发(TDD)、UML, 或者其他工具来帮助设计和实现?这些工具有效么?
团队使用了Visual Studio 2012自带的web应用程序性能测试工具和Sikuli IDE UI自动测试工具进行测试。我们准备再beta Sprint阶段使用更多的技术。
什么功能产生的Bug最多,为什么?
结果列表功能产生的Bug最多,其实也不多,只不过这个在各个页面中反复重复,造成了“泥球”,改起来相当麻烦。。。。
代码复审(Code Review)是如何进行的,是否严格执行了代码规范?
没有想这么多。。。
如果历史重来一遍, 我们会做什么改进?
将UI的部分组件控件化,方便修改与维护
测试/发布
团队是否有一个测试计划?为什么没有?
团队有明确的测试计划。
是否进行了正式的验收测试?
没有。。
团队是否有测试工具来帮助测试?
有的,团队使用了Visual Studio 2012自带的web应用程序性能测试工具和Sikuli IDE UI自动测试工具进行测试。我们准备再beta Sprint阶段使用更多的技术。
团队是如何测量并跟踪软件的效能的?从软件实际运行的结果来看,这些测试工作有用么?应该有哪些改进?
我们并不了解效能测试,但是会在beta中考虑,我们使用软件进行了负载测试,找到了几个致命的数据库操作的bug,在前几篇博文中我们有过总结。
在发布的过程中发现了哪些意外问题?
TA给的服务器,有各种小问题,如用户权限不足,Sql server无权限等,这些小问题都是我们团队第一个发现,并报告给TA的。