其他分享
首页 > 其他分享> > 【Alpha阶段】事后总结 - 灵境 | week12

【Alpha阶段】事后总结 - 灵境 | week12

作者:互联网

Alpha阶段事后总结

项目 内容
这个作业属于哪个课程 2022年北航软件工程
这个作业的要求在哪里 团队项目-Alpha阶段软件发布声明

Part1 设想和目标

1.1 产品

① 产品定位

『主打VR Chat功能的高校元宇宙』

主要考虑对于普通大学生和教师的社交,在设计之初没有考虑到有许多单纯想获得乐趣的找乐子人。之后尝试设计更多娱乐性功能,同时将娱乐功能和一些常见社交功能相结合进一步体现社交属性。

② 典型用户和场景

对典型用户和典型场景的理解是否一致?

在alpha阶段典型用户和场景主要是为了写而写,没有进行非常一致性的表述,没有特别设计针对每种用户的具体的功能。beta阶段考虑将典型用户场景与具体的功能进行绑定

③ 目标完成度

④ 用户反馈

用户对重要功能的接受程度和我们事先的预想一致么?

用户对于高校场景的喜爱和体验与我们事先预想一致,同时由于没有太多具体功能,用户粘性不够也是事先预想到的。

设计并发布问卷,包含已有功能评价反馈,待做功能优先级,对每个功能的需求程度,以此为依托确定beta阶段的开发目标。

⑤ 经验教训

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

1.2 计划

Part2 设计与实现

2.1 功能设计

2.2 bug分析

2.3 变更管理

Part3 测试与发布

3.1 测试计划

团队是否有一个测试计划?

① 前端测试人员

我们安排了tsq同学完成QA和测试的工作,对于前后端的代码进行测试和质量保障。

② 缺陷规范

Coding平台“缺陷”提出规范:至少包含bug出现位置、触发条件、出现频率、严重性等内容,此部分在第5部分进行严格定义,此处不再赘述。

③自动化测试工具

3.2 验收测试

3.3 经验教训

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

yrb

收获:学习了unity布局方式,对3d建模和游戏开发增进了解,实践体验软工项目团队合作

改进:unity中的版本管理和代码规范混乱,coding团队管理功能待熟悉

fzc

收获:学习了如何利用coding进行敏捷开发项目管理以及持续集成部署。同时熟悉了springboot后端框架,了解了redis,mybatis-plus,swagger,netty的基本用法,了解了jwt鉴权验证和基于session的用户验证。学习了如何集成阿里云的oss相关sdk以及腾讯云的短信相关sdk。

改进:项目开发流程上需要进行优化,任务管理分配,代码复审,测试流程,质量保障都有待完善。

lyyf

收获:学习了unity的多人网络同步、unity的语音服务

改进:后续攻克相关技术时应更带有目的性,开发时的团队协作也应更加规范

lhy

收获:学习了Unity引擎的使用和C#语言的基本用法,实践了一些设计模式。

改进:alpha阶段对于新功能、新需求的制定流程不够规范。在beta阶段将制定合理的流程规划每一个功能。

gcy

收获:学习了unity的基本操作与脚本的编写

改进:开发规范有待提高,开发流程的时间分配不够合理

xwq

收获:学习了netty框架和jwt鉴权的基础知识并且应用于项目之中

改进:后端代码规范约定不够细致,导致前后端中期一些处理没那么流畅。在alpha阶段结束后重新制定并优化规范,在beta阶段严格遵循。

tsq

收获:学习了SpringBoot下使用MockMVC结合JUnit的单元测试方法,学习了使用ApacheBench发送含header的POST请求进行压力测试的方法。学习了Unity + XCode打包发布iOS TestFlight APP的方法。

改进:发现问题之后要及时提issue,能够提高bug修复的效率。

团队整体总结

大家在alpha阶段都对于自己负责的部分的技术都进行了较为深入的学习,都有了比较多的了解,对于敏捷开发的基本流程有了一定的认知。

beta阶段需要更明确和完善的设计文档,分工,任务管理,开发测试流程

Part4 团队角色和管理合作

4.1 分工

前端主要功能需求分工

beta阶段大致分工安排

前端
后端
QA&测试&发布

4.2 合作

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

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

4.3 每人说一说

