事后诸葛亮分析
这个作业属于哪个课程 | https://edu.cnblogs.com/campus/gdgy/Networkengineering1834 |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/gdgy/Networkengineering1834/homework/11154 |
这个作业的目标 | 学会如何复审与事后分析 |
队名
打工少年团
队员情况
姓名 | 学号 |
---|---|
张朝霖 | 3118005346 |
陈鑫海 | 3118005317 |
方泽凯 | 3118005322 |
杨金华 | 3118005342 |
杨茂昕 | 3118005343 |
杨子丰 | 3118005344 |
项目名称
一个简易的电商小项目
一、设想和目标
1. 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述?
我们主要想做一个简易版的电商网站。但是没有定义得很清楚。典型用户和典型场景就是模拟想要网购的用户在网上进行购物的过程。
2. 我们达到目标了么(原计划的功能做到了几个? 按照原计划交付时间交付了么? 原计划达到的用户数量达到了么?)
很遗憾,我们努力达成了大部分目标,但是仍然有目标没有达成
3. 用户量, 用户对重要功能的接受程度和我们事先的预想一致么? 我们离目标更近了么?
项目未能上线,很遗憾,因此用户量无法判断。离目标是变近了,但并未达到目标。
4.有什么经验教训? 如果历史重来一遍, 我们会做什么改进?
我们没有考虑到全面,只考虑了部分的功能。
改进:如果历史重来,我们可能会选择一个更加符合我们的状况的项目,并努力让其上线。
二、计划
1. 是否有充足的时间来做计划?
有,做计划的时间相对充足。
2. 团队在计划阶段是如何解决同事们对于计划的不同意见的?
有想法的可以提出,少数服从多数。
3. 你原计划的工作是否最后都做完了? 如果有没做完的,为什么?
没有全部做完,在做项目过程中,有很多还没接触过的内容,同时我们全部人没有团队项目经验,这对时间的消耗也很大。
4. 有没有发现你做了一些事后看来没必要或没多大价值的事?
一开始在某些细节上过于纠结,应该一开始就加快进度的。
5. 是否每一项任务都有清楚定义和衡量的交付件?
基本上是,但交付的结果并不一定达到标准。
6. 是否项目的整个过程都按照计划进行,项目出了什么意外?有什么风险是当时没有估计到的,为什么没有估计到?
一开始是按计划进行的,但越到后期越发现有很多东西需要补充的,同时还有很多不明白的东西需要现学现用。
7. 在计划中有没有留下缓冲区,缓冲区有作用么?
有,但不多且并未很好地利用。
8. 将来的计划会做什么修改?(例如:缓冲区的定义,加班)
预留出更多的时间放在测试版本阶段。
9.我们学到了什么? 如果历史重来一遍, 我们会做什么改进?
时间计划应该安排得更合理一些。
改进:会留下更充足的缓冲区。
三、资源
1. 我们有足够的资源来完成各项任务么?
有足够的人力资源;但普遍缺少项目经验,同时也缺乏一些知识。
2. 各项任务所需的时间和其他资源是如何估计的,精度如何?
对各项工作的预期复杂程度和工作量进行估计,精度其实是不够准确的。
3. 测试的时间,人力和软件/硬件资源是否足够? 对于那些不需要编程的资源 (美工设计/文案)是否低估难度?
测试时间不太够,人力资源足够,软硬件资源足够,但由于熟练度问题使用不充分。对于美工设计所需的时间低估。
4. 你有没有感到你做的事情可以让别人来做(更有效率)?
没有,任务的分配已经相对合理了。
5.有什么经验教训? 如果历史重来一遍, 我们会做什么改进?
由于熟练度的问题,对软硬件的使用不够充分。
改进:提高对各种资源的利用率。
四、变更管理
1. 每个相关的成员都及时知道了变更的消息?
通过一个专门的微信群来通知大家项目的进展及变动。
2. 我们采用了什么办法决定“推迟”和“必须实现”的功能?
通过判断各个功能模块在总的项目中的重要性来决定,主要功能是必须实现的,其他的看情况可以“推迟”。
3. 项目的出口条件(Exit Criteria – 什么叫“做好了”)有清晰的定义么?
必须实现的功能能够实现,没有重大bug,用户能正常体验。
4. 对于可能的变更是否能制定应急计划?
没有,由于是第一次做项目,并没有安排应急计划。
5. 成员是否能够有效地处理意料之外的任务请求?
成员之间的交流还是充分的,但一些技术上的问题也可能无法解决。
6.我们学到了什么? 如果历史重来一遍, 我们会做什么改进?
对于预料之外的情况没有安排应急计划。
改进:增加对意料之外的情况的应对方案。
五、设计/实现
1. 设计工作在什么时候,由谁来完成的?是合适的时间,合适的人么?
设计工作是由团队成员会议决定的,队长提出大致方向,成员发表意见。
2. 设计工作有没有碰到模棱两可的情况,团队是如何解决的?
存在一些,少数服从多数。
3. 团队是否运用单元测试(unit test),测试驱动的开发(TDD)、UML, 或者其他工具来帮助设计和实现?这些工具有效么?
由于时间计划的原因,只使用了一部分,有效。
4. 代码复审(Code Review)是如何进行的,是否严格执行了代码规范?
代码复审由专门的复审人员进行。尽量执行了代码规范。
5.我们学到了什么? 如果历史重来一遍, 我们会做什么改进?
分析需要更细致一些,在设计工作的时候要考虑可能的困难和不可抗因素。
改进:设计工作会设计得更合理一些。
六、测试/发布
1. 团队是否有一个测试计划?为什么没有?
有,但测试计划并未完全完成。。
2. 是否进行了正式的验收测试?
没有。
3. 团队是否有测试工具来帮助测试?
有,但因为软件使用得并不熟练,也采取了部分人工测试。
4. 在发布的过程中发现了哪些意外问题?
在将项目部署到服务器上的时候出现了困难。
5.我们学到了什么? 如果历史重来一遍, 我们会做什么改进?
人工测试还是存在一些局限性的,很难找出一些小不足,效率也不够高。
改进:学习测试相关的工具,提高测试效率。
六、总结
1. 你觉得团队目前的状态属于 CMM/CMMI 中的哪个档次?
二级.
2. 你觉得团队目前处于 萌芽/磨合/规范/创造 阶段的哪一个阶段?
萌芽阶段,各成员在项目实现过程中都有许多未学习到的知识,且项目合作方面还有很多地方可以提升。
3. 你觉得目前最需要改进的一个方面是什么?
设计工作。我们在设计工作方面做的不够合理的,包括项目的设计,功能的实现,各个模块之间联系,都有很大的不足,这也是因为我们是第一次搞团队项目,由于项目经验和技术能力上的不足导致的,整体工作方面上还有很大的地方可以提升,而且设计工作其实是能很大程度影响整个项目的,以后要做新的项目时,一定要把设计工作做好。
七、角色与贡献:
姓名 | 角色 | 贡献 |
---|---|---|
张朝霖 | 后台开发,复审 | 20.2 |
陈鑫海 | PM | 19.5 |
方泽凯 | 测试 | 19.4 |
杨金华 | 数据库开发 | 20.3 |
杨茂昕 | 前端开发 | 19.7 |
杨子丰 | 前端,设计 | 19.9 |