新~第一次迭代总结

设想和目标

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

我们软件是服务于电力系统的信息管理系统

典型用户:电力系统的工作人员

典型场景:变电站

我们达到目标了么(原计划的功能做到了几个? 按照原计划交付时间交付了么? 原计划达到的用户数量达到了么?)?

原计划功能:实时数据展示,报警信息展示,工单处理

实现情况:

实时数据展示已在技术上实现了单个数据项的动态曲线展示

报警信息展示功能,已模拟实现实时数据按设计好的规则进行报警,并在客户端展示了,但未将报警数据实时存到数据库中。

工单处理:已实现工单展示,新建工单,我的工单三个子模块的交互样式,页面展示,后台未实现。

用户量, 用户对重要功能的接受程度和我们事先的预想一致么? 我们离目标更近了么?

暂未投入使用,用户实际接受成度未知

由于我们做的是整个完整系统的一部分,即应用层开发,难以直接投入使用。

有什么经验教训? 如果历史重来一遍, 我们会做什么改进?

首先,整体实现难度大,客户需求的技术较新,全组人没有谁接触过,其次,部分组员学习能力有限,难以跟上开发的进程,再者是这个项目不是一个完整的项目,涉及底层物联网技术,但那块工作不属于我们项目组,因此,如果重来一遍,会考虑换个项目

计划

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

计划总是赶不上变化,最开始的计划根据进度不断调整,到最后就抛弃了计划,赶+也解决不了问题,因为都是从0开始,而且后台人员进度跟不上,每次都调整进度,每次都补,可每次都补不回来。

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

基本上都由我一个人来掌控进度,相对新颖的技术、难点也是我去了解,因此计划阶段讨论都很顺利,没有太多不同的意见,可能这也是不足的地方。

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

总体上都做过,各模块功能都有,但后台缺失很多。首先是我们低估了注册功能的后台连接的难度,其次是因为前期大多数时间都用来学习,实际开发的时间没有多少,前端可以套用模板,相对容易做出成果;然后是我花费了大量时间学习新的知识,了解技术难点,新的插件,例如:websocket通信,echarts插件,元件库制作(构建电力房间图,导出SVG),NoSQL数据库(包括MongoDBRedis内存数据库),因此我没有能够及时了解或帮助后台的开发。

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

1、仔细学习了echarts插件的相关实现,其实只要会应用就可以了,而且它的图相当多,不可能每个都会用,应该按需学习;

2、了解了SpringMVC框架,想用它来构建工程架构,但由于大家都没学过,都是小白,就选择手撸代码了;

3、被小班课老师(某边老师)批评过数据库的设计后,详细修改,也可以说是重新设计了之后,太详尽了,以至于有些多余。

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

没有,大家都在一起做,沟通都很及时,没有绝对标准,标准随时沟通调整,大家都觉得ok就直接整合对接。但是,由于后台开发进度慢,往往每次都是等后台设计完成,跟着马上对接。除了我前端后台一起做的,只需和其他人的模块进行集成。

是否项目的整个过程都按照计划进行,项目出了什么意外?有什么风险是当时没有估计到的,为什么没有估计到?

没有完全按照计划进行,计划总是调整中

前端界面有些对不上,调用了一些莫名的插件,然后前端人员又解释不通,往往对不上的时候,我都会叫他们给一份可行的方案,最终还是能对上,虽然可能不那么规范;但最麻烦的是,后台进度慢,这是横亘在开发路上的一座大山,我严重高估了后台人员的工作效率,但他们也是从零开始接触。

风险主要是时间太少,我已经尽可能多地集中开发了,用于互帮互助。

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

有缓冲区:睡眠+休息

有用,deadline前的效率都相当高,有时间就有产出

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

在团队合作方面,还是继续和以前一样,团队在一起工作是最重要的,还是会尽可能多地开会,但也不能天天开,因为组员会产生排斥心理,然后就是要督促后台加快开发进程,前期学习时间花费多,后期熟练了,应该加快速度。

我们学到了什么? 如果历史重来一遍, 我们会做什么改进?

我了解到了很多新的技术,上面说过了,也知道了一个web工程大致的架构,如果可以重来,我希望大家都能对项目多上心,每一个人都能用私下的时间去学习相应的技术。

资源

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

没有,时间严重不足,资源也不足,全靠自己学,老师提供了学长供我们请教,但组员们都不主动,涉及到物理意义上的资源,例如:插件,也没钱买,一切和RMB有关的,都绕开了,当然,服务器绕不开,泪奔。

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

时间主要是按任务量估计,时间按各自的安排估计

