我的第一个项目--迭代开发总结

时间:2021-01-06 15:07:36

思考总结

设想和目标

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

  我们软件很明确的定义为,制作一个变电站矢量图形编辑器

  典型用户:变电站管理员

  典型场景:------

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

  原计划功能:对现实中的变电站实现一个建模管理,每一个虚拟的元器件都能够实现背后的数据联动,动态更新,监测

  实现情况:

  能够对元器件进行建模

  1)对编辑器编辑的图形进行打开与保存,只是存入数据库以及从数据库中解析出数据部分还没实现

  2)最难的数据联动部分暂未实现

  3)软件功能基本实现,但实际投入使用存在困难,暂时无法投入使用

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

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

  2)产品完成度好,当然离目标更近了

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

  1)整体实现难度大,如果重来一遍,会考虑换个项目

  2)小组成员之间的金诚合作才是关键

  3)开发过程中需要提交一些很繁琐的文档(周总结、周计划、迭代开发计划等等等灯),感觉不需要这些文档也能够开发软件

  4)我们在剩下的几周时间里,一定会加班加点,加倍努力。。。。。。

 

计划

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

  1)计划总是赶不上变化,最开始的计划根据进度不断调整,到最后就抛弃了计划,赶+

  2)时间就像是海绵里的水,挤一挤总会有的,关键是要对自己够狠。。。。。。

  3)而且大部分时间不是在做计划,一共16周,主要还是要用在软件开发(码代码)上面

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

  1)有不同的意见是好事,小组讨论的时候,多多交流,沟通是解决分歧的最佳方法,可能更好的idea会因此应运而生

  2)当然也可以求同存异。。。。。。

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

  并没有全部做完

  因为时间、空间、人力、物力、财力等因素,最主要是没时间以及开发过程中踩到的地雷(BUG),需要不断的拆地雷,还要反复测试地雷是否真的拆除成功,会不会还有爆炸的可能

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

  有!  比如提交开发的过程文档  写各种计划之类的

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

  没有,大家都在一起做,沟通都很及时,没有绝对标准,标准随时沟通调整,大家都觉得ok就直接整合对接

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

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

  前端界面在一开始的设计不够规范,后期实施中很多界面不得不推翻重做

  风险主要是熬夜+时间,当然也估计到了

  另一个风险就是发现遇到了怎么也调不通的BUG,不调好可能也没办法继续往下做了,浪费大量的时间,到时项目无法按期完工

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

  有缓冲区:睡眠+翘课

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

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

  学期只剩下不到四周时间了,当然会踏踏实实的干点实事,加倍努力。

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

  在团队的合作中,收获了很多课程以外的东西,很重要但不好描述

  基本了解并参与了整个小程序的开发流程

  如果能重来,要提高效率和沟通,避免不必要的熬夜

  学习到以项目进程和作业deadline,来驱动自己学习。

  如果能重来,我要做前端

  如果能重来,会全面、有条理、计划地学习小程序开发

  如果能重来,会选择专注前端制作,好好学习

  如果能重来,我一定拉个队友,不想一个人刚了,同时也会提高自己的学习效率

  如果历史重来一遍 我会换一个新项目 或者换一个专业 专注卖卤菜。。。。。。

资源

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

  我们完成了任务,但时间和资金的资源限制,没有做到完美

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

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

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

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

  测试没有系统、详细的安排,在最终整合之后,有做了简单的测试,没有花费很多时间

  人力资源严重缺乏(我们组的人数本来就少)

  美工是做的很不好的一点,在后期实施上出了很多问题,低估了难度

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

  这个问题很挑事儿,没有问大家

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

  开发前一定去多找一些特别方便好用的工具 比如powerdesigner  ,设计完数据库可以自动帮我们生成UML图的C语言或者java代码,基本上都不用我们自己动手写代码了,我也是上课听老师讲了以后才知道了,那时候呀,肠子都悔青了,白白做了好几周的代码块框架居然就被老师画几张图,给搞定了。。。。。。呜呜呜呜呜呜

 

设计/实现

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

  整个模式的设计是在项目初期,由pm和老师沟通商定的

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

  有 当然有 小组交流讨论 谁有道理听谁的  很*吧

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

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

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

  画图编辑过程中的BUG最多  我们用的是MFC框架 加上很多的图形用户接口(GUI)实现的绘图,经常会出现资源申请失败的Asstion Failed运行错误 或者 指针带来的痛苦。。。。。。

  还没有发布

  有想到,但确实无法申请,但在软工角度来讲,这只是其中一个模块,不能因为这个模块放弃整个项目

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

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

 

 

 

测试/发布

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

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

  “完成,比完美更重要,现阶段已完成项目为主

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

  否 但是进行了中期验收

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

  暂未考虑

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

  暂未考虑

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

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

团队的角色,管理,合作

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

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

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

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

  每周都要进行小组会议 交流讨论学习心得 

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

  作为组长,有责任更有义务管理好整个团队,这是金诚合作,能够开发出一款很好的软件的前提,只有成员之间都能够互帮互助,团结起来,才能够汇聚成一股力量,最终爆发出来,璀璨夺目。

总结

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

  (百度才知道这一问什么意思。。。)属于CMMI一级,完成级

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

  规范吧

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

  大家彼此更加熟悉,互相的配合会比之前更有效率

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

  项目经验不足,做事效率不高

  小组成员合作不够紧密(可能与项目内容有关系)

  时间太紧,想要在16周的时间内从需求分析->数据库设计->迭代开发,要做出一个工业级的项目不太可能,不过我们都还算熟悉了整个做项目的流程,积累了经验吧!!!