Beta阶段总结

1.设想和目标

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

   我们的软件要解决的就是学生作业多、乱而导致的学生漏写作业,忘交作业等问题,给予学生和老师一个相互交流的平台,更加方便课程的学习。

       对典型用户和典型场景有清晰的分析(见之前博客)

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

   有充足时间来做计划

 3.团队在计划阶段是如何解决团队成员对于计划的不同意见的?

   当出现意见分歧的时候,我们会各抒己见,之后相互讨论,得出最佳解决方案。

2.用户量、用户对重要功能的实现的接受度和我们事先的预想一致吗?我们离目标更近了吗?有什么经验教训?如果历史重来一遍,我们会有什么改进?

     我们预想的差不多,离我们的目标更近一步。而且我认为实用性还是比较强的,功能方面可能还需要进行改进、完善、更新。如果重来一遍,我们依旧是会重抓功能实现,当然也要包括页面的设计,布局合理。

3.计划

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

  做完大部分,因为有一些功能需要的技术相对较高,还不能实现。

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

  有,我们在考虑有关程序性质的时候,还进行了安卓、微信小程序方面的学习,但最终还是选择网页的方式。

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

  不是所有的任务都有,起初对网页的实现并不是那么熟练,还是需要通过高强度的学习来进行下一步的完善,所以并不是所有的任务都有清楚定义和衡量的交付件。

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

     不是,在某些功能板块因为确实实现不了,所以选择了放弃,中途中还添加了一些新的功能。

5.在计划中有没有留下缓冲区,缓冲区有什么作用?(例如:缓冲区的定义,加班)

  有,虽然网页版相对其他性质的作品来说,可能较简单一点,但其中许多功能的实现还是需要自学的(作业评论功能)等。

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

  按照原计划进行。功能方面可能会进行删减。

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

  明白了任何强大的实现都是在高强度知识的积累下完成的,没有天生什么都会的人。如果历史重来,我们会先进行学习,知识积累到一定程度后再进行冲刺,应该会感到更加轻松一点。

 5.资源

1.我们有足够的资源来完成各项任务吗?

  有足够的资源。

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

  所需时间和其他资源是根据个人的实际情况来估计的(比如谁更擅长什么),结果精度虽然和实际情况有很大区别,但我认为是最好的结果。

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

  测试时间、人力等这些还不不够,低估了那些不需要编程的资源的难度。

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

 我们团队的任务的分配都是按照擅长程度来划分的,所以认领的任务一定是最适合自己的。

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

  我们的经验教训就是要找到充足的资源,做每件事之前都要准备好一切,以备不时之需。

7.变更管理

1.每个相关的组员及时知道变更的消息吗?

  能够及时知道,我们会通过QQ群,或者开会的形式及时通知。

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

  我们通过开团队会议,投票选出必须实现的功能,和可以推迟的功能(较难实现)。

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

  有,就是将程序基本的功能实现。

4.对于可能的变更计划是否能制定应急计划?

  可以

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

  我们团队的成员都比较善解人意,能够有效处理意料之外的工作请求。

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

  我们学到了不少东西,不仅是知识方面,还有为人处事方面,身为一个团队,我们必须互相尊重,尊重每个人的意见。

 9.设计/实现

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

    设计工作是在我们项目开始之前,大家开会讨论的。合适。

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

  有,我们都是开团队会议,对模棱两可的地方进行讨论,投票表决,最后决定。

3.团队是否运用单元测试(Unit Test)、测试驱动的开发(TDO)、UML或其他工具来辅助设计和实现?这些工具有效吗?

  我们团队运用了相关的工具来帮助设计和实现,这些工具有一定的效果。

4.什么功能产生的bug最多,为什么?在发布之后发现了什么重要的Bug?为什么我们在设计/开发时没有想到这些情况?

  有关作业的发布以及作业评论的bug最多,因为不仅需要相关css框架的设计,还需要代码,数据库的合理的搭配运用。

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

  我们集合起来,对代码进行调试,以及对代码的规范性进行了严格的要求。

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

  软件发布之前,要进行足够的测试,还有认真进行代码复审,如果历史重来,我们会做的更好

11.测试/发布

1.团队有没有测试计划?为什么没有?

  有

2.有没有做过正式的验收测试?

  有

3.团队是否有测试工具来帮助测试?

  没有

4.团队是如何商量并跟踪软件的效能的?从软件实际运行结果来看,这些测试工作有用吗?应该有哪些改进?

  每开发完一个工能之后,都会进行大量的调试、测试,这些测试工作非常有用,测试过程必须将诸多因素考虑进去,不能有任何的怠慢。

5.在发布过程中发现了哪些意外的问题?

  对云服务器的配置,之后进行发布。

12.我们学到了什么?如果历史在来一遍我们会做什么改进?

  对软件的测试也是一项高技术的要求,并不只是输输测试内容那么简单,他需要考虑多个层次,多个方面。

posted @ 2017-06-13 11:04  软件工程小分队  阅读(121)  评论(0编辑  收藏  举报