【欢迎来怼】事后诸葛亮会议
队名:欢迎来怼
项目名称:博客园Android端APP
小组成员
队长:田继平
成员:李圆圆,葛美义,王伟东,姜珊,邵朔,冉华
——————————————————————————————————————————————————
设想和目标
1. 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述?
我们的软件目标是利用手机APP的便利性,让大家能够更加方便地进入博客园去学习和交流技术,不会因为电脑不在身边而无所适从。对于功能的定义很清楚。对典型用户和典型场景也有清晰的描述。
2.我们达到目标了么(原计划的功能做到了几个? 按照原计划交付时间交付了么? 原计划达到的用户数量达到了么?)?
在Alpha发布阶段,我们已经达到了计划目标。原计划的“博客园首页博客列表获取及精华博客列表的获取”、“首页博客查看及精华博客查看”功能已经完成,已按照原计划的交付时间交付,原计划的11名用户也已经达成,并且收集到了他们的反馈。
3. 用户量, 用户对重要功能的接受程度和我们事先的预想一致么? 我们离目标更近了么?
用户量和用户对重要功能的接受程度和我们事先的预想是一致的(因为我们在Alpha发布阶段对于用户量和功能实现的预计十分保守),我们离将来的目标更近了一步。
——————————————————————————————————————————————————
计划
1. 是否有充足的时间来做计划?
否,因为这个项目是一款手机Android端APP,对于小组内的大部分人来说是一个从未接触过的领域,需要耗费额外的时间去学习Android端编程(甚至有些人还要去学习Java语言!),而且小组成员们也来自不同的导师和小组,也有着各自优先级更高的个人任务需要去完成。
2. 团队在计划阶段是如何解决同事们对于计划的不同意见的?
在计划阶段大家的不同意见很少,出现的少量问题是组长亲自去找产生分歧的组员面对面地交流以达成共识。
3. 你原计划的工作是否最后都做完了? 如果有没做完的,为什么?
我们原计划的工作大部分完成了,但是“博客园用户登录”的功能没有实现。因为博客园网站的变动,用户登录出现了一个“防机器人”的筛选功能,导致我们在Alpha发布之前无法完成新的登录方式,将登录功能转而推到后续的版本中去完成。
4. 有没有发现你做了一些事后看来没必要或没多大价值的事?
没有,因为我们将任务分割得十分细致并仔细确认了目的,并且准确落实到每个人头上,因而没有出现没有必要或没有太大价值的任务。
5. 是否每一项任务都有清楚定义和衡量的交付件?
是的,每一项任务都有清楚定义和衡量的交付件。
6. 是否项目的整个过程都按照计划进行,项目出了什么意外?有什么风险是当时没有估计到的,为什么没有估计到?
在项目Alpha发布之前,整个项目过程在按照计划进行,登录功能的推迟发布也在我们小组的计划之中,在Alpha发布版本属于“选做”功能,并没有影响到Alpha发布的主要完成计划。
7. 在计划中有没有留下缓冲区,缓冲区有作用么?
没有,由于我们对于项目进程的估计保守,且任务分割细致,因而并没有在计划中留下缓冲区。
8. 将来的计划会做什么修改?(例如:缓冲区的定义,加班)
Alpha发布的完成,使我们对于项目的进度十分满意,因此,我们可能会对将来的功能做出更加“大胆”的计划,因此,可能会在计划中留下一定的缓冲区以防计划失控。至于加班问题,因为大家在项目之外还有很多来自导师以及其他课程的作业和任务,暂时没有加班的打算。
我们学到了什么? 如果历史重来一遍, 我们会做什么改进?
在Alpha发布完成后,我们在这3周的时间里感受到了项目任务的细致分割对于大家的效率和积极性有着很大的提升。每日召开Scrum会议上交流各自每日所做的工作也会督促着大家去努力完成各自的任务。因此我们会继续保持这种做法。
——————————————————————————————————————————————————
资源
1. 我们有足够的资源来完成各项任务么?
没有,因为这个项目是一款手机Android端APP,在物质资源上,由于团队里有的人使用的是iphone手机,在使用效果上,电脑Android模拟器肯定是比Android手机实体要差一点的。而时间资源上,这个Android端APP项目对于小组内的大部分人来说是一个从未接触过的领域,需要耗费额外的时间去学习Android端编程,有些人还要去学习Java语言,而且小组成员们也来自不同的导师和小组,也有着各自优先级更高的个人任务需要去完成,时间资源上也十分地匮乏。
2. 各项任务所需的时间和其他资源是如何估计的,精度如何?
在组队初始,大家都简单自我介绍了一下,并且对于各自会哪些技能都有了相互的认识,在各项任务的时间和资源分配上会考虑到每个人的技能和学习能力,时间精度精确至小时。
3. 测试的时间,人力和软件/硬件资源是否足够? 对于那些不需要编程的资源 (美工设计/文案)是否低估难度?
因为是Alpha发布,并且完成的功能很少,因此项目测试的时间、人力和软/硬件资源是足够的。对于非编程资源(文案/美工)确实是低估了其难度,分配的精力和时间过少,导致文案、美工、视频展示还有课堂展示都没有达到预期的效果,甚至是很糟糕……
有什么经验教训? 如果历史重来一遍, 我们会做什么改进?
任何任务都是重要的,我们对于文案、美工、视频展示还有课堂展示的轻视导致了Alpha发布成果低于预期。如果历史重来一遍,我们会对非编程任务也重视起来,做出更加完善的计划。
——————————————————————————————————————————————————
变更管理
1. 每个相关的员工都及时知道了变更的消息?
我们运用微信讨论组传递消息,要求在收到消息后及时地反馈,并且我们每日都会定时召开Scrum会议,因此每个小组成员都会及时知道变更消息。
2. 我们采用了什么办法决定“推迟”和“必须实现”的功能?
在每日的Scrum会议上会讨论大家每日的工作,对于各自的进度、效率和成长都会有着认识,也会根据每日的实际情况来决定“推迟”和“必须实现”的功能。
3. 项目的出口条件(Exit Criteria – 什么叫“做好了”)有清晰的定义么?
有,因为计划的保守,在Alpha发布阶段我们对于项目的出口条件是基本实现即算完成。
4. 对于可能的变更是否能制定应急计划?
否,因为我们对于任务分割细致,且在Alpha发布阶段各自的任务并不是太多,因而并未考虑到应急计划。
5. 员工是否能够有效地处理意料之外的工作请求?
否,因为任务都是在按照计划进行,所以也没有出现意料之外的工作请求。
我们学到了什么? 如果历史重来一遍, 我们会做什么改进?
在接下来的项目阶段,由于计划会越来越多,可能会出现任务分割及分配不够细致的问题,因此应急计划的需求也会随之产生。
——————————————————————————————————————————————————
设计/实现
1. 设计工作在什么时候,由谁来完成的?是合适的时间,合适的人么?
设计工作是大家一起在会议时间内完成的,是属于合适的时间与合适的人。
2. 设计工作有没有碰到模棱两可的情况,团队是如何解决的?
因为是Alpha发布阶段,在设计工作中遇到的模棱两可的情况我们会在讨论后选择是否推迟或者放弃实现。
3. 团队是否运用单元测试(unit test),测试驱动的开发(TDD)、UML, 或者其他工具来帮助设计和实现?这些工具有效么? 比较项目开始的 UML 文档和现在的状态有什么区别?这些区别如何产生的?是否要更新 UML 文档?
没有。因为在Alpha发布阶段时间资源不够充足。
4. 什么功能产生的Bug最多,为什么?在发布之后发现了什么重要的bug? 为什么我们在设计/开发的时候没有想到这些情况?
在获取首页博客功能上,由于设计失误,导致程序每24小时都要更新一次内部代码才能保证链接到首页。
5. 代码复审(Code Review)是如何进行的,是否严格执行了代码规范?
由于开发时间很短,并没有进行代码复审。代码规范也并没有严格执行。
我们学到了什么? 如果历史重来一遍, 我们会做什么改进?
对于项目计划的时间分配要做到更加准确,也要为将来阶段做好测试bug的时间预留,代码复审等也要更加留意。
——————————————————————————————————————————————————
测试/发布
1. 团队是否有一个测试计划?为什么没有?
没有,在Alpha阶段时间分配过于紧凑,后期也由于各自有着文案、美工、视频展示和课堂展示的准备工作,并没有测试计划。
2. 是否进行了正式的验收测试?
否,仅仅是有着视频展示和课堂展示。
3. 团队是否有测试工具来帮助测试?
Android系统手机,电脑上的Android模拟器。
4. 团队是如何测量并跟踪软件的效能的?从软件实际运行的结果来看,这些测试工作有用么?应该有哪些改进?
由于在Alpha阶段实现的功能过少,且目的也仅仅是为了证明项目能够“联网”和“跑起来”,因为并没有对软件进行效能测试。
5. 在发布的过程中发现了哪些意外问题?
视频展示和课堂展示准备过于仓促。
我们学到了什么? 如果历史重来一遍, 我们会做什么改进?
计划要充分,准备要完善。非编码的工作也要认真地计划并完成。
——————————————————————————————————————————————————
团队的角色,管理,合作
1. 团队的每个角色是如何确定的,是不是人尽其才?
在组队后,我们的第一次会议就是大家对自己做介绍,表明各自的能力,然后大家一起讨论分配各自的角色,做到了人尽其才。
2. 团队成员之间有互相帮助么?
有,我们是一个团队,大家都很热情,互相帮助。
3. 当出现项目管理、合作方面的问题时,团队成员如何解决问题?
由组长出面,快速地找到问题的源头,找到涉及人员,面对面地讨论解决。
——————————————————————————————————————————————————
总结:
你觉得团队目前处于 萌芽/磨合/规范/创造 阶段的哪一个阶段?
我认为团队目前处于 磨合 阶段,大家各自的能力有着提升的空间。
你觉得团队在这个里程碑相比前一个里程碑有什么改进?
对于计划要更为完善,这样对于项目后期完善有着更为充裕的时间和空间。
你觉得目前最需要改进的一个方面是什么?
作为一个APP需要实现更多的功能。我们会收集整理用户们的反馈结果,完善更多的功能。
——————————————————————————————————————————————————
附:会议照片