精度不好,不能总是保持高效且时间安排总会有意外的冲突

测试的时间,人力和软件/硬件资源是否足够? 对于那些不需要编程的资源 (美工设计/文案)是否低估难度?

测试没有系统、详细的安排,第一次迭代根本就没有时间测试,做都做不完,哪里来的系统测试,只能靠一边开发一边测试,尽可能写好的代码。(验收前都还在对接)

人力资源严重不足,后台的劳动力不足之外,有部分相对基础较弱的同学,没有技术特别好的同学,都是从零开始学起的萌新。

同时也低估了整个项目的难度

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

不知道,但我感觉我分析相对来说较新的技术,或者对我们来说算难点的东西比较有意思,换另一个角度想,如果是我做简单的后台连接,像servletusebean之类的,可能后台完成的会多点,但一些新技术,或者说“难点”就没有人触碰了。

有什么经验教训? 如果历史重来一遍, 我们会做什么改进?

我会把每个人的任务都更加细分,更加具体,这也是我现在正在做的事情,让每一个人都知道具体要做什么,我会少花时间在了解“新技术”上,多帮助基础较弱的同学,集中开发的时候,更加注重效率,和总结。还有,我的工程结构设计得不好。

变更管理

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

我会在群里,或者当面跟他们说,变更了哪些,有时也会一起讨论。

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

一开始就决定了主体功能,主体功能没有调整过,附加功能都属于可推迟,但很多任务都是一拖再拖,很难进行管理。

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

没有提前制定应急计划,但有变更时会及时做出反应和调整

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

这方面做得很差劲,一旦落下,基本就很难补得回来,很难跟得上进度,但我们不得不往下做,所以工程的完成度是符合“木桶原理”的。

我们学到了什么? 如果历史重来一遍, 我们会做什么改进?

效率!提高效率!督促后台!

设计/实现

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

整个模式的设计是在项目初期,由pm和老师沟通商定的,但具体的设计完成得并不好,当时没有想到很细致,受限于知识水平,也不知道难度多大。

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

有,先队内一致讨论,若没有产生都同意的结果,会去问指导老师的意见;但往往大家都没什么意见,让我(PM)常常在事后或者汇报时,才发现问题,我觉得大家应该多质疑。

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

UML图来帮助设计,StarUML设计图,用腾讯工蜂管理代码,用TAPD管理文档。

比较项目开始的 UML 文档和现在的状态有什么区别?这些区别如何产生的?是否要更新 UML 文档?

文档更加丰富了,会在项目推进中,不断完善、更新文档

什么功能产生的Bug最多,为什么?在发布之后发现了什么重要的bug? 为什么我们在设计/开发的时候没有想到这些情况?

第一次迭代中,没有什么太严重的bug,因为后台大多没有完成。

还没有发布

没有想到,后台开发太慢,没有达到预期目标。

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

现阶段没有执行代码复审,也没有严格的代码规范

测试/发布

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

有制定详细的验收标准,但没有详细的测试计划

完成都完成不了,哪里来其他的要求。

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

是,第一次迭代助教验收,主要看了一下进度。

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

暂未考虑

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

暂未考虑

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

暂时不考虑发布

我们学到了什么? 如果历史重来一遍, 我们会做什么改进?

还是以完成项目功能为首要任务,测试方面暂时没有精力、时间考虑

团队的角色,管理,合作

团队的每个角色是如何确定的,是不是人尽其才?

团队角色确定,以尊重个人意愿为首要因素,再根据实际情况协商确定角色

团队成员之间有互相帮助么?

当然,每天的工作都是和谐友爱、互帮互助的~

当出现项目管理、合作方面的问题时,团队成员如何解决问题?

我要感谢团队中的每一个人,感谢大家的努力和付出,感谢大家的互相帮助和配合,每个人个性、能力都不同,但我希望每个人都能当“鸡与猪”故事中的那只猪,接下来的时间,更加注重效率,每个人都找到自己的贡献点。

总结

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

属于CMMI一级,完成级

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

磨合

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

大家彼此更加熟悉,互相的配合会比之前更有效率,当然,学习到了很多知识,开发的效率有所提升。

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

沟通不足,前端只顾做前端的,后台只顾学习,前后不沟通,或者说沟通得不多。其次是后台效率低,每个人不能很好地找到自己的贡献点。

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

在团队内部,最具有效果并且富有效率的传递信息的方法,就是面对面的交谈。因此,我们基本上每周都会开会,都会聚集开发,经常去图书馆的研讨空间。

猜你喜欢

转载自www.cnblogs.com/huangxuanxiang/p/10094299.html
今日推荐