此处采取打分和举例的形式,满分3星。在我们的这次开发中,为了描述方便,客户可以认为是中传为主的创业团队。

  1. 我们最优先要做的是通过尽早的、持续的交付有价值的软件来使客户满意

    打分:⭐⭐⭐

    举例:我们在alpha阶段通过持续的开发集成,最终发布了版本,带来了60多名用户,用户群人数达到80+,带来了一定的用户积累,同时让用户体验到了初始版本,获得了许多乐趣。

  2. 即使到了开发的后期,也欢迎改变需求。敏捷过程利用变化来为客户创造竞争优势。

    打分:⭐⭐⭐

    举例:在设计之初,客户提出了一些基本功能,而中途在他们的设计完善之后,加入了诸如AR换脸在内的功能,我们也做出了及时调整,让产品更加有竞争力。

  3. 经常性的交付可以工作的软件,交付的间隔可以从几周到几个月,交付的时间间隔越短越好。

    打分:⭐⭐⭐

    举例:我们每周都会发布一个新版本供内部包括中传的美工UI建模同学以及开发人员进行内测。而且每周的版本都是可以正常运行使用的。同时每天服务端会进行一次持续集成,不断进行单元测试和部署,为客户端提供数据服务支持。

  4. 在整个项目开发期间,业务人员和开发人员必须天天都在一起工作。

    打分:⭐⭐

    举例:开发阶段,我们和中传的同学不断试用产品,并提出自己的建议。不过由于大家的事务繁忙,并没有做到每天都一起工作。

  5. 围绕被激励起来的个人来构建项目。给他们提供所需要的环境和支持,并且信任他们能够完成工作。

    打分:⭐⭐⭐

    举例:团队内部鼓励成员深入挖掘技术,alpha阶段一共有4名同学各自发布了1篇技术博客,对自己研究的内容进行了深入探讨,包含unityUI布局,多人同步技术调研,后端持续集成部署等。我们信任每个个体,让每个成员各司其职,并将自己负责的部分研究得透彻深入。

  6. 在团队内部,最具有效果并且富有效率的传递信息的方法,就是面对面的交谈。

    打分:⭐

    举例:这一点做的并不好。因为各种原因,alpha阶段我们并没有做到定期面对面交流,更多的是语音交流,这样会带来一些效率问题。不过前端和后端对接时也常常采用语音聊天的形式及时跟进问题,高效解决问题。

  7. 工作的软件是首要进度度量标准。

    打分:⭐⭐

    举例:alpha阶段我们每到一定的阶段就会由lyyf打包一个版本供大家使用,从而提升了整体的开发热情。但是除了周发布以外的产品并没有做到都可以完全无明显bug的运行。

  8. 敏捷过程要保持可持续的开发速度。责任人、开发者和用户应该能够保持一个长期的、恒定的开发速度。

    打分:⭐

    举例:alpha阶段出现了每周的进度不统一的情况,前期开发进度相对缓慢,第二周的进度却明显更快,一方面是由于第一周的技术攻关需要时间,另一方面也是我们没有做到定期线下集体开发交流问题。

  9. 不断地关注优秀的技能和好的设计会增强敏捷能力。

    打分:⭐⭐⭐

    举例:后端在开发之前就调研了并发框架,并确定了springboot+netty这一主流方案。用户鉴权设计之初确定的是利用session,然而之后因为实际开发时发现基于session的认证已经不适用于客户端服务端结构了,因此调整为更流行的jwt认证方案,从而加速了用户鉴权功能的实现,提升了稳定性。前端在设计之初想过直接用websocket与后端相连的方式进行多人同步,但是之后发现这样工作量较大,且自己实现的往往不稳定,因此经过调研使用了unity中的开源框架mirror,高效的解决了多人同步问题。

  10. 简单----使未完成的工作最大化的艺术----是根本的。

    打分:⭐

    举例:设计之初对于一些功能的描述并不准确,没有让每个功能都简单清晰。

  11. 最好的构架、需求和设计出自于自组织的团队。

    打分:⭐⭐

    举例:我们团队虽然是自组织,但是并没有做到前端的良好架构,原因是一开始没有确定严格的文件组织规范。

  12. 每隔一定时间,团队会在如何才能更有效地工作方面进行反省,然后相应地对自己的行为进行调整。

    打分:⭐⭐

    举例:每次例会都会总结一段时间内的工作,但是并没有每次都进行反省和及时提升。alpha总结阶段大家通过线下交流和线上的聊天,畅所欲言,对过去遇到的问题进行了及时反思总结。做出了以下调整:1.完善了用户鉴权以及服务端安全控制。2.发布了用户调查问卷,对需求分析做出完善。3.通过事后总结确定了beta阶段的开发测试流程,以及确定了细致的功能需求。

Part5 beta阶段开发注意事项

5.1 冲刺阶段开发流程

每日开发

以2天为单位,完成一次循环

每周构建

5.2 需求模板

开发需求

标题格式为:开发需求-[简要描述]

具体内容为对于这个开发需求的具体介绍,以一个数字列表形式呈现。

截止日期需要指定为下一次例会开始时间

image-20220519195810523

功能需求

此需求模板是针对一些奇思妙想的收集

标题格式为:功能需求-[简要描述]

具体格式包括功能说明+可能的实现方式/技术方案两个方面

测试需求

标题格式为:测试需求-[简要描述]

具体内容为一个todo列表,内容为自己完成的功能的简单描述和对应的issue。大致为功能具体描述:issue编号

截止时间需要指定为下一次例会时间

image-20220519204454194

5.3 任务模板

标题为:任务简要描述,比如:聊天服务

每一个任务尽量是不可再分的,即如果再拆分对于自己没有积极意义。

同时需要包含3个方面,任务具体描述,实现方案(包含设计和具体实现),简单测试结果(简单测试用例,在什么样的情况下测试无误)

截止时间需要设置为某次例会时间。

image-20220519203006202

5.4 缺陷模板

标题为bug的简要描述

具体内容包含bug出现位置、触发条件、出现频率、严重性。

image-20220519204950927

标签:功能,week12,用户,开发,测试,alpha,Alpha,灵境,进行
来源: https://www.cnblogs.com/hair-duang-duang/p/16290082.html