码迷,mamicode.com
首页 > 其他好文 > 详细

第一次迭代开发心得

时间:2019-01-01 22:50:24      阅读:250      评论:0      收藏:0      [点我收藏+]

标签:coding   别人   1.2   知识   博客   意义   criteria   组成   设计   

组名:Coding

项目名称:基于物联网的实时数据采集系统

第一次迭代开发已经结束了好久,但是一直不知道要每个人都要写一篇博客,所以迟到了很久。

一、设想和目标

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

我们的项目是基于物联网的实时数据采集系统,典型场景是变电站的传感器数据采集以及设备管理(网关、传感器),典型用户是变电站数据采集系统管理员;

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

实现情况:首页登录、设备管理、账户管理模块实现;

交付:系统核心功能(设备管理)实现,暂未投入使用;

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

暂未投入使用,用户对重要功能的接受程度未知;

核心功能基本实现,离目标更近了;

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

因为小组有些成员之前没有项目开发的经验,所以开发进度较慢,刚开始不知道从哪里入手,而且网关方面的知识比较匮乏,故投入大量时间精力学习相关知识,所幸在第一次迭代开发中基本实现了核心功能。历史不可能重来一遍,所以做好当下做的就是最好了;

二、计划

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

做计划的时间刚刚好;

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

开会讨论,每个人提出自己的意见,经过商量,达成一致;

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

第一次迭代计划我们都完成了,原因如下:

1)分工明确;2)周计划明确;3)开发人员努力工作;

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

没有,所有经历过的事情都是有价值的事情,只是价值大小的问题;

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

是的,每一个功能模块的定义和交付件都很清楚;

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

也不全是,因为还有其他课程要学习,期中考试也耽误了一点时间,所以拖了项目进度,但是一般都会在之后补上;

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

有,但是意义不大,因为小组成员都有自己的时间安排,所以限制了缓冲区的意义;

2.8将来的计划会做什么修改?

1)周四晚上上完计组实验之后安排开会,讨论一周计划以及总结;

2)周五下午进行集中开发,前后端开发人员能够测试接口;

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

学到了专业知识、拓宽了知识面、学到了团队意识,历史不可能重来一遍,所以做好当下做的就是最好了;

三、资源

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

有,网关方面找一位大四的学长了解了情况,并拿到了一些软件资源;但是时间方面有时候会有限制;

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

因为组内成员有部分是第一次做项目,所以就是尽自己努力做,能做多少做多少,有问题了共同解决;

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

第一次迭代开发后的测试时间、人力、资源都足够,美工的话确实低估了难度;

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

让大佬来做我做的事情肯定更有效率,但是大佬也有自己要做的,小组成员人数有限,总得有人做,所以自己的事情自己做;

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

还是那句话,历史不可能重来一遍,所以做好当下做的就是最好,其实我觉得这都挺难的了;

四、变更管理

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

我们用GitHub来进行版本管理,所以每个成员都能及时知道变更消息;

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

功能分级;

4.3项目的出口条件(Exit Criteria—什么叫“做好了”)有清晰的定义么?

能够满足需求文档中的所有需求;

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

没有制订应急计划,但是遇到变更能够及时做出调整;

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

能构;

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

历史不可能重来一遍,所以做好当下做的就是最好;

五、设计/实现

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

设计工作是全组人员在需求分析阶段一起完成的;

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

有,通过组内成员协商解决;

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

因为还没有选修软件测试技术课程,所以并没有用到单元测试等;但是UML肯定是用到了,在需求分析阶段帮助设计、实现;

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

有区别,要更新UML文档,因为项目在推进的过程肯定会跟需求分析阶段有些许出入;

5.5什么功能产生的Bug最多,为什么?为什么我们在设计/开发的时候没有想到这些情况?

设备管理,删除传感器时没有考虑到取消按钮;

账户管理,没有提示密码的格式(长度、元素);

设计/开发的时候可能还考虑的不全面;

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

老师组织了代码互查,而且组内成员也经常监督彼此;

六、总结

就个人而言,这学期的项目确实有难度,因为之前从来没有接触过项目开发,而且本人在编程方面也不是很强,所以刚开始做肯定是有点懵,但是后来跟着组内的一位大佬一起做前端,学习HTML、CSS、JavaScript、jQuery、ajax等等,拓宽了自己的视野,增强了专业能力;虽然做的功能模块比较简单,但是我觉得总归是努力去做了,总比啥都不做、啥都不学强,对自己也算有个交代。

 

第一次迭代开发心得

标签:coding   别人   1.2   知识   博客   意义   criteria   组成   设计   

原文地址:https://www.cnblogs.com/mltr/p/10204973.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!