团队作业6——事后诸葛亮分析
事后诸葛亮分析
团队成员在Alpha阶段的角色和具体贡献:
|
名字 |
角色 |
团队贡献分 |
可验证的贡献 |
|
刘智乐 |
PM |
26 |
后台实现、统筹项目实施 |
|
唐炫韬 |
Dev |
23 |
后台实现、数据库构建 |
|
刘琦 |
Dev |
24 |
整个前端页面设计 |
|
李东阳 |
Test |
14 |
测试、博客写作 |
|
李泽辉 |
Test |
13 |
测试、博客写作 |
项目Postmortem(事后分析报告)
设想和目标
1、我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述?
我们的软件要解决的是用户工作和生活同时使用微信,使得工作中的消息不能及时回复的问题。定义较为清楚,对典型用户和典型场景的描述有待商榷。
2、我们达到目标了么(原计划的功能做到了几个? 按照原计划交付时间交付了么? 原计划达到的用户数量达到了么?)
原计划的功能中已经实现了消息的收发。尚未按照原计划时间交付,用户数尚未达到。
3、和上一个阶段相比,团队软件工程的质量提高了么? 在什么地方有提高,具体提高了多少,如何衡量的?
软件工程的质量有一定程度的提高。比如解决了收发消息的一些bug。
4. 用户量, 用户对重要功能的接受程度和我们事先的预想一致么? 我们离目标更近了么?
用户量暂时没有达到预期数量,我们会在正式发布之后加强推广。
计划
1、 是否有充足的时间来做计划?
计划的时间比较仓促,但是后面还是通过协调来使工作有条不紊的进行。
2、团队在计划阶段是如何解决同事们对于计划的不同意见的?
PM把各位同事的意见都统一进行记录,然后进行投票,选取出最受大家欢迎的意见并实施。
3、 你原计划的工作是否最后都做完了? 如果有没做完的,为什么?
我原计划的工作是测试,在开发人员写代码的过程中,我便逐步进行测试,但鉴于软件最终版还没有发布,因此最后的测试工作还没有完成。
4、 有没有发现你做了一些事后看来没必要或没多大价值的事?
暂时没有。
6、 是否每一项任务都有清楚定义和衡量的交付件?
是,通过项目托管软件,每一项任务都有专人认领,然后按流程交付。
7、 是否项目的整个过程都按照计划进行,项目出了什么意外?有什么风险是当时没有估计到的,为什么没有估计到?
暂时没有出现意外。
8、 在计划中有没有留下缓冲区,缓冲区有作用么?
有留下缓冲区,这主要是给不同的参与者留下暂缓提交的时间,防止他们因为没有按时完成任务而压力过大。
9、将来的计划会做什么修改?(例如:缓冲区的定义,加班)
将来可能会做最后的冲刺,以使项目能成功发布,当然,如果时间不紧迫的话,也就没有必要进行冲刺了。
资源
1、 我们有足够的资源来完成各项任务么?
资源其实挺局促的,因为有些成员所学的知识明显不足,不足以应对项目开发,因此,这次作业是一个很大的考验。
2、 各项任务所需的时间和其他资源是如何估计的,精度如何?
各个成员通过预估他们自身的代码水平,来认领适合自己的职位,通过这些天的实践,发现精度还是挺高的。
3、 测试的时间,人力和软件/硬件资源是否足够? 对于那些不需要编程的资源 (美工设计/文案)是否低估难度?
资源有点短缺,这也是我们没有选择难度较高的项目的原因,对那些不需要编程的资源,还算是没有低估,因为我们选择了两个同学来完成博客的撰写工作,而事实也证明两个同学来完成这个任务真的不算多。
4、 你有没有感到你做的事情可以让别人来做(更有效率)?
对测试人员来说,可能有时会感觉一些测试如单元测试由开发人员来完成更合适,因为完成一个规模较小的软件时需要测试的代码也不算多,而这个时候沟通的成本相比测试的内容来说可能就显得过多了。
变更管理
1、每个相关的员工都及时知道了变更的消息?
基本符合。
2、 我们采用了什么办法决定“推迟”和“必须实现”的功能?
采用会议和群聊的方式,讨论各个功能实现的难度,然后进行取舍。
3、 项目的出口条件(Exit Criteria – 什么叫“做好了”)有清晰的定义么?
做好了就是实现了最基础的功能,并且运行稳定。
4、 对于可能的变更是否能制定应急计划?
能。
5、员工是否能够有效地处理意料之外的工作请求?
PM和其他成员的有效沟通显得很重要,而事实也证明了PM确实做得很好。
设计/实现
1、 设计工作在什么时候,由谁来完成的?是合适的时间,合适的人么?
设计工作由PM在项目决定之初完成。时间很合理,任选也很合理。
2、 设计工作有没有碰到模棱两可的情况,团队是如何解决的?
有遇到模棱两可的情况,团队通过投票来觉得最终的方案。
3、 团队是否运用单元测试(unit test),测试驱动的开发(TDD)、UML, 或者其他工具来帮助设计和实现?这些工具有效么? 比较项目开始的 UML 文档和现在的状态有什么区别?这些区别如何产生的?是否要更新 UML 文档?
有运用工具来帮助开发和测试。
4、 什么功能产生的Bug最多,为什么?在发布之后发现了什么重要的bug? 为什么我们在设计/开发的时候没有想到这些情况?
消息的收发产生的Bug最多,因为这个是核心功能,用到了很多Web技术,而这也是大家普遍多不熟悉的。发布之后暂时没有发现重要Bug。
6、代码复审(Code Review)是如何进行的,是否严格执行了代码规范?
代码复审通过各个成员的仔细纠错来实现。
测试/发布
1、 团队是否有一个测试计划?为什么没有?
并没有测试计划,因为这个项目规模较小,需要实现的功能也较少,因此就没有专门制定一个严格的测试计划。
2、 是否进行了正式的验收测试?
暂时没有。
3、团队是否有测试工具来帮助测试?
很多团队用大量低效率的手动测试,请提出改进计划:至少一个方面的测试要用自动化的测试工具,自动化的测试结果报告,比较测试结果的差异,等等。
用了EOLINKER等来帮助测试。
浙公网安备 33010602011771号