M2阶段事后总结报告
会议照片:
设想和目标
1. 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述?
开发一个快捷方便的记事本App。从用户体验角度出发,在一般记事本App的基础上进行创新,给用户不一样的体验。主要应用在速记场景。
2. 是否有充足的时间来做计划?
从一开始就有计划,并且随实际情况偶做修改。计划的时间充足。
3. 团队在计划阶段是如何解决同事们对于计划的不同意见的?
当面讨论,直到所有人的意见一致。
计划
1. 你原计划的工作是否最后都做完了? 如果有没做完的,为什么?
App核心功能早已完成。原计划做出文字笔记、图片笔记、语音笔记、待办事项、悬浮窗、锁屏界面等功能。
目前待办事项和锁屏界面功能没有实现。由于时间不足,权衡之下舍掉了待办事项的功能。锁屏界面是由于安卓自身的限制。
2. 有没有发现你做了一些事后看来没必要或没多大价值的事?
有,有个自制的“活动收集器”ActivityCollecter类没有用上。
3. 是否每一项任务都有清楚定义和衡量的交付件?
每一项任务都定义清晰,并且最终实现的功能很完善,符合预想。
4. 是否项目的整个过程都按照计划进行,有什么风险是当时没有估计到的,为什么没有估计到?
按照计划进行。最大的风险是时间比较紧,只能舍弃一些软件的功能。没有估计到的原因是没有安卓开发的经验,不了解工作量的大小。
5. 在计划中有没有留下缓冲区,缓冲区有作用么?
有缓冲区,M1阶段没有做细致的测试,我们这次用两天的时间来做测试。
资源
1. 我们有足够的资源来完成各项任务么?
有,M1阶段软件已经相当完善,M2阶段复用了M1阶段的部分代码,大大减小了工作量。
2. 各项任务所需的时间和其他资源是如何估计的,精度如何?
时间难以估计,所以M2阶段每人先只分配了一项任务,大家自己协调时间完成,完成后再继续开发其他的模块。
3. 测试的时间,人力和软件/硬件资源是否足够?
足够。有两个测试人员,都进行了真机测试。
变更管理
1. 每个相关的员工都及时知道了变更的消息?
我们有一个QQ群,有消息就在上面讨论。
2. 我们采用了什么办法决定“推迟”和“必须实现”的功能?
讨论。
3. 项目的出口条件(Exit Criteria – 什么叫“做好了”)有清晰的定义么?
主要功能实现,尽可能多、尽可能好地完成附加的功能。
4. 对于可能的变更是否能制定应急计划?
没有指定应急计划,一般都是出了问题再处理。
5. 员工是否能够有效地处理意料之外的工作请求?
没有意料之外的工作请求。
设计/实现
1. 设计工作在什么时候,由谁来完成的?是合适的时间,合适的人么?
M1阶段一开始就做了设计,由团队里的两人完成,然后小组讨论,一致通过了这个设计。
2. 团队是否运用单元测试(unit test),测试驱动的开发(TDD)、UML, 或者其他工具来帮助设计和实现?这些工具有效么?
用了Testin云测试,能知道软件的兼容性。
3. 什么功能产生的Bug最多,为什么?在发布之后发现了什么重要的bug? 为什么我们在设计/开发的时候没有想到这些情况?
图片笔记的Bug最多,因为要调用系统Activity,而安卓系统的不同机型对于系统Activity的返回数据有不同的处理方式。
发布之后有用户反映图片笔记的照相获取图片功能会导致程序崩溃,这应该和具体机型有关。
4. 代码复审(Code Review)是如何进行的,是否严格执行了代码规范?
功能整合的时候进行了代码复审,基本上执行了代码规范。
测试/发布
1. 团队是否有一个测试计划?为什么没有?
有计划。两名测试人员进行全面的真机测试,其中一人还进行了兼容性云测试。
2. 是否进行了正式的验收测试?
进行了,如上述。
3. 团队是否有测试工具来帮助测试?
Testin云测试平台。
4. 在发布的过程中发现了哪些意外问题?
一开始选择的应用图标太小,没有通过审核。
更换了网站上的图标,图标与App安装之后的图标不一致,没有通过审核。
应用名称可能涉及侵权,没有通过审核,需要上传代码片段和开发者的身份证明。
上传了证明后,目前还在审核中。。。。