事后分析
设想和目标
- 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述?
嵌入式设备上的从无到有的俄罗斯方块,定义的很清楚,典型用户也很清晰,玩游戏机的那批人。 - 是否有充足的时间来做计划?
有 - 团队在计划阶段是如何解决同事们对于计划的不同意见的?
沟通讨论 - 用户量, 用户对重要功能的接受程度和我们事先的预想一致么? 我们离目标更近了么?
不一致,还没宣传没几个用户。
计划
- 你原计划的工作是否最后都做完了? 如果有没做完的,为什么?
全部完成。 - 有没有发现你做了一些事后看来没必要或没多大价值的事?
没有。 - 是否项目的整个过程都按照计划进行,项目出了什么意外?有什么风险是当时没有估计到的,为什么没有估计到?
没有意外,没有风险。 - 在计划中有没有留下缓冲区,缓冲区有作用么?
有,但是我们分工明确、行动迅速,一路碾压过来基本上没用到缓冲区。
资源
- 我们有足够的资源来完成各项任务么?
有。 - 各项任务所需的时间和其他资源是如何估计的,精度如何?
根据难度和能力大致预估,基本上准确。 - 测试的时间,人力和软件/硬件资源是否足够? 对于那些不需要编程的资源 (美工设计/文案)是否低估难度?
足够。没有。 - 你有没有感到你做的事情可以让别人来做(更有效率)?
没有。
变更管理
- 每个相关的员工都及时知道了变更的消息?
是。 - 我们采用了什么办法决定“推迟”和“必须实现”的功能?
讨论沟通。 - 项目的出口条件(Exit Criteria – 什么叫“做好了”)有清晰的定义么?
清晰。 - 对于可能的变更是否能制定应急计划?
能。 - 员工是否能够有效地处理意料之外的工作请求?
是。
设计/实现
- 设计工作在什么时候,由谁来完成的?是合适的时间,合适的人么?
团队最初的时候就开展设计计划了。是。 - 设计工作有没有碰到模棱两可的情况,团队是如何解决的?
是,讨论沟通。 - 代码复审(Code Review)是如何进行的,是否严格执行了代码规范?
队长复审。是。 - 我们学到了什么? 如果历史重来一遍, 我们会做什么改进?
学到了软件开发的一系列流程,我们会选一个挑战大些的项目。
测试/发布
- 团队是否有一个测试计划?为什么没有?
是。 - 是否进行了正式的验收测试?
是。
总结
1.你觉得团队目前的状态属于 CMM/CMMI 中的哪个档次?
CMMI 。
2.你觉得团队目前处于 萌芽/磨合/规范/创造 阶段的哪一个阶段?
萌芽阶段。
3.你觉得团队在这个里程碑相比前一个里程碑有什么改进?
学会了基本的软件工程开发流程。
4.你觉得目前最需要改进的一个方面是什么?
提高设计能力。
5.我们小组什么地方做的比较好?
项目准时完成。
团队贡献
名字 团队贡献分 可验证贡献
郑鉴 50 硬件搭建、中断、定时器控制、通信
余伟淇 50 算法、界面、测试、文档