英语学习软件项目Postmortem 结果
2012-11-18 23:18
274 查看
英语学习软件项目Postmortem 结果
整理:马骏
设想和目标
1. 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述?
我们的软件的首要目的,是帮助用户记忆单词。因为我们认为,用户学英语的首要需求就是背单词。所以我们就是要解决如何帮助用户有计划的进行单词记忆训练。
典型的用户和场景就是划分了不同的考试需求。英语四六级、TOEFL、GRE等几类考生。
2. 是否有充足的时间来做计划?
是有一定的时间,我们大概花了有三天来进行这个计划,因为拿到了一个已经完成的软件。所以我们初步是试用找出缺点,然后进行功能上的优化和改进。
3. 团队在计划阶段是如何解决同事们对于计划的不同意见的?
一开始队长提出了很多”牛逼”的技术,很多只有他懂,我们完全没有技术能力.所以,在讨论的很多时候我们都只能听.但是他发现我们没办法帮助他完成,所以,他就放弃了那些设想,然后我们回到了讨论基础功能的改进上,然后队长(技术大牛)决定了我们的方向,我们都表示赞同。
计划
1. 你原计划的工作是否最后都做完了? 如果有没做完的,为什么?
很多没有做完。原因有以下一些。
1,任务分给的那个人,每次都无法完成他的任务,在PM询问他的时候,他总之“谎称”已经完成,但是无法整合到最后的代码中。无法“真正”的拿出可运行的代码。
2,大牛对原来软件的框架十分不满意,所以,开始从框架开始写起,但是其他的人的工作在此时没有办法继续进行下去。契约编程没有实现。在他框架构建完成后,其他人无法明白,无法继续后面的工作,只好由大牛继续完成下面的细节。但是大牛又老是不在宿舍,打电话也不接,无法有效的跟踪他的任务进度,所以任务进度就变得飘忽不定。
2. 有没有发现你做了一些事后看来没必要或没多大价值的事?
完全重新构建软件框架。
3. 是否每一项任务都有清楚定义和衡量的交付件?
没有,这个是一个很大的问题.比如,学习单元测试.但是没有标明到底怎么样算是学习了,这样的话就没办法评估。应该是比如学习单元测试,一定要看你最后学习的成果,比如今天给已经写好的类完成了至少五个单元测试.那么就好了。看来,有一个清楚的定义和衡量的交付件是十分必须的!!
4. 是否项目的整个过程都按照计划进行?
没有,因为之前说的原因,在很多时候都没有按照进度进行,泪目!!!!!!!
5. 在计划中有没有留下缓冲区,缓冲区有作用么?
没有留下缓冲区,完全不懂这个概念,没有留下给软件稳定的时间。而且,以我们的情况,就算最后留出了缓存区,也会被浪费掉。
6. 将来的计划会做什么修改?(例如:缓冲区的定义,加班)
加班加班加班加班加班加班加班加班加班加班加班加班!!!!!!!!
资源
1. 我们有足够的资源来完成各项任务么?
有
2. 各项任务所需的时间和其他资源是如何估计的,精度如何?
学习了邹老师那节课后,我们学会不是一拍脑袋就决定一个项目完成的截止时间,对于每一个独立的任务,我们都是三拍脑袋才决定的。
3. 用户测试的时间,人力和软件/硬件资源是否足够?
我感觉不不够,很不够。
4. 你有没有感到你做的事情可以让别人来做(更有效率)?
PM如果队长来做的话,可能会更好一点。
变更管理
1. 每个相关的员工都及时知道了变更的消息?
不是,那些搞后台的人,都不知道我们前台变了需求,那些画前台UI的人根本不关心我们项目逻辑进行到什么地方了。一直提一些完全无理的要求。
2. 我们采用了什么办法决定“推迟”和“必须实现”的功能?
看大神的眼色,我们发现,没有大神我们的项目就完了。所以他决定不做了,那就真的做不了了。必须实现也是看他和PM商量后决定的。
3. 项目的出口条件(Exit Criteria – 什么叫“做好了”)有清晰的定义么?
好像没有。
4. 对于可能的变更是否能制定应急计划?
没有。
5. 员工是否能够有效地处理意料之外的工作请求?
必须不听话啊,大家都忙自己的事情啊,我觉得,如果一周只有软工课的话,大家或许会更加用心。
设计/实现
1. 设计工作在什么时候,由谁来完成的?是合适的时间,合适的人么?
在前一周,由队长完成。是合适的时间,稍微晚了一点。人必须是合适的人,因为设计的人必须是大牛才行。要不设计出来一坨屎,别人怎么写?
2. 设计工作有没有碰到模棱两可的情况,团队是如何解决的?
有,因为有时候很难决定这个是不是需要这个接口。有时候我们不知道“单词类”、“课程类”、“测试类”等等到底设计成什么样比较好。因为本来关系比较乱,而且涉及到之后实现的问题。所以大牛就召集大家开了个会。但是除了PM和大牛,大家纷纷表示这个东西自己不熟悉,所以最后也没有给出任何有创造性的意见,所以,遇到这样的问题,都是PM和大牛自己决定了。
3. 团队是否运用单元测试(unit test),测试驱动的开发(TDD)、UML, 或者其他工具来帮助设计和实现?这些工具有效么?
没用过,不知道有没有用。
4. 什么功能产生的Bug最多,为什么?
Course类的Bug最多,原因是这个时候我们已经没有时间自己写Course类了,所以把旧的版本的此类直接拿过来用,但是由于跟我们的框架不是十分兼容,所以,一编译就会瞎。只好不停的改,改到哭。
5. 代码复审(Code Review)是如何进行的,是否严格执行了代码规范?
因为没有人感质疑大牛的代码,起初PM进行了简单的复审,遇到了一个自己没见过的用法,大牛来讲解了以后,PM收获了很多,但是以后再也没有问过了。也没有进行任何有意义的复审。
测试/发布
1. 团队是否有一个测试计划?为什么没有?
没有测试计划,之前是有,但是当发现我们无法在期限内交工后,PM就把所有的测试人员拉过来搞开发。也放弃了测试。
2. 是否进行了正式的验收测试?
验收测试是什么?能吃么?我们能用就行了,好像就是这样。
3. 团队是否有测试工具来帮助测试?
没有。
4. 团队是如何测量并跟踪软件的效能的?从软件实际运行的结果来看,这些测试工作有用么?应该有哪些改进?
5. 在发布的过程中发现了哪些意外问题?
整理:马骏
设想和目标
1. 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述?
我们的软件的首要目的,是帮助用户记忆单词。因为我们认为,用户学英语的首要需求就是背单词。所以我们就是要解决如何帮助用户有计划的进行单词记忆训练。
典型的用户和场景就是划分了不同的考试需求。英语四六级、TOEFL、GRE等几类考生。
2. 是否有充足的时间来做计划?
是有一定的时间,我们大概花了有三天来进行这个计划,因为拿到了一个已经完成的软件。所以我们初步是试用找出缺点,然后进行功能上的优化和改进。
3. 团队在计划阶段是如何解决同事们对于计划的不同意见的?
一开始队长提出了很多”牛逼”的技术,很多只有他懂,我们完全没有技术能力.所以,在讨论的很多时候我们都只能听.但是他发现我们没办法帮助他完成,所以,他就放弃了那些设想,然后我们回到了讨论基础功能的改进上,然后队长(技术大牛)决定了我们的方向,我们都表示赞同。
计划
1. 你原计划的工作是否最后都做完了? 如果有没做完的,为什么?
很多没有做完。原因有以下一些。
1,任务分给的那个人,每次都无法完成他的任务,在PM询问他的时候,他总之“谎称”已经完成,但是无法整合到最后的代码中。无法“真正”的拿出可运行的代码。
2,大牛对原来软件的框架十分不满意,所以,开始从框架开始写起,但是其他的人的工作在此时没有办法继续进行下去。契约编程没有实现。在他框架构建完成后,其他人无法明白,无法继续后面的工作,只好由大牛继续完成下面的细节。但是大牛又老是不在宿舍,打电话也不接,无法有效的跟踪他的任务进度,所以任务进度就变得飘忽不定。
2. 有没有发现你做了一些事后看来没必要或没多大价值的事?
完全重新构建软件框架。
3. 是否每一项任务都有清楚定义和衡量的交付件?
没有,这个是一个很大的问题.比如,学习单元测试.但是没有标明到底怎么样算是学习了,这样的话就没办法评估。应该是比如学习单元测试,一定要看你最后学习的成果,比如今天给已经写好的类完成了至少五个单元测试.那么就好了。看来,有一个清楚的定义和衡量的交付件是十分必须的!!
4. 是否项目的整个过程都按照计划进行?
没有,因为之前说的原因,在很多时候都没有按照进度进行,泪目!!!!!!!
5. 在计划中有没有留下缓冲区,缓冲区有作用么?
没有留下缓冲区,完全不懂这个概念,没有留下给软件稳定的时间。而且,以我们的情况,就算最后留出了缓存区,也会被浪费掉。
6. 将来的计划会做什么修改?(例如:缓冲区的定义,加班)
加班加班加班加班加班加班加班加班加班加班加班加班!!!!!!!!
资源
1. 我们有足够的资源来完成各项任务么?
有
2. 各项任务所需的时间和其他资源是如何估计的,精度如何?
学习了邹老师那节课后,我们学会不是一拍脑袋就决定一个项目完成的截止时间,对于每一个独立的任务,我们都是三拍脑袋才决定的。
3. 用户测试的时间,人力和软件/硬件资源是否足够?
我感觉不不够,很不够。
4. 你有没有感到你做的事情可以让别人来做(更有效率)?
PM如果队长来做的话,可能会更好一点。
变更管理
1. 每个相关的员工都及时知道了变更的消息?
不是,那些搞后台的人,都不知道我们前台变了需求,那些画前台UI的人根本不关心我们项目逻辑进行到什么地方了。一直提一些完全无理的要求。
2. 我们采用了什么办法决定“推迟”和“必须实现”的功能?
看大神的眼色,我们发现,没有大神我们的项目就完了。所以他决定不做了,那就真的做不了了。必须实现也是看他和PM商量后决定的。
3. 项目的出口条件(Exit Criteria – 什么叫“做好了”)有清晰的定义么?
好像没有。
4. 对于可能的变更是否能制定应急计划?
没有。
5. 员工是否能够有效地处理意料之外的工作请求?
必须不听话啊,大家都忙自己的事情啊,我觉得,如果一周只有软工课的话,大家或许会更加用心。
设计/实现
1. 设计工作在什么时候,由谁来完成的?是合适的时间,合适的人么?
在前一周,由队长完成。是合适的时间,稍微晚了一点。人必须是合适的人,因为设计的人必须是大牛才行。要不设计出来一坨屎,别人怎么写?
2. 设计工作有没有碰到模棱两可的情况,团队是如何解决的?
有,因为有时候很难决定这个是不是需要这个接口。有时候我们不知道“单词类”、“课程类”、“测试类”等等到底设计成什么样比较好。因为本来关系比较乱,而且涉及到之后实现的问题。所以大牛就召集大家开了个会。但是除了PM和大牛,大家纷纷表示这个东西自己不熟悉,所以最后也没有给出任何有创造性的意见,所以,遇到这样的问题,都是PM和大牛自己决定了。
3. 团队是否运用单元测试(unit test),测试驱动的开发(TDD)、UML, 或者其他工具来帮助设计和实现?这些工具有效么?
没用过,不知道有没有用。
4. 什么功能产生的Bug最多,为什么?
Course类的Bug最多,原因是这个时候我们已经没有时间自己写Course类了,所以把旧的版本的此类直接拿过来用,但是由于跟我们的框架不是十分兼容,所以,一编译就会瞎。只好不停的改,改到哭。
5. 代码复审(Code Review)是如何进行的,是否严格执行了代码规范?
因为没有人感质疑大牛的代码,起初PM进行了简单的复审,遇到了一个自己没见过的用法,大牛来讲解了以后,PM收获了很多,但是以后再也没有问过了。也没有进行任何有意义的复审。
测试/发布
1. 团队是否有一个测试计划?为什么没有?
没有测试计划,之前是有,但是当发现我们无法在期限内交工后,PM就把所有的测试人员拉过来搞开发。也放弃了测试。
2. 是否进行了正式的验收测试?
验收测试是什么?能吃么?我们能用就行了,好像就是这样。
3. 团队是否有测试工具来帮助测试?
没有。
4. 团队是如何测量并跟踪软件的效能的?从软件实际运行的结果来看,这些测试工作有用么?应该有哪些改进?
5. 在发布的过程中发现了哪些意外问题?
相关文章推荐
- 张孝祥老师交通灯管理系统的学习笔记 在做一件事时,首先要明确要达到什么效果。有目的性。就软件项目来说就是,首先要看的就是项目所提出的项目要求。做项目,不急于写代码,先把问题搞清楚,把要求分
- 祖代屠户出身 英语学习软件
- 软件项目管理学习之:进度管理,死亡之旅-最后期限
- 软件项目管理学习之进度管理 死亡之旅
- EnMp3Player 学习英语口语的好软件(MP3复读机)
- 广州市工商行政管理局归档存储和数据备份软件采购项目中标结果
- <<易货>>项目Postmortem结果
- 英语学习而得不到想要的结果思考
- 读《借助开源项目,学习软件开发》总结
- 借助开源项目,学习软件开发
- 软件开发 英语学习播放器2010
- 【总结】软件工程项目之C/S学习
- 近两个月开发软件项目的学习总结
- 软件项目开发组学习研究课题
- Qt:实现入门级英语学习软件
- 基于数据库的英语单词辅助学习软件的优势
- 王者荣耀交流协会PSP Daily项目Postmortem结果
- 近期.NET学习及项目开发整理-弹出对话框显示 是否 然后得到 选择的结果
- 项目管理学习篇(三)——软件项目管理特点
- 项目管理学习篇(四)——软件项目管理的一般过程