Alpha阶段事后诸葛分析

1.事后诸葛分析

一、设想和目标

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

  • 要解决的问题:我们的网站预期目标主要是集美大学的师生,为他们解决各种需求。提供一个平台。

  • 定义清楚:以用户体验为第一,盈利为第二

  • 清晰的描述:预期用户是集美大学在校师生,等一定时期之后我们还会对目标人群进行改变。

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

在Alpha阶段已完成的目标:基本都完成了,比如

  • ①登录界面的设计
  • ②服务器的搭建
  • ③数据库
  • ④用户界面
  • ⑤管理员界面
  • ⑥管理员功能。。。。。
  • 2.比原计划交付时间提前交付
  • 3.因为目前是alpha阶段,还未发布正式版本,目前用户数量有30个人,

3. 和上一个阶段相比,团队软件工程的质量提高了么? 在什么地方有提高,具体提高了多少,如何衡量的?

  • 1.与上一阶段结对编程相比,我们团队有明显的提高,不仅仅在团队上,而是具体体现在每个团队成员的提升。这是非常重要的,只有团队成员的提升才能促使整个团队的提高
  • 2几乎是全面性的提升,在代码方面,在效率方面,在沟通方面、在目标制定方面。
  • 3.具体可以说提高了一个级别,衡量可以看具体的项目,看项目的完成质量就可以看出来了

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

  • 1.目前用户量为30人,与我们事先的预想还有一定距离。功能基本能满足用户需求但是对于用户愉快体验还相差甚远,我们团队要做的就是尽量满足用户体验
  • 2.当然

二、计划

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

是,但是我们一直都有谈论,所以idea一直冒出来,所以计划一直有变,但是我们的定位从未改变。

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

开会讨论,但是最终由投票决定。队长占有两票。

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

基本都完成了

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

当然有的,比如编写代码时会有一些突发奇想——没必要的功能。

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

并不是每一项都有清楚的定义,很多的任务都只是初步阶段,因为谁之前也没做过,所以不可能有清楚地定义,只有先做出来才能进行修改,还有就是任务传达时,我尽量将要完成具体什么什么样说清楚,因为如果没说清楚,后面会浪费很多时间和精力。

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

总体来说是没有什么大问题,但是在一些细节方面总是不容易做到估计,很多时候要根据具体情况,具体分析,具体操作。所以需要经常开会讨论。

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

当然有,就是我们提前规定了要提前两天将整体代码完成,然后留出两天时间预防突发状况,或进行最后的测试与修改。

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

会有细微的修改,仍然会有几天的缓冲时间。

三、变更管理

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

人力资源足够了,我们组有php大神,有能合理安排任务的团队队长,有搞机经验丰富的组员来做手机安卓app,还有努力学习新知识来做前端的组员。
时间资源丰富,因为我们团队成员没有参与其它的项目,除了平时上课和做实验之外,其它大部分时间都是在做软件工程的项目。
学习资源很多,因为我们收藏了很多学习资料,方方面面的教学视频,所以我们在做项目过程中遇到不会的都是现学现用,特别是前端部分,因为我们所有组员在之前都没有接触过,所以都是疯狂学习。
服务器资源方面,我们组有搭建了一台服务器,就目前的项目而言,足够用了。
丰富的精神资源,我们是一个宿舍四个人再加上别的班级的一位同学来组成一个团队,彼此之间关系都很好,所以在做项目的过程中合作都是比较愉快的。

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

我们团队对此比较少估计,因为都很认真在做,能确定自己可以保质保量地完成,所以并不担心这些方面的问题。
我们团队要考虑的是如何完善我们的项目,要做出更多功能, 让用户有更好的体验。既然要做,就要努力向一个好产品靠拢。

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

测试时间充足,平时的时间基本都在做项目,一边做一边测试。
人力资源和软/硬件资源充足,本组共有5名组员,每人都有自己的个人电脑,且我们搭建了一个服务器。
美工设计的难度我们一直是很重视的,因为我们五个组员没有一个是会前端的,我们都是一边学习前端一边在做,尽可能把页面做得美观和人性化,就目前的展示效果而言,用户的反映还是可以的,接下去会继续努力;
没有低估文案的难度,博客的撰写也是很难的,既要美观易读,也要严谨。因为博客是别人对我们项目的第一印象,也是了解我们项目具体细节的重要途径,所以博客是非常重要的,你项目做得好,也需要在博客好好地展示。并且我们需要在博客阐述我们的各种想法。

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

