项目回顾
设想和目标
1.我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述?
我们团队要解决的是家庭账本的编写 定义较为清楚
2.是否有充足的时间来做计划
不太充足因为我们组确定项目时间较晚
3.团队在计划阶段是如何解决同事们对于计划的不同意见的?
投票解决
有什么经验教训? 如果历史重来一遍, 我们会做什么改进?
确立项目时没有深刻思考团队成员是否有能力能够完成计划
计划
1.你原计划的工作是否最后都做完了? 如果有没做完的,为什么?
大部分做完了,没做完的因为能力不足导致时间不够
2.有没有发现你做了一些事后看来没必要或没多大价值的事?
在项目主要功能没做完是添加一些不必要的功能
3.是否每一项任务都有清楚定义和衡量的交付件?
定义不是太清楚,没有衡量的交付件
4.是否项目的整个过程都按照计划进行,有什么风险是当时没有估计到的,为什么没有估计到?
没有
5.在计划中有没有留下缓冲区,缓冲区有作用么?
没有留下缓冲区,缓冲区可以对计划中没有预料到的地方提供解决时间
6.将来的计划会做什么修改?(例如:缓冲区的定义,加班)
建立缓冲区
7.我们学到了什么? 如果历史重来一遍, 我们会做什么改进?
如何去制定项目计划 会建立缓冲区
资源
1.我们有足够的资源来完成各项任务么?
没有
2.各项任务所需的时间和其他资源是如何估计的,精度如何?
预估 精度不高
3.测试的时间,人力和软件/硬件资源是否足够? 对于那些不需要编程的资源 (美工设计/文案)是否低估难度?
不太够 没有
4.你有没有感到你做的事情可以让别人来做(更有效率)?
没有
有什么经验教训? 如果历史重来一遍, 我们会做什么改进?
会尽可能的选择我们掌握比较熟练的技术来开发
变更管理
1.每个相关的员工都及时知道了变更的消息?
是
2.我们采用了什么办法决定“推迟”和“必须实现”的功能?
团队讨论
3.项目的出口条件(Exit Criteria – 什么叫“做好了”)有清晰的定义么?
没有清晰的定义
4.对于可能的变更是否能制定应急计划?
是
5.员工是否能够有效地处理意料之外的工作请求?
不能
我们学到了什么? 如果历史重来一遍, 我们会做什么改进?
会留一些时间处理计划之外的事
设计 实现
1.设计工作在什么时候,由谁来完成的?是合适的时间,合适的人么?
设计工作是在项目确定第一周开始,共同完成 是 是
2.设计工作有没有碰到模棱两可的情况,团队是如何解决的?
有,重新定义任务
3.团队是否运用单元测试(unit test),测试驱动的开发(TDD)、UML, 或者其他工具来帮助设计和实现?这些工具有效么?
没有用到
4.什么功能产生的Bug最多,为什么?在发布之后发现了什么重要的bug? 为什么我们在设计/开发的时候没有想到这些情况?
保存功能 因为我们的云函数的使用不太熟练
5.代码复审(Code Review)是如何进行的,是否严格执行了代码规范?
没有代码复审
我们学到了什么? 如果历史重来一遍, 我们会做什么改进?
设计时要多思考
测试 发布
团队是否有一个测试计划?为什么没有?
有
2.是否进行了正式的验收测试?
没有
3.团队是否有测试工具来帮助测试?
没有
4.团队是如何测量并跟踪软件的效能的?从软件实际运行的结果来看,这些测试工作有用么?应该有哪些改进?
没有测试
5.在发布的过程中发现了哪些意外问题?
微信审核没通过
总结:
你觉得团队目前的状态属于 CMM/CMMI 中的哪个档次?
CMM
你觉得团队目前处于 萌芽/磨合/规范/创造 阶段的哪一个阶段?
磨合
你觉得团队在这个里程碑相比前一个里程碑有什么改进?
互相更了解
你觉得目前最需要改进的一个方面是什么?
没什么
感谢:软工课让我了解到软件开发的流程和自己的不足