团队项目之事后分析

  

 

 设想和目标

  1. 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述?

    我们的网站主要是参照豆瓣的部分功能,解决用户分享影视,音乐,摄影交流平台的问题。

    网站的定义是比较清楚的,我们主要根据这三个功能模块进行展开论述,用户的定位也是20-30岁这个年龄段的年轻人。

    我觉得我们对典型用户和典型场景描述的较为清晰,首先根据我们团队的设想进行构思和描述,后面通过查阅网络相关资料,询问身边的同学和朋友来确定我们的场景。

  2. 我们达到目标了么(原计划的功能做到了几个? 按照原计划交付时间交付了么? 原计划达到的用户数量达到了么?)?

    总的来说,我们达到了原有的目标。

    基本功能虽然有一些细微的问题,但总体而言还是完成了。由于期末考试临近,所以我们在原有的一些基础上进行了细微的调整。

    由于网站还没有上线,所以暂时无法统计我们的用户数量。

  3. 用户量, 用户对重要功能的接受程度和我们事先的预想一致么? 我们离目标更近了么?

    在团队看来,团队成员对网站的重要功能还是比较满意的。当然,跟预想的结果还是有一点不一样,但总的来说,我们离目标是更进一步了。

  4. 有什么经验教训? 如果历史重来一遍, 我们会做什么改进?

    经验教训是要提前分配好任务,预留无法工作的时间,因为期末临近,并不是每一天都有空弄这个改进的东西。

    如果历史重来一遍,我们会做好规划,并更好的付诸行动。

计划

  1. 是否有充足的时间来做计划?

    我们预留了时间做计划,但不算很多,

  2. 团队在计划阶段是如何解决同事们对于计划的不同意见的?

    我们出现不同意见的时候,大多数会先在组内展开讨论,如果实在无法达成共识的话,队长就会选择他觉得比较合适的方案。

  3. 你原计划的工作是否最后都做完了? 如果有没做完的,为什么?

    团队成员基本上完成了自己的任务。

  4. 有没有发现你做了一些事后看来没必要或没多大价值的事?

    有时候因为没有事先商量好负责哪一个板块的东西,所以导致出现了一点小的问题,导致工作量的重复。

  5. 是否每一项任务都有清楚定义和衡量的交付件?

    对的,基本上每一项任务都有清楚定义和衡量的交付件。

  6. 是否项目的整个过程都按照计划进行,项目出了什么意外?有什么风险是当时没有估计到的,为什么没有估计到?

    网站由于时间有限和成员能力有所不足的问题,进展比较缓慢,没有准确预估好团队成员的工作时间。

  7. 在计划中有没有留下缓冲区,缓冲区有作用么?

    有,缓冲区可以让我们歇一口气。

  8. 将来的计划会做什么修改?(例如:缓冲区的定义,加班)

    留够充足的时间来完成项目,留下更多的时间给缓冲区,增加项目的灵活性。

  9. 我们学到了什么? 如果历史重来一遍, 我们会做什么改进?

    主要从这次项目中学到了团队协作,一个人走的话虽然走得快,一群人走的话才会走的元。

资源

  1. 我们有足够的资源来完成各项任务么?

    人力资源上:我们有6个人完成,其中4个人负责后端的模块,2个人负责前端的模块, 

    开发资源:我们的开发资源主要通过github上的开源项目还有百度百科上的一些开发经验给我们帮助。

    设备资源:我们的设备主要是通过人手一台的电脑来实现的

    时间资源:我们还是留出自己的空余时间一起完成这个项目。

  2. 各项任务所需的时间和其他资源是如何估计的,精度如何?

    同样是根据任务量估计的,根据网站的功能,细化的功能大小来预估,精度还算是较为准确的。 

  3. 测试的时间、人力和软件/硬件资源是否足够?对于那些不需要编程的资源(美工设计/文案)是否低估难度?

    测试的时间、人力和软件/硬件资源还是相对比较充足的,并没有降低非编程的资源是否低估难度。

  4. 你有没有感觉你做的事情可以让别人来做(更有效率)?

    可以把分工做的更还一点来提高团队的效率。

  5. 有什么经验教训?如果历史重来一遍,我们会做什么改进?

    需要更多的时间和资源来完成项目。

