团队作业——Alpha冲刺之事后诸葛亮
一、设想和目标
1.我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 我们的网站要解决学生和辅导员每逢离校季时统计离校信息的繁琐问题。定义的很清楚,包括学生的登陆和填写信息,辅导员的登陆,查看和下载。有清晰的描述。
2.是否有充足的时间来做计划?
因为同学们比较分散,而且考试比较多,时间并不是很充足。
3.团队在计划阶段是如何解决同事们对于计划的不同意见的?
通过小组一起协商讨论来解决意见冲突。
4.用户量, 用户对重要功能的接受程度和我们事先的预想一致么? 我们离目标更近了么?
Alpha版本的用户目前只有我们小组的成员,基本功能全部如期实现了,额外功能有待商议。当然离目标更近了!
5.有什么经验教训? 如果历史重来一遍, 我们会做什么改进?
由于同学们见面比较麻烦,所以一开始分工有所重复,导致一开始的工作也有重复,降低了效率。
二、计划
1.你原计划的工作是否最后都做完了? 如果有没做完的,为什么?
计划工作全部完成。
2.有没有发现你做了一些事后看来没必要或没多大价值的事?
郑永先:emmmmm在初步实现功能之后就着手代码规范,后来代码大改又重新改规范。
梁精锐:反复装卸sql好几遍,为此还重装了一遍系统,太猛了
胡伟权:由于沟通不足,太过于执着于梦明做的界面
3.是否每一项任务都有清楚定义和衡量的交付件?
嗯。。。定义还是比较模糊的。主要是界面中,该有的都有,功能中,能使用的都能用。就可以了,具体到什么样的界面叫“好看”没有详细定义、什么样的功能算“完整”,也没有定义。
4.是否项目的整个过程都按照计划进行,项目出了什么意外?有什么风险是当时没有估计到的,为什么没有估计到?
是的。因为大家都很忙,所以都是找个时间一起做,有什么问题当场解决,效率老高了。唯一的意外可能就是链接数据库过程中遇到了瓶颈把。
5.在计划中有没有留下缓冲区,缓冲区有作用么?
没留什么缓冲区,因为没时间呀。
6.将来的计划会做什么修改?
待定。。。。
7.我们学到了什么? 如果历史重来一遍, 我们会做什么改进?
初步体验了软件工程的过程,有个概念吧。重来一遍,也没什么改进吧,大家都很棒了。
三、资源
1.我们有足够的资源来完成各项任务么?
我们的网页用的是jsp,对于电脑要求并不高,伟权的电脑可厉害了。数据库方面,我们正好又web的课程,大家直接通过教材自行学习。
2.各项任务所需的时间和其他资源是如何估计的,精度如何?
我们每天聚在一起,分配当天的任务,将主要内容分为六天完成,因为实在很赶,大家在一起的时候一起商量一起做,每天的任务都能保证完成。精度也是非常准了。
3.测试的时间,人力和软件/硬件资源是否足够? 对于那些不需要编程的资源 (美工设计/文案)是否低估难度?
基本足够,因为我们的网页的功能实用又简单,美工设计上,张梦明同学不负众望,做的非常漂亮。
4.你有没有感到你做的事情可以让别人来做(更有效率)?
黄志明(PM):我可以把发布者界面给牛姐做,这样风格更统一而且美观。。。最后看她一直在改我的界面改到快吐血,感觉挺尴尬的。。。
顾逸凡:那不行,我编程方面弱一点,但是打字吹牛还行。
胡伟权&梁精锐&孙忠&郑永先:其实我们的工作很难分,四个人都是一起读教材一起写,遇到问题一起思考,完美的组合
张梦明:由于本专业课程忙,没办法和大家聚,所以做界面设计这方面很合适我,大家只需要将界面和数据库连接就可以了。
5.有什么经验教训? 如果历史重来一遍, 我们会做什么改进?
没有。很顺利,就是这么强。
四、变更管理
1.每个相关的员工都及时知道了变更的消息?
团队大部分在一起编程,消息传播很快 其他还是通过我们项目的qq群来传递变更的消息的,每天晚上还有站立式会议。 但是有一点要自我批评,拖延症状,我们的代码一直没有上传,老师催了又催hhhhh。
2.我们采用了什么办法决定“推迟”和“必须实现”的功能?
我们所定的功能都是非常基本核心的,是网站的灵魂所在,所以没有这方面的考虑。
4.对于可能的变更是否能制定应急计划?
基本没有,出现的几次应急情况都是我们的成员熬夜补救的。
6.我们学到了什么? 如果历史重来一遍, 我们会做什么改进?
用Git,用Git,用Git,重要的事情说三遍,大家开始使用git有点迟了。所以最后我们只上传了我们的成品,不过这种现状确实是要改改了!!
五、设计/实现
1.设计工作在什么时候,由谁来完成的?是合适的时间,合适的人么?
界面原型设计在早期就已经由张梦明完成了,真实际界面的设计比原型漂亮很多。非常合适。
2.设计工作有没有碰到模棱两可的情况,团队是如何解决的?
没哎。
3.团队是否运用单元测试(unit test),测试驱动的开发(TDD)、UML, 或者其他工具来帮助设计和实现?这些工具有效么?
没有。。大家都只是在几个浏览器上试运行了一下,没有发现bug。
5.代码复审(Code Review)是如何进行的,是否严格执行了代码规范?
一开始,制定了代码规范。然后就没有然后了,各自采用各自的命名⋯⋯呜呜!等合并的所有的界面的时候就遭报应了
6.我们学到了什么? 如果历史重来一遍, 我们会做什么改进?
学习学习使用github。
六、测试/发布
1.团队是否有一个测试计划?为什么没有?
有,但是没有依照计划进行 原因:alpha版本的时候团队进度比较小,以至于deathline还有在修改代码,留给我们的测试时间就大大减少了,导致测试计划没有如期进行
2.是否进行了正式的验收测试?
并没有。。。
3.团队是否有测试工具来帮助测试?
浏览器就是我们的测试工具。
4.团队是如何测量并跟踪软件的效能的?从软件实际运行的结果来看,这些测试工作有用么?应该有哪些改进?
手动调试来跟踪软件的效能;测试工作有用,能够测试出bug,但是很难找到bug存在的准确位置和真正原因,正就是所需要改进的地方。
5.在发布的过程中发现了哪些意外问题?
由于和梦明沟通不够,所以界面链接上花了蛮多时间。
6.我们学到了什么? 如果历史重来一遍, 我们会做什么改进?
用git及时整合,及时测试。
七、总结:
1.你觉得团队目前的状态属于 CMM/CMMI 中的哪个档次?
-
在Alpha冲刺之前,我们团队有针对我们的项目做过需求分析以及项目计划
-
在Alpha冲刺阶段,尽管我们小组一开始没有通过github进行项目管理,但是每天会报告自己的工作量以及工作进度
-
在Alpha冲刺之后,团队有了类似项目的开发经验,一定程度上可重复类似项目的软件开发
-
小组有测试人员,通过案例测试充分保证了软件Alpha版本的核心功能的使用以及质量地保障 2.你觉得团队目前处于 萌芽/磨合/规范/创造 阶段的哪一个阶段?
-
在Alpha冲刺之前,我们团队每个人都没有项目开发的经验,而且也都刚接触jsp
-
在Alpha冲刺阶段,擅长jsp的四人潜心钻研,攻克了许多难关
-
在Alpha冲刺之后,团队的每个人并不能体现出自己的强项和自己的代码能力,所以在项目开发过程当中任务的分配还是没有一个具体的指标,就是这个任务交给谁来做都可以,所以团队还处于磨合阶段 3.你觉得团队在这个里程碑相比前一个里程碑有什么改进?
-
有真正地项目开发的经验,对一个软件开发的过程不会像当初那么迷茫
-
团队有了一个一起开发软件的经历,让队员之间更亲近(gay)了吧
2.你觉得目前最需要改进的一个方面是什么?
就是对于github的使用,我们这次都是一起编程,代码互相用U盘拷贝,非常繁琐,相信学习了GitHub的使用后会使团队编程更便捷。