20191114-2 Beta阶段事后诸葛亮会议

此作业要求参见:https://edu.cnblogs.com/campus/nenu/2019fall/homework/10005 

组长组“多彩夕阳”项目beta阶段诸葛亮会议

设想和目标

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

我们设计的软件主要是针对当代老年团体,为了他们的晚年生活提供方便。在某一个社区进行使用,在软件里发布生活信息,社区活动,和一些商品的买卖。考虑到老年人对智能手机的不熟练,软件操作起来相对简单。注册登录进入之后只需要用手指点开感兴趣的界面就可以,使老年人获得消息通知,对自己想去的活动进行报名,或者购买,方便老人生活和娱乐活动到beta阶段为止我们已经添加了一些功能,后续还会一点一石的更新。

2.beta阶段我们达到目标了吗?是否有充足的时间来做计划?

beta阶段结束我们达到预期的目标并收集用户反馈信息。

有充足的时间做准备。从确定选题开始,小组成员就在一起商量项目的大体框架,包括开发工具,软件发布形式,主要功能,界面等。每个人发挥自己自己的特点,分工明确,大家及时的沟通所遇到的问题,不断地增加彼此的默契,一点一点的实现我们的项目的终级目标。同时老师也对开发划分成了不同阶段,给了我们最大的保障。每个阶段我们都可以提前完成。

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

计划阶段,小组成员对项目计划公共部分都提出了自己的看法,也出现过争论。大家在一起讨论之后,把项目中的每一步骤都组合到一起,比较出一个最佳方案。把其中的一些细节安排给特定的人,让其在这里面自由发挥,互不干扰。随着相处的时间越来越久,大家的关系越来越好,讨论的氛围也比较轻松,更加有助于我们解决对不同问题的看法。

4. 和上一个阶段相比,团队软件工程的质量提高了么? 

和alpha阶段相比,我们的项目功能更加完整,成员之间配合越来越默契,完成任务的效率也是有较大提高。

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

alpha阶段结束我们有10名用户,和我们项目初期设想的目标一致,用户对软件的功能表示认可,觉得做的很有想法。同时也对一部分功能的优化给出一些建议以及需要增加的功能。不过总体上来看,还是收到不错的效果,和我们预先设定的目标一致,离我们的目标更近了一步。

通过这次实战,从中得到很多经验教训主要包括项目:(1)需求分析。我们做的分析不足导致软件的全面性不足,影响用户的使用体验,这也是下一步的改进计划.(2)项目发布。我们计划时使用app的形式发布,然而由于没有经验不知道发布app平台需要版权,所以导致我们的发布没有和预期承诺的样给我们组也是减了分数。(3)团队合作。这是我们第一次组合在一起进行工作,以前所有人都没有经历过这种模式,所以难免出现各种问题,这是给我们所有人今后参加工作的提前热身。

如国历史能从来一遍我们将会对项目里的功能进行更细化的分配,对需求分析做的更全面,努力在beta阶段结束增添更多功能,特别是一些细节,争取达到所有人的满意。

计划

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

原计划的功能部分的工作已经全部完成,只是在发布上没有和预期的一致,主要是因为我们对发布一款app的不了解,出现没有预想的的困难beta阶段结束之前我们仍然尝试去实现我们的发布承诺。但还是不行,所以决定放弃之前的重新换一种方式。

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

没有。我们在开始项目之前就已经设计好了大概方向所以按照计划进行。项目中的每一件事都是计划多好的,都对软件的后期具有重要意义。

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

是的。我们每天都会召开一次立会,讨论三十分钟以上,并拍照为证,照片上显示出当前日期时间,地点也是精确到具体位置。对每一项任务都分配到具体的人身上,每天有不同的人发布一篇立会报告。

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

是的。每一周我们会制作一张todolist,在这张表上明确每一项任务,并给出具体的执行人,所有人按照表上面的计划各自完成自己对应的任务,并在完成的上面用删除线标明。

5.在计划中有没有留下缓冲区,缓冲区有作用么?

留有缓冲区。我们的每一项任务都是对应着不同的人,大家按照计划去完成。在规定时间内完成则不会有问题。弱国有一个人由于某种原因耽误了,这个时候缓冲区则会发挥作用,所有人可以在这个时间一起解决该问题,缓冲区给了我们一次犯错的机会,是最后一到屏障。

6.将来的计划会做什么修改?(例如:缓冲区的定义,加班)

将来会对缓冲区进行更改,甚至会取消采用另一种办法解决。比如,小组成员中如果有一个人没有能力完成自己的任务,要及时汇报,其他人一起解决,再次对人物进行就划分,大家要互相帮助,团结协作,这样就可以把进度变快,提前完成项目。

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

在做项目时,时间对开发人员很重要,一定要精确,按时完成任务,完成不了时要及时说出来。如国重来一遍,我们会按照成员能力进行划分,这样就可以避免无法按时完成任务所带来的麻烦。

资源

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

有,授课老师和兄弟院校的老师都会对我们的项目提出建设性的意见,对我们开发上提供很大的帮助,同时我们通过网络搜索和向有经验的开发人员询问来完成各项任务。

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

各项任务以分钟为单位,采用psp记录,开始时间,结束时间,中间间断时间都要细致记录

3.用户测试的时间,人力和软件/硬件资源是否足够?

足够。前期我们设想了10名用户小组五名成员分别去寻找用户进行测试,相对还是比较轻松

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

有。因为我这个人性格就是偏慢的类型,做事情紧张不起来,只有在最后时刻的时候才会着急。我感觉别人的能力都是在我之上,他们对自己的任务都能很好的解决。总是比我完成的更快,就觉得别人做可能更好。

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

