第一次迭代思考总结
Posted 1428173426wurui
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第一次迭代思考总结相关的知识,希望对你有一定的参考价值。
第一次迭代已经结束,总的来说收获很大。从一开始对ios开发的一无所知,到学习新语言swift,再到借助xcode开发ios客户端APP,学到了很多很多知识。当然目前学的还是皮毛,后续还需要花大量时间投入学习。
设想和目标
- 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述?
- 我们软件很明确的定义为,统计实时噪声数据,绘制区域噪声地图,提供给用户需要的信息,政府也可以根据噪声数据采取针对性的措施
- 典型用户:在校学生
- 典型场景:人行道,马路等人的活动区域
- 我们达到目标了么(原计划的功能做到了几个? 按照原计划交付时间交付了么? 原计划达到的用户数量达到了么?)?
- 原计划功能:用户可查看实时噪声分贝,实时噪声折线图显示,查看所选择时间的噪声地图
- 实现情况:
- 实时噪声分贝功能已基本实现,
- 除实时折线图的绘制还有难度未实现
- 查看所选择时间的噪声地图功能因为涉及的算法比较多,实现起来也很有难度,还未实现
- 交付和用户:软件功能的核心功能-噪声地图显示还未实现,暂时无法投入使用
- 用户量, 用户对重要功能的接受程度和我们事先的预想一致么? 我们离目标更近了么?
- 暂未投入使用,用户实际接受成度未知
- 产品完成度一般,和开始的啥也不知道比起来,离目标当然更近了
- 有什么经验教训? 如果历史重来一遍, 我们会做什么改进?
- 由于我们的项目需要开发android客户端,ios客户端和服务器网页,整体工作量比较大,而大家都是之前没有开发经验的,所以项目开发起来相对缓慢。这就导致我们第一次迭代计划实现的功能较少,后续开发压力比较大。
- 如果历史重来一遍,我一定在创新课程开始之前就把相关知识学好,不然边学边做太慢,而且非常痛苦。后面还有两三周要实现难度比较大的贝塔版本,压力也比较大。
计划
- 是否有充足的时间来做计划?
- 整个创新课程的团队项目时间不太长,计划的时间也不会太长。而且计划总是赶不上变化,最开始的计划也是根据进度不断调整。
- 团队在计划阶段是如何解决同事们对于计划的不同意见的?
- 计划阶段讨论很顺利,没有太多不同的意见。
- 你原计划的工作是否最后都做完了? 如果有没做完的,为什么?
- 第一次原计划的内容比较少,alpha版本的计划都做完了
- 有没有发现你做了一些事后看来没必要或没多大价值的事?
- 在设计查询界面时,为了配合Android端,一开始设计成了日历的形式,也花了一定时间,但是后面发现用时间选择器更简洁方便就改了,也算走了一点弯路。
- 是否每一项任务都有清楚定义和衡量的交付件?
- 小组开会讨论比较多,还是比较明确的。
- 是否项目的整个过程都按照计划进行,项目出了什么意外?有什么风险是当时没有估计到的,为什么没有估计到?
- 组内没有太理解老师所说的第一次迭代的定义,相对来说,开发进度也有一定滞后
- 风险的话就是熬夜+时间
- 在计划中有没有留下缓冲区,缓冲区有作用么?
- 留有缓冲区,第一次迭代差不多在验收前一个星期已经实现,这一周应该可以算做缓冲区。
- 缓冲区主要是放松,毕竟开发比较累。劳逸结合,才能事半功倍。
- 将来的计划会做什么修改?(例如:缓冲区的定义,加班)
- 继续加强组内联系吧,多开会讨论,加强协作。
- 我们学到了什么? 如果历史重来一遍, 我们会做什么改进?
- ios开发的知识都是从0学起的,新语言,新的IDE使用都是知识啊
- 如果历史重来一遍,一定在创新课程开始之前就把相关知识学好!
资源
- 我们有足够的资源来完成各项任务么?
- 时间和资金的资源限制,alpha版本任务也基本实现
- 各项任务所需的时间和其他资源是如何估计的,精度如何?
- 时间主要是按任务量估计,时间按各自的安排估计
- 精度还不错,课本能保持高效且时间安排还比较合理
- 测试的时间,人力和软件/硬件资源是否足够? 对于那些不需要编程的资源 (美工设计/文案)是否低估难度?
- 测试没有系统、详细的安排,做了简单的测试,没有花费很多时间
- 人力资源比较少,不太足够。
- 美工做的一般,各种文档的撰写基本由PM负责了,应该还是很难写的
- 你有没有感到你做的事情可以让别人来做(更有效率)?
- 没有,有问题大家就讨论,要有团队意识和个人自主性
- 有什么经验教训? 如果历史重来一遍, 我们会做什么改进?
- 分工不够仔细、明确,对大家配合效率有一定影响
- 如果能重来,要把分工做的更加明确,大家加强沟通
变更管理
- 每个相关的员工都及时知道了变更的消息?
- 我们组每周都会多次开会,在着手开发以后只要一有时间大家就都在公寓内咖啡店集中开发,所以沟通比较多。
- 我们采用了什么办法决定“推迟”和“必须实现”的功能?
- 在第一次迭代计划中有设置功能优先级
- 项目的出口条件(Exit Criteria – 什么叫“做好了”)有清晰的定义么?
- 应该还比较清晰,主要是根据之前的原型设计和需求文档,基本功能和UI设计好了就算OK
- 对于可能的变更是否能制定应急计划?
- 没有提前制定应急计划,小组计划也没有出现大的意外
- 员工是否能够有效地处理意料之外的工作请求?
- 大家的及时调整都很棒,对于意外的发生也能做出迅速的反应
- 我们学到了什么? 如果历史重来一遍, 我们会做什么改进?
- 我们小组的沟通非常多,这样就能互相了解到相互的进度等,互相促进提高。
- 改进的话就是自己投入更多时间,把闲暇时间好好利用起来。
设计/实现
- 设计工作在什么时候,由谁来完成的?是合适的时间,合适的人么?
- 整个模式的设计是在项目初期,由pm和老师沟通商定的
- 设计工作有没有碰到模棱两可的情况,团队是如何解决的?
- 开始时有一点模棱两可,后来大家一起讨论得以最终确定
- 团队是否运用单元测试(unit test),测试驱动的开发(TDD)、UML, 或者其他工具来帮助设计和实现?这些工具有效么?
- 有UML图来帮助设计,也有很多的设计素材网站为我们提供了很多图片素材
- 同时使用腾讯敏捷开发平台帮助管理项目
- 这些工具都非常有效,帮助巨大。
- 比较项目开始的 UML 文档和现在的状态有什么区别?这些区别如何产生的?是否要更新 UML 文档?
- 文档更加丰富了,会在项目推进中,不断完善、更新文档
- 什么功能产生的Bug最多,为什么?在发布之后发现了什么重要的bug? 为什么我们在设计/开发的时候没有想到这些情况?
- 目前完成的功能比较少,所以bug还没怎么发现
- 还没有发布
- 代码复审(Code Review)是如何进行的,是否严格执行了代码规范?
- 代码复审主要是小组之间互相检查,而我们组在检查其他组时是分文件进行分工,各司其职
- 严格执行了代码规范。函数命名,成员命名,代码注释,代码组织等都严格查看了。
测试/发布
- 团队是否有一个测试计划?为什么没有?
- 没有一个完善的测试计划
- 受时间和资源的限制
- 是否进行了正式的验收测试?
- 我们组由边老师亲自进行了第一次验收,应该还算正式吧哈哈
- 团队是否有测试工具来帮助测试?
- 暂未考虑
- 团队是如何测量并跟踪软件的效能的?从软件实际运行的结果来看,这些测试工作有用么?应该有哪些改进?
- 暂未考虑
- 在发布的过程中发现了哪些意外问题?
- 噪声地图显示功能未解决,暂时不考虑发布
- 我们学到了什么? 如果历史重来一遍, 我们会做什么改进?
- 因为还是第一次做项目,经验还不太够,测试方面暂时没有精力、时间考虑
团队的角色,管理,合作
- 团队的每个角色是如何确定的,是不是人尽其才?
- 小组比较民主,PM都是按照大家自己的意愿分配角色,基本人尽其才。
- 团队成员之间有互相帮助么?
- 当然,两个客户端各分配两个人,这样更加便于沟通交流。同时客户端也和服务器端有协作。
- 当出现项目管理、合作方面的问题时,团队成员如何解决问题?
- 合作问题基本没有,大家都很包容体谅对方。小组成员之间也互相帮助,我们是一个很有爱又可爱的集体~
总结
1.你觉得团队目前的状态属于 CMM/CMMI 中的哪个档次?
应该属于可重复级(Repeatable)
2.你觉得团队目前处于 萌芽/磨合/规范/创造 阶段的哪一个阶段?
磨合基本完成,接下来是规范你觉得团队
3.在这个里程碑相比前一个里程碑有什么改进?
大家彼此更加熟悉,互相的配合会比之前更有效率.
4.你觉得目前最需要改进的一个方面是什么
迭代计划制定的不太合理,任务分配需要更加合理一些,现在后期开发压力比较大
5.对照敏捷开发的原则, 你觉得你们小组做得最好的是哪几个原则? 请列出具体的事例
我们组做的最好的我觉得就是小组沟通很多,每周都会多次开会,在着手开发以后只要一有时间大家就都在公寓内咖啡店集中开发。
以上是关于第一次迭代思考总结的主要内容,如果未能解决你的问题,请参考以下文章