• 第一次迭代开发总结


    上周进行了Alpha版本项目的验收,为第一次迭代画上了句号。以下是我对本组项目第一次迭代的思考与总结:

    设想和目标

    1. 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述?

    产品定义:我们软件定义明确,是为需要使用车辆的用户提供及时租车功能;

    典型用户:出差在外上班族;

    典型场景:机场。

    2. 是否有充足的时间来做计划?

    时间充足。每周每位成员都有本周必须完成的各自的任务,所以项目进度比较快。

    3. 团队在计划阶段是如何解决同事们对于计划的不同意见的? 

    通过沟通解决。任何成员有问题都会直接提出来进行的商议,最后由PM做决定。

     

    计划

    1. 你原计划的工作是否最后都做完了? 如果有没做完的,为什么?

    第一次迭代截止日期之前,本团队所有成员都按时完成了计划工作。

    2. 有没有发现你做了一些事后看来没必要或没多大价值的事?

    有一些。比如在第一次迭代时,网页开发没有使用框架,显得比较麻烦。

    3. 是否每一项任务都有清楚定义和衡量的交付件?

    没有很明确。每个部分都是根据开发人员的意愿,沟通之后不断调整。

    4. 是否项目的整个过程都按照计划进行?

    是的。每周我们都会有周任务并且按时完成了。

    5. 在计划中有没有留下缓冲区,缓冲区有作用么?

    有缓冲区。缓冲区是在第一次迭代开发截止日期的前几周,主要是在轻松学习。作用还是比较大,后续开发中效率很高。

    6. 将来的计划会做什么修改?(例如:缓冲区的定义,加班)

    应该会根据第一次迭代的情况做修改,缓冲区长度可能会减少。团队工作模式延续。

     

    资源

    1. 我们有足够的资源来完成各项任务么?

    我们完成了第一次迭代计划的全部任务。但是由于资金、时间限制,一些接口等不会实现。

    2. 各项任务所需的时间和其他资源是如何估计的,精度如何?

    估计:总时间是根据前两周开发具体情况估计,后续是自己调整安排

    精度:一般。有事会出现临时安排打乱计划。

    3. 用户测试的时间,人力和软件/硬件资源是否足够?

    目前用户仅有开发成员和指导老师,所以各项资源完全足够。

    4. 你有没有感到你做的事情可以让别人来做(更有效率)?

    有!与我合作开发网页的队员很厉害,完全可以独当一面。

     

    变更管理

    1. 每个相关的员工都及时知道了变更的消息?

    有任何变更都会通过群消息通知所有成员,所以比较及时。

    2. 我们采用了什么办法决定“推迟”和“必须实现”的功能?

    有的部分实现方法相似,在第一次迭代中就先选择实现一个。但基于用户体验,所以第一次迭代完成了从注册到租车完成所需要的大体功能。一些细节,例如联系客服就留到了第二次迭代。

    3. 项目的出口条件(Exit Criteria)是否得到清晰的定义?

    做到完成除接支付宝接口的其他功能。

    4. 对于可能的变更是否能制定应急计划?

    基本没有,会随机应变,及时做出调整。

    5. 员工是否能够有效地处理意料之外的工作请求?

    有临时工作PM会根据本周的实际情况做出调整和具体部署。

     

    设计/实现

    1. 设计工作在什么时候,由谁来完成的?是合适的时间,合适的人么?

    大体的设计是在项目初期由PM根据老师的指导意见完成。后续开发根据实际进行调整。

    2. 设计工作有没有碰到模棱两可的情况,团队是如何解决的?

    在很多细节问题上都比较模棱两可,主要是通过沟通交流解决,解决不了会请教指导老师。

    3. 团队是否运用单元测试(unit test),测试驱动的开发(TDD)、UML, 或者其他工具来帮助设计和实现?这些工具有效么?

    团队运用了UML来帮助设计。画完UML图对整个项目的流程更加清晰。在网页设计过程中,还用了阿里巴巴矢量图库等网站。

    4. 什么功能产生的Bug最多,为什么?

    管理员网页部分订单管理功能,因为它是综合了客户、车辆等所有信息,任何一个部分有问题都会影响它。

    5. 代码复审(Code Review)是如何进行的,是否严格执行了代码规范?

    并未进行代码复审。在写代码时就执行了代码规范。

     

    测试/发布

    1. 团队是否有一个测试计划?为什么没有?

    只有验收标准并未制定验收计划。

    2. 是否进行了正式的验收测试?

    第一次迭代验收初步测试。

    3. 团队是否有测试工具来帮助测试?

    暂未考虑。

    4. 团队是如何测量并跟踪软件的效能的?从软件实际运行的结果来看,这些测试工作有用么?应该有哪些改进?

    暂未考虑。

    5. 在发布的过程中发现了哪些意外问题?

    只考虑如期完成项目。不考虑发布问题。

     

    总结

    1. 你觉得团队目前的状态属于 CMM/CMMI 中的哪个档次?

    属于CMMI一级,完成级。

    2. 你觉得团队目前处于 萌芽/磨合/规范/创造 阶段的哪一个阶段?

    磨合完成,规范初期。

    3. 你觉得团队在这个里程碑相比前一个里程碑有什么改进?

    团队成员之间学会了沟通交流,效率有了明显提高。

    4. 你觉得目前最需要改进的一个方面是什么?

    代码规范需要严格执行并且管理员网页要用框架来实现。

    5. 对照敏捷开发的原则, 你觉得你们小组做得最好的是哪几个原则? 请列出具体的事例。

    无论团队内外,面对面的交流始终是最有效的沟通方式

    我们团队每周都会进行至少一次例会,把开发过程中遇到的问题提出来进行面对面沟通交流。

    保持简明 - 尽可能简化工作量的技艺 - 极为重要

    在进行实际开发之间我们都会指定明确的开发计划,按照计划一项一项完成工作。

    只有能自我管理的团队才能创造优秀的架构, 需求和设计

    团队成员尤其是PM,都十分自律,严格执行各项计划。

    总的来说,我们团队整个进度和工作氛围都比较好,也按期、顺利、高质量的完成了各种工作,希望第二次迭代能够继续保持!

  • 相关阅读:
    Sql题目精选练习
    SqlServer2008数据库的备份与还原
    SqlServer视图介绍以及创建方式
    Java反射详解
    for(foo('a') ; foo('b') && (i<2);foo('c'))的执行结果
    jdk与jre与jdk都是干什么的有什么区别和jvm详解:
    List去重为什么要写equals(),hashCode()方法
    String类的常用方法以及知识点总结
    o enclosing instance of type ArrayList_day02 is accessible. Must qualify the allocation with an enclosing instance of type ArrayList_day02
    JAVA整理01--面向对象基础
  • 原文地址:https://www.cnblogs.com/liuyi0224/p/10092315.html
Copyright © 2020-2023  润新知