英语学习软件项目Postmortem 结果

英语学习软件项目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. 在发布的过程中发现了哪些意外问题?

 

转载于:https://www.cnblogs.com/SuperBrothers/archive/2012/11/18/2776577.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值