会针对项目在网上进行类似查找,了解那些成熟得产品得内容,在衡量自己得项目,哪些是优点,哪些可以改进,充分利用网络资源。设身处地的思考我们面向的对象,这样可以避免很多错误。

变更管理

1.每个相关的员工都及时知道了变更的消息?

是的。我们通过微信群,有变更及时发布在群里,组员看到后及时回复,时间长没回复的同时也是紧急的事的时候会用电话联系。

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

小组开会讨论,确定核心功能,对核心功能必须实现。每周发布的小组成员的任务都是必须实现的,当一项任务可以推迟的话我们会优先完成必须要完成的任务,指的是时间序列,它在这一周是可以推迟的,但下一周它会发布任务变为必须实现,所以具体的划分都是通过发布任务,每周的任务都是必须实现。如:用户登录注册,主要活动界面。一些界面设计,如:图片会放在后期改进。

3.项目的出口条件(ExitCriteria)有清晰的定义吗?

将其定义为,大体框架中得主要功能全部完成,运行流畅,后期更新功能可以添加。

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

能。每天召开一次立会汇报情况,若是没有参加的利用电话及时通知成员。

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

能。对于完成不了工作任务得成员,其他人会分但他的那一部分,齐心协力完成项目。

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

要做好变更得解决办法,制定一套应急措施。确保所有人能够知晓变更的消息。重来一遍时,我们可能会更多的在一起工作,这样有问题能够很好沟通。对变更的消息,也能及时商量和获悉。

设计/实现

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

设计工作是在确定项目之后由所有成员完成得。在实现上进行的分工。每周都会制定任务表,并分配给特定的人。在时间截止之前完成任务,是合适的人合适的时间。

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

没有

3.团队是否运用单元测试(unittest),测试驱动的开发(TDD)、UML,或者其他工具来帮助设计和实现?这些工具有效么?

运用了TDD。没有用单元测试和UML。Tdd主要是编写测试用例框架对功能得过程和接口进行设计,二测试框架可以持续进行验证非常有效。

4.什么功能产生的Bug最多,为什么?

bug出现最多主要在活动报名部分,因为这部分和服务器进行的数据交换多,需要使用多接口。beta阶段结束我们的评论部分也出现问题。目前还不太清楚原因。正在解决。

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

经历过alpha阶段的代码规范,到beta阶段结束我们做了版本控制,并在每天进行checkin 并汇报情况,严格执行代码规范。

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

程序设计过程中注意代码规范,以及实现得工具选择像,接口,框架。如果做出改进,会根据能力强弱对代码编写部分合理分配,发挥各自特长。还要对代码规范严格设计,定期检查。

测试/发布

1.团队是否有一个测试计划?为什么没有?

有测试计划,我们去到就近社区得活动中心进行测试,现场给老年人讲解产品得主要功能和用法,一并听取他们得用后感受。有更新之后及时通知并收集反馈信息。

2.是否进行了正式的验收测试?

是的。我们收集了10名用户的感受,包括现场的反馈和微信问询的形式。

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

没有。测试工作由成员手动完成。

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

目前还没有,以后会设计。

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

发布过程中我,我们发现我们想到的发布平台都需要版权才可以,这一点是我们没有考虑到的,给我们造成很打的困难,至今也没有很好解决。

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

 测试软件要制定详细计划,对用户反馈的意见做好记录。在设计发布形式时一定要清楚了解,不能到最后才发现问题。如果重来一次,我们会仔细查找发布一款产品的条件,用一个风险小的发布形式。

团队的角色,管理,合作

1. 团队的每个角色是如何确定的,是不是人尽其才?

每个人根据自身能力特点选择力所能及的任务,解决不了的会在一起商量解决办法。每个人都发挥了自己的能量。

2. 团队成员之间有互相帮助么?

有。如果有哪个人完成不了自己的任务时,组内其他人员会主动帮忙。

3. 当出现项目管理、合作方面的问题时,团队成员如何解决问题?

大家会一起商量,最后投票。

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

团队合作时候,最关键的就是要默契,自然。这样在交流起来的时候就不会显得拘谨,大家可以畅所欲言,气氛比较愉快,轻松。

总结

1.你觉得团队目前的状态属于 CMM/CMMI 中的哪个档次?

CMMI二级

2.你觉得团队目前处于 萌芽/磨合/规范/创造 阶段的哪一个阶段?

规范阶段

3.你觉得团队在这个里程碑相比前一个里程碑有什么改进? 

小组成员交流更放松,关系越来越好,工作起来效率更高。

4.你觉得目前最需要改进的一个方面是什么?

对于团队规范还需要加强。

5. 其它软件工具的应用,应该如何提高?

平时要多了解和软件工程有关的网站和软件工具,增长这方面的知识。充分利用使自己的代码更加规范,项目更加的美观,操作更加方便。

6. 项目管理有哪些具体的提高?

 对代码进行规范,做版本控制,按计划进行checkin,把代码放到团队成员都可以共享的地方托管,这样操作起来更有效率

7. 项目跟踪用户数据方面,计划要提高什么地方,例如你们是如何知道每日/周活跃用户等数据的?

我们到现在为止还没有办法进行每日活跃用户统计,基本上是采用对用户问询的方式。小组会进行探讨如何实现这一计划,这也是我们需要提高的地方。

 

 

 

 

 

 

posted on 2019-11-20 13:05  ”组长“组  阅读(216)  评论(0编辑  收藏  举报