第一次迭代开发总结-汽车租赁系统
第一次迭代开发结束,可以说是非常圆满了,今天差不多来做个总结
设想和目标
1. 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述?
产品定义:我们软件定义明确,是为需要使用车辆的用户提供及时租车功能;
典型用户:外出旅游想自己出行的用户;
典型场景:机场等交通场所。
2. 是否有充足的时间来做计划?
时间充足。使用了3-4周时间来进行设计。
3. 团队在计划阶段是如何解决同事们对于计划的不同意见的?
通过沟通解决。任何成员有问题都会直接提出来进行的商议,最后由PM做决定。
计划
1. 你原计划的工作是否最后都做完了? 如果有没做完的,为什么?
第一次迭代截止日期之前,按时完成了全部计划工作。
2. 有没有发现你做了一些事后看来没必要或没多大价值的事?
感觉没有,虽然有些东西不必要,但是是成长路上必须要遇到的解决的问题,所以多多少少都有些收获。
3. 是否每一项任务都有清楚定义和衡量的交付件?
基本明确。每个部分都是根据开发人员的意愿,沟通之后不断调整。
4. 是否项目的整个过程都按照计划进行?
是的。每周我们都会有周任务并且按时完成了。
5. 在计划中有没有留下缓冲区,缓冲区有作用么?
有。缓冲区是在第一次迭代开发截止日期的前几周,主要是在轻松学习。作用还是比较大,后续开发中效率很高。
6. 将来的计划会做什么修改?(例如:缓冲区的定义,加班)
基本不变,工作时间应该要增加。
资源
1. 我们有足够的资源来完成各项任务么?
我们完成了第一次迭代计划的全部任务。但是由于资金、时间限制,一些接口无法实现。
2. 各项任务所需的时间和其他资源是如何估计的,精度如何?
估计:总时间是根据前两周开发具体情况估计,后续是自己调整安排
精度:一般。有事会出现临时安排打乱计划。
3. 用户测试的时间,人力和软件/硬件资源是否足够?
目前用户仅有开发成员和指导老师,所以各项资源完全足够。
4. 你有没有感到你做的事情可以让别人来做(更有效率)?
每个人都是不可或缺的一部分。
变更管理
1. 每个相关的员工都及时知道了变更的消息?
有任何变更都会通过群消息通知所有成员,所以比较及时。
2. 我们采用了什么办法决定“推迟”和“必须实现”的功能?
根据uml用例图,选出必要项,作为“必须实现”的功能,选出非必要项,作为”推迟“的功能。
3. 项目的出口条件(Exit Criteria)是否得到清晰的定义?
做到完成除接支付宝接口的其他功能。
4. 对于可能的变更是否能制定应急计划?
基本没有,会随机应变,及时做出调整。
5. 员工是否能够有效地处理意料之外的工作请求?
有临时工作PM会根据本周的实际情况做出调整和具体部署。
设计/实现
1. 设计工作在什么时候,由谁来完成的?是合适的时间,合适的人么?
大体的设计是在项目初期由组员根据老师的指导意见完成。
2. 设计工作有没有碰到模棱两可的情况,团队是如何解决的?
在很多细节问题上没有完美的考虑到,会比较模棱两可,最后主要是通过沟通交流解决,解决不了会请教指导老师。
3. 团队是否运用单元测试(unit test),测试驱动的开发(TDD)、UML, 或者其他工具来帮助设计和实现?这些工具有效么?
团队运用了UML来帮助设计。画完UML图对整个项目的流程更加清晰。使用IDE Android Studio对安卓开发帮助非常非常大。
4. 什么功能产生的Bug最多,为什么?
提交订单方面,提交订单的过程中,虽然简单,但需要考虑到非常复杂的其他细节问题,比如是否能支付成功,是否能正确扣款等等等。
5. 代码复审(Code Review)是如何进行的,是否严格执行了代码规范?
基本执行了所有的代码规范。
测试/发布
1. 团队是否有一个测试计划?为什么没有?
只有验收标准并未制定验收计划。
2. 是否进行了正式的验收测试?
第一次迭代验收初步测试完成。
3. 团队是否有测试工具来帮助测试?
暂未考虑。
4. 团队是如何测量并跟踪软件的效能的?从软件实际运行的结果来看,这些测试工作有用么?应该有哪些改进?
暂未考虑。
5. 在发布的过程中发现了哪些意外问题?
只考虑如期完成项目。不考虑发布问题。
总结
1. 你觉得团队目前的状态属于 CMM/CMMI 中的哪个档次?
属于CMMI一级,完成级。
2. 你觉得团队目前处于 萌芽/磨合/规范/创造 阶段的哪一个阶段?
磨合完成,规范初期。
3. 你觉得团队在这个里程碑相比前一个里程碑有什么改进?
团队成员之间学会了沟通交流,效率有了明显提高。
4. 你觉得目前最需要改进的一个方面是什么?
代码规范需要严格执行,并且界面ui需要多加注意,要做出有美感的东西。
5. 对照敏捷开发的原则, 你觉得你们小组做得最好的是哪几个原则? 请列出具体的事例。
无论团队内外,面对面的交流始终是最有效的沟通方式
我们团队每周都会进行至少一次例会,把开发过程中遇到的问题提出来进行面对面沟通交流。
保持简明 - 尽可能简化工作量的技艺 - 极为重要
在进行实际开发之间我们都会指定明确的开发计划,按照计划一项一项完成工作。
只有能自我管理的团队才能创造优秀的架构, 需求和设计
团队成员尤其是PM,都十分自律,严格执行各项计划。
总的来说,我们团队整个进度和工作氛围都比较好,也按期、顺利、高质量的完成了各种工作,希望第二次迭代能够继续保持!