变更管理

  1. 每个相关的员工都及时知道了变更的消息?

    是的。每位成员更新代码后,都会上传至GitLab,并且在微信群通知大家;每位成员测试时发现接口文档有问题,都会提交到gitLab的issue中,方便成员及时更新接口文档

  2. 我们采用了什么办法决定“推迟”和“必须实现”的功能?

    从两方面考虑,一是需求,二是实现难度。结合需求与实现难度,综合难度较低的需求必须实现,综合难度高的需求需要推迟。

  3. 项目的出口条件(Exit Criteria - 什么叫“做好了”) 有清晰的定义么?

    有。

    Web页面可以及时响应数据给用户

    用户的相应需求都能得到满足

    测试时发现的一些bug得以修复

  4. 对于可能的变更是否能指定应急计划?

    可以。对于临时增加的紧急需求,可以通过gitLab创建分支,在分支上进行相应的开发,等满足需求后,并测试稳定后合并到上线的分支上,更新项目版本

  5. 我们学到了什么?如果历史重来一遍,我们会做什么改进?

    整个过程我们体会最大的还是团队合作的意识,唯有团队分工明确,主旨统一时,才能够较好地完成一个项目。如果重来一遍,我们会更好地分工,在分好工后再开始实现项目

设计/实现

  1. 设计工作在什么时候,由谁来完成的?是合适的时间,合适的人么?

    在测试阶段开始的时候,我们一起商议了接下来等待完成的各个工作。对于新增接口,大家一起商定,由前后端人员分别实现。前端的美化由陈俊锋去完成,图片和图标等素材由易俊楷完成。测试则由郑伟金先进行,其他人完成各自工作后进行辅助。

  2. 设计工作有没有碰到模棱两可的情况,团队是如何解决的?

    有,比如对于某些新功能是否需要的问题,大家的意见不一致,我们就当即进行讨论,对于相应的情况进行表决,以多数的投票为意见

  3. 代码复审(Code Review)是如何进行的,是否严格执行了代码规范?

    基本没有,由于大家的基础不同,所以代码风格各有差异,所以代码规范基本是以个人的代码素养为前提来进行复审的。

  4. 我们学到了什么? 如果历史重来一遍, 我们会做什么改进?

    在一开始的时候,由于没有分析好需求与相应的难度,我们制定了许多了需求,到了后期,由于时间的不足与需求难度的上升,导致一些需求无法满足而被搁置了。归结到底,是由于我们最初没有考虑好产品的定位,从而导致了需求过于复杂。如果再来一次,我们会把基础的需求先提出来,而后对于难度较大的需求进行综合评估,看看团队是否有条件与能力去完成这个需求。

测试/发布

  1. 团队是否有一个测试计划?为什么没有?

    有,由于是前后端分离,所以需要书写接口文档,在对接口文档之前,需要前后端人员各自先本地测试功能是否能正常运行。不过测试是由具体的开发人员来完成的,不同部分进行不同的测试

  2. 团队是否有测试工具来帮助测试?

    没有,在整个开发过程中,都是通过一些假数据来进行模拟的

  3. 团队是如何测量并跟踪软件的效能的?从软件实际运行的结果来看,这些测试工作有用么?应该有哪些改进?

    对于此款软件我们团队对其进行了相应的压力测试,观察了后台大概能够承受的并发量。由于该软件未上线,所以测试工作的作用并未得以体现,最好是可以将软件上传到相应的服务器,然后用几台机器进行压力测试

总结

  • 你觉得团队目前的状态属于 CMM/CMMI 中的哪个档次?

    达到CMMI中的二级,管理级别。在项目实施上能够遵守既定的计划与流程,有资源准备,权责到人,对相关的项目实施人员有相应的培训,对整个流程有监测与控制。但是还没有一套完整的管理措施,没有制度化。

  • 你觉得团队目前处于 萌芽/磨合/规范/创造 阶段的哪一个阶段?

    磨合和规范之间。

  • 你觉得团队在这个里程碑相比前一个里程碑有什么改进?

    很多大家的磨合度明显提高,效率也提升了,而且更加有默契,遇到问题大家都会讨论解决

  • 你觉得目前最需要改进的一个方面是什么?

    代码规范性问题,我们的代码注释比较少,以及开发效率问题

  • 我们小组什么地方做的比较好?

    我们组的很积极、团结,配合程度还是比较不错的,遇到问题大家会积极参与讨论,合作起来比较顺利

  • 下个阶段需要改进什么?

    没有下了阶段了。但还是期待大家后续的合作

改进

  1. 团队目前最需要改进的地方是,团队合作的流程不够规范,没有完整的制度或流程有效地提高效率
  2. 时间规划不够好,到后期,大家的时间都比较紧,不过,后来通过每天提交代码的形式,团队的执行力有效提高了,只要任务布置下来,大家都会挤出来时间去完成的。
posted @ 2019-12-12 23:17  ZWJBLOG  阅读(251)  评论(0编辑  收藏  举报