Alpha 事后诸葛亮(团队)
设想和目标
1.我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述?
我们的软件能使用户自动获取自己在各支付平台的账单信息,还能手动添加账单信息,并将二者进行总结,得到用户某段时间内的收支情况。定义得很清楚,我们的典型用户是依赖电子支付的年轻人群体,场景是用户使用电子支付的情况。
2.我们达到目标了么?
我们没能达到目标,我们只完成了简单的UI设计,我们的自动获取账单功能由于在非开发问题上耗费了不少精力,未能完成,我们的手动添加账单功能由于前后端对接出现了问题,未能通过测试。
3.用户量, 用户对重要功能的接受程度和我们事先的预想一致么? 我们离目标更近了么?
由于没有进行宣传,用户量为0,与我们事先预想的一致。我们所保留的功能都是最为核心的重要功能,缺一不可。我们离目标稍微近了一点。
有什么经验教训? 如果历史重来一遍, 我们会做什么改进?
在alpha版本我们应该集中精力完成一个拥有基本功能的可用的版本,而不是将精力分散到太多方面,如果历史重来一遍,我们会优先完成手动输入账单的功能并制作更好的UI。
计划
1.是否有充足的时间来做计划?
有。
2.团队在计划阶段是如何解决同事们对于计划的不同意见的?
队内讨论解决。
3.你原计划的工作是否最后都做完了? 如果有没做完的,为什么?
没有都做完,没有做完的有三个原因:
(1).低估了申请到自动获取账单所需各种权限的难度,相关权限的申请涉及到很多商业方面的问题,需要网上备案,还需联系工商局,申请的描述也要注意许多用词,申请提交后也需要时间审批。
(2).在alpha冲刺前制定计划时,选择了完成难度较大的自动获取功能,结果由于能力原因未能按计划完成自动获取功能。
(3).冲刺过程中危机感不足,未能发挥团队的最大潜力。
4.是否每一项任务都有清楚定义和衡量的交付件?
是的,由于项目功能数量并不多,因此能对各项任务进行清楚的定义。
5.是否项目的整个过程都按照计划进行,项目出了什么意外?
基本按照计划进行,项目最后的前后端对接出了一些问题。
6.在计划中有没有留下缓冲区,缓冲区有作用么?
计划中没有考虑到。
7.将来的计划会做什么修改?
更加细分各个任务阶段,避免最后汇总时出了问题难以排查。
资源
1.我们有足够的资源来完成各项任务么?
小组的总体编程能力在开发中遇到了不小的考验,但现阶段的任务勉强可以完成。
3.各项任务所需的时间和其他资源是如何估计的?
由任务的难度估计,因为小组全体成员都没有经验。
3.测试的时间,人力和软件/硬件资源是否足够? 对于那些不需要编程的资源 (美工设计/文案)是否低估难度?
不是很够,这也是小组未能及时完成alpha版本的重要原因之一。
我们低估了申请到自动获取账单所需各种权限的难度,相关权限的申请涉及到很多商业方面的问题,需要网上备案,还需联系工商局,申请的描述也要注意许多用词,申请提交后也需要时间审批。
我们低估了美工设计的难度,美工设计被证明并非我们的强项,遭到了大批同学的吐槽。
变更管理
1.每个相关的员工都及时知道了变更的消息?
是的,我们的四人小组在应对变更时通知相当及时。
2.我们采用了什么办法决定“推迟”和“必须实现”的功能?
组内讨论。
3.项目的出口条件(Exit Criteria – 什么叫“做好了”)有清晰的定义么?
没有定义。
4.对于可能的变更是否能制定应急计划?
这方面没有做好
5.员工是否能够有效地处理意料之外的工作请求?
在这方面我们经验不足,反应较慢。
设计/实现
1.设计工作在什么时候,由谁来完成的?是合适的时间,合适的人么?
在alpha开发之前就做好了,由小组成员共同讨论要完成的内容。是合适的时间与人。
2.设计工作有没有碰到模棱两可的情况,团队是如何解决的?
UI界面的设计上出现了一些不同意见,通过组内投票表决+组外人评价解决。
3.团队是否运用单元测试(unit test),测试驱动的开发(TDD)、UML, 或者其他工具来帮助设计和实现?这些工具有效么?
没做过。
4.代码复审(Code Review)是如何进行的,是否严格执行了代码规范?
通过平时的自我审查以及任务汇总前的组内复审,严格执行了代码规范。
测试/发布
1.团队是否有一个测试计划?为什么没有?
在发布前有一个测试计划。
2.是否进行了正式的验收测试?
没有。
3.团队是否有测试工具来帮助测试?
没有,基本功能的测试比较容易实现。
4.团队是如何测量并跟踪软件的效能的?从软件实际运行的结果来看,这些测试工作有用么?应该有哪些改进?
由于基本功能未能通过测试,因此没做效能测试。
5.在发布的过程中发现了哪些意外问题?
github有段时间登不上。
团队的角色,管理,合作
1.团队的每个角色是如何确定的,是不是人尽其才?
林晗(组长):负责文案,文档编写,美工。
林松雄:负责主要前端。
黄显东:负责主要后端。
陈基智:负责部分前端与后端。
各司其职,碍于团队成员个人能力问题,可能并没有做到人尽其才。
2.团队成员之间有互相帮助么?
团队成员之间经常互相帮助。
3.当出现项目管理、合作方面的问题时,团队成员如何解决问题?
组内讨论解决。
总结:
1.你觉得团队目前的状态属于 CMM/CMMI 中的哪个档次?
第二个档次,可重复级。
1.对照敏捷开发的原则, 你觉得你们小组做得最好的是哪几个原则? 请列出具体的事例。
我觉得我们在alpha阶段做的很不好。
2.你觉得团队目前处于 萌芽/磨合/规范/创造 阶段的哪一个阶段?
磨合阶段。
3.你觉得团队在这个里程碑相比前一个里程碑有什么改进?
有了一点实质性的代码开发,并非一直把项目停留在口头。
4.你觉得目前最需要改进的一个方面是什么?
我们需要快速地将新学习到的东西投入到实际开发当中。
5.感谢
我感谢松雄,显东对我的帮助, 他们在我前端与后端的学习上给了我许多帮助。