设想和目标
1.我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述?
我们的软件要解决用手机使没有指纹验证硬件的电脑可以利用指纹进行文件的加密。定义的很清楚。我们针对的是普通个人用户对于私人资料的日常加密。
2.我们达到目标了么?
我们的原计划是做出一套可用的加密系统包括电脑上的软件以及配套的手机app和两者之间的通讯连接,可以说我们以及按时完成了我们的预定目标。
3. 用户对重要功能的接受程度和我们事先的预想一致么? 我们离目标更近了么?有什么经验教训? 如果历史重来一遍, 我们会做什么改进?
现阶段我们软件已经实现了核心功能,然而在人机交互、界面美观方面还有待改进。我们离目标更近了。由于是边做边学,有很多问题是在开发过程中发现并着手解决,所以开发时间较长。如果重来一遍,我们会多花一点时间在着手开发前了解本软件实现所必须的相关知识上。
计划
1.是否有充足的时间来做计划?
是。。。
2.团队在计划阶段是如何解决同事们对于计划的不同意见的?
主要方式是通过组内讨论,有组长负责意见的整合处理。
3.你原计划的工作是否最后都做完了? 如果有没做完的,为什么?
做完了。
4.有没有发现你做了一些事后看来没必要或没多大价值的事?
没有,即使做错了,也是在积累经验。
5.是否每一项任务都有清楚定义和衡量的交付件?
没有。。。
6.是否项目的整个过程都按照计划进行,项目出了什么意外?有什么风险是当时没有估计到的,为什么没有估计到?
大致是按照计划进行的,有一些小的技术上的失误,但都妥善解决了。
7.在计划中有没有留下缓冲区,缓冲区有作用么?
没有。。
8.将来的计划会做什么修改?
根据软件工程课程中学到的知识,做出符合软件开发流程的计划。
资源
1.我们有足够的资源来完成各项任务么?
有!
2.各项任务所需的时间和其他资源是如何估计的,精度如何?
由组长估计各项任务所需要的大概时间,以天为单位分配任务。
3.测试的时间,人力和软件/硬件资源是否足够? 对于那些不需要编程的资源 (美工设计/文案)是否低估难度?
测试的时间、人力、软件资源大致足够,但是测试所需的硬件不足。对于那些不需要编程的资源 低估难度了,尤其是美工设计和文案。
4.你有没有感到你做的事情可以让别人来做(更有效率)?
没有。。
变更管理
1.每个相关的员工都及时知道了变更的消息?
因为是同一个宿舍的,所以很及时。
2.我们采用了什么办法决定“推迟”和“必须实现”的功能?
组内讨论。
3.项目的出口条件(Exit Criteria – 什么叫“做好了”)有清晰的定义么?
详见需求分析报告。
设计/实现
1.设计工作在什么时候,由谁来完成的?
在项目开发前由全组讨论得出。
2.设计工作有没有碰到模棱两可的情况,团队是如何解决的?
组内讨论。
3.团队是否运用单元测试(unit test),测试驱动的开发(TDD)、UML, 或者其他工具来帮助设计和实现?这些工具有效么?
主要用了UML辅助软件的设计和实现,帮助我们更清晰的确定了软件实现所需的各种功能。
4.什么功能产生的Bug最多,为什么?
在网络通讯部分出现的bug最多,因为要整合到他人的代码上,才能知道具体的实现效果。
测试/发布
1.团队是否有一个测试计划?
由各模块编写的人员进行各个模块内部的测试。
2.是否进行了正式的验收测试?
在整合了各模块之后进行了完整的测试。
3.团队是否有测试工具来帮助测试?
没有。
4.团队是如何测量并跟踪软件的效能的?从软件实际运行的结果来看,这些测试工作有用么?应该有哪些改进?
人工测量。测试工作有用,在后续用一些软件效能检测工具进行效能检测。
5.在发布的过程中发现了哪些意外问题?
尚未发布。
团队的角色,管理,合作
1.团队的每个角色是如何确定的,是不是人尽其才?
先组内讨论出大致模块,组员各自认领。是。
2.团队成员之间有互相帮助么?
有。
3.当出现项目管理、合作方面的问题时,团队成员如何解决问题?
组内讨论,组长决定。
4.感谢
我感谢 ____组长_____对我的帮助, 因为某个具体的事情: 督促我完成任务。
总结
1.你觉得团队目前的状态属于 CMM/CMMI 中的哪个档次?
第二级,重复级。
2.你觉得团队目前处于 萌芽/磨合/规范/创造 阶段的哪一个阶段?
磨合阶段。
3.对照敏捷开发的原则, 你觉得你们小组做得最好的是哪几个原则? 请列出具体的事例。
第四条第六条,我们是同一个宿舍的,在交流方面有着极大的便利。