姓名 | 学号 | 博客链接 |
---|---|---|
何守成 | 031602408 | http://www.cnblogs.com/heshoucheng/ |
黄锦峰 | 031602411 | http://www.cnblogs.com/hjf1998/ |
肖逸清 | 031602435 | https://www.cnblogs.com/daydreams/ |
张子纯 | 031602441 | http://www.cnblogs.com/zzc2018/ |
蔡志斌 | 031602602 | http://www.cnblogs.com/cszdxpq/ |
柯叶祥 | 031602414 | http://www.cnblogs.com/naxdlr/ |
设想和目标
- 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述?
- 解决问题:我们在日常生活中,都或多或少的有对资源的浪费,比如出行购物等。我们可以将这些空闲的资源利用起来与他人共享。同时市场上的共享经济类服务软件可提供的选项不全面,更重要的是不安全。于是我们的软件是一款致力于解决大学生间分享资源的app。
- 可以清楚的定义
- 有清楚地描述
- 如用户群体为福大在校学生,具体可见需求分析
- 是否有充足的时间来做计划?
- 有时间,但是本身我们平常也有别的课业,时间有时不好协调。
- 团队在计划阶段是如何解决同事们对于计划的不同意见的?
- 本来团队人数不多,分工下去的话一个方向的负责人就一两个,不同的意见也没有特别强烈,有不同的意见的话就商量下就解决了。
计划
- 你原计划的工作是否最后都做完了? 如果有没做完的,为什么?
- 有些事情没做完,前后端自己都写完了自己负责的部分,但前后端对接还差一些工作没有完成。
- 本身大家都是第一次接触安卓编程,要学习的地方很多,人数也少工作量大,只能一点一点的学,对接过程最大的困难是前期json的格式没有协调好,导致对接的时候特别的慢。
2.有没有发现你做了一些事后看来没必要或没多大价值的事? - 有,比如之前画类图的时候想建两个发布任务表,一个在云端一个在本地,实际编程的时候感觉没有必要,就全部建在了云端。
3.是否每一项任务都有清楚定义和衡量的交付件? - 有明确交付项,但在写的过程中,会协调更改。
4.是否项目的整个过程都按照计划进行? - 基本上,我们组分工明确,大家都在按计划做自己的事。
5.在计划中有没有留下缓冲区,缓冲区有作用么? - 有缓冲区,可以在分工下自己协调,每天汇报进度,可能有些人有时候会有事情。
6.将来的计划会做什么修改?(例如:缓冲区的定义,加班) - 合理分配时间,少熬夜加班。
资源
- 我们有足够的资源来完成各项任务么?
- 我们小组都是开发新手,花了较多时间在学习上,接下来应该会好些。
- 各项任务所需的时间和其他资源是如何估计的,精度如何?
- 精度很粗略,因为都是在先能实现就好的条件下完成的。
- 用户测试的时间,人力和软件/硬件资源是否足够?
- 匆忙完成能运行的App测试就落下了,不太充足。
- 你有没有感到你做的事情可以让别人来做(更有效率)?
- 比如同一结构的方法交给同一人写比较好,因为一个人更有系统性,最好专职做某一方面。
变更管理
1.每个相关的员工都及时知道了变更的消息?
- 有创建QQ组,在项目进度更新的时候会在组里进行通知,并进行必要的讨论,确保每个人都能能知道变更的消息。每个人收到消息时也都会进行回复。
2.我们采用了什么办法决定“推迟”和“必须实现”的功能?
- 在最开始的立项的时候,确定了本次冲刺要完成的部分核心功能。之后在冲刺之前又对计划稍做了修改。核心功能中容易实现的必须在 alpha 版本实现(必须实现),而核心功能中有技术难点的或是影响使用的次要功能推迟到 beta 版本实现(推迟)。
3.项目的出口条件(Exit Criteria)是否得到清晰的定义?
- 对于项目的出口条件并不能清晰的定义,所以Alpha版本只实现了部分的核心功能。
4.对于可能的变更是否能制定应急计划?
- 项目的数据库或者重要的服务器代码确实没有进行妥善的保存,这一点疏忽会在以后注意,多加备份。
- 考虑到可能会有同学忙于考试没时间写代码,我们在冲刺开始前就已经在写项目了,打好了一定的提前量以应对突发状况。
5.员工是否能够有效地处理意料之外的工作请求?
- 意外的工作方面,做界面设计的同学临时承担了聊天功能的设计,给他带来了不小的工作量。最后他也顺利地处理好了这些工作,很感谢他加班加点的额外付出。
6.有什么经验教训? 如果历史重来一遍, 我们会做什么改进?
- 对接方面没有实现统一好,导致对接过程产生了不少的BUG。
- 再来一遍的话,会做好详细的计划,讨论好对接的标准。
设计/实现
1.设计工作在什么时候,由谁来完成的?是合适的时间,合适的人么?
- 设计工作在我们团队第一次讨论的时候就开始了,在进行需求分析的时候完成的,是由团队所有成员一起讨论完成的,当然做需求分析的同学和做界面原型设计的同学给出的建议更多。
至于设计工作完成的时间我觉得是大致合适的,不过我们在实际开发中也有改动一开始的设计,所以也没有一直按照最开始的设计进行开发。其中主要以做前端和界面设计的同学意见为主。
2.设计工作有没有碰到模棱两可的情况,团队是如何解决的?
- 有的,比如在一开始定功能和需求的时候,大家的意见就无法统一。我们一般采用少数服从多数的原则来解决。
3.团队是否运用单元测试(unit test),测试驱动的开发(TDD)、UML, 或者其他工具来帮助设计和实现?这些工具有效么?
- 答辩之后我们意识到团队对于设计工具的运用不够,以后会多和助教讨论请教合适的工具。
4.什么功能产生的Bug最多,为什么?
- 有用到时间的功能的BUG最多,因为中间在格式的转换上卡了一些时间。
5.代码复审(Code Review)是如何进行的,是否严格执行了代码规范?
- 这一点没有专门的人去做统一,大家也都是按自己的风格去写,以后会做出改善。
6.有什么经验教训? 如果历史重来一遍, 我们会做什么改进?
- 会多寻找可用的开发工具,框架来提高编程的效率和质量。
测试/发布
- 团队是否有一个测试计划?为什么没有?
- 之后会有,之前赶着做完App没来得及。
- 是否进行了正式的验收测试?
- 每天都有记录进展调试,但不算正式。
- 团队是否有测试工具来帮助测试?
- 会的,测试工具有助于查找bug。
- 团队是如何测量并跟踪软件的效能的?从软件实际运行的结果来看,这些测试工作有用么?应该有哪些改进?
- 通过每天的验收,实际运行来看这些测试还是有用的,要改进的就是成系统性综合地测试。
- 在发布的过程中发现了哪些意外问题?
- 还未完成发布,因为还有些功能未完善。
总结
1.你觉得团队目前的状态属于 CMM/CMMI 中的哪个档次?
- CMM
2.你觉得团队目前处于 萌芽/磨合/规范/创造 阶段的哪一个阶段?
- 磨合
3.你觉得目前最需要改进的一个方面是什么?
- 分工要更加细致明确,计划制定要更为考虑到实际问题。执行要保持激情。