我们的组员都没有这种想法,因为我们分配任务就是根据各个组员的能力来分配的,每个组员都有自己所擅长的事情。
就算这个任务别的组员也有能力做,但是别的组员已经有自己的任务了。所以说,每个组员都用心做好自己的任务,这样才能提升团队的效率。

五、设计/实现

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

设计工作在需求分析之后完成的,是由我们的组长完成的,我们认为是合适的时间和合适的人。

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

有遇到过设计时出现不清楚的情况,是由队长召集团队成员开会商讨解决方案,团队成员共同给出参考意见。

3.团队是否运用单元测试(unit test),测试驱动的开发(TDD)、UML, 或者其他工具来帮助设计和实现?这些工具有效么? 比较项目开始的 UML 文档和现在的状态有什么区别?这些区别如何产生的?是否要更新 UML 文档?

没有使用unit test和TDD,在原型设计时我们和大部分团队一样使用了墨刀,我认为墨刀确实是特别有效的工具,能很直观的展示设计初期的想法,以及大部分想要实现的功能,而且有新的想法时,更新和改进也特别的方便。

4.什么功能产生的Bug最多,为什么?在发布之后发现了什么重要的bug? 为什么我们在设计/开发的时候没有想到这些情况?

在订单的处理这一块遇到了比较多的bug,因为代码编写和最开始的想法出现了一点偏差,并且也比较复杂。发布之后没有发现什么严重而且重要的bug,我认为是在设计开发阶段思考的不够全面,以及团队交流不够频繁。

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

主要就是反复测试运行代码,检查各种功能能否正常执行以及是否有重要功能的缺失等等,函数命名和代码结构完全符合代码规范,以及代码可读性等。

六、测试/发布

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

  • 有,有了计划以后就不会胡乱测试了。

2.是否进行了正式的验收测试?

  • 有但是并不是特别正式的验收测试。

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

  • 没有。

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

  • 团队是在谷歌浏览器上测量跟踪软件效能,个人感觉还是有用的。

5.在发布的过程中发现了哪些意外问题?

  • 第一次发布时有遇到过订单出现混乱的情况,后来改进代码解决了。

七、总结

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

  • CMMI二级:管理级
  • 在Alpha阶段,团队有进行了需求分析调研、原型设计、WBS分解、数据库E-R图设计等前期准备。在冲刺阶段,我们每个成员认领了各自的任务,每天都有每日例会。对每日要完成的任务以及开发过程中遇到的问题进行说明。

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

规范阶段
经过几周的时间的磨合,我们每个成员都有了长足的进步,不仅仅是在个人能力的拓展,更重要的是在项目的开发上面有了全新的认知,团队合作给我们带来的更多是跟队员们的融合和共同协作能力。

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

  • 清楚了网页以及前段开发的基本流程,不会像刚开始的时候摸不着方向
  • 基本实现了网页的搭建,基本功能的实现
  • 团队成员经常聚在一起讨论问题,小组成员之间的感情更加深厚,同时也增强了团队的凝聚力。

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

目前最需要改进的一个方面应该是项目的进度把控,目前我们的网页功能基本实现完毕,现在要处理的是界面完善,能够让人更加一目了然的上手我们的网页和app。

5.对照敏捷开发的原则, 你觉得你们小组做得最好的是哪几个原则? 请列出具体的事例。

  • 原则:在做这个项目的时候,我们秉承的就是尽量还原我们预期的功能期望和界面完善。
  • 事例:在Alpha阶段中,有一个争议很大的就是“need”和“offer”的排版问题,经过很长时间的改进和不断讨论得来的结果就是“need”“offer”要做到一目了然简洁明了。

八、全组讨论照片

2.团队成员在Alpha阶段的角色和具体贡献排序

名字 团队贡献排序 可验证的贡献 团队个人贡献分
廖余俊 2 分配团队成员任务,确定团队选题以及寻找用户人群 25
蓝锦明 4 团队项目git仓库的建立,以及添加计划至码云的团队项目Issues 17
李绍乐 1 对团队选题的真实性可用性以及价值性评估,确定团队预期效果 30
方旭 3 确定部分团队项目计划安排,开始初步代码编辑 20
谢季努 5 编辑博客,确定建立教务辅助系统大致流程,制定时间安排表 13
posted @ 2018-05-16 20:45  别看了你没救了队  阅读(174)  评论(0编辑  收藏  举报