C4996团队项目失败总结与alpha阶段贡献分分配报告

BUAA_C4996 2024-06-20 03:26:25

说明

本次博客负责记录团队对软件工程项目FellowEd的反思以及alpha阶段的贡献分分配。

总结与反思

选题

C4996团队选择的项目为基于Vscode的多人代码实时编辑插件,我们先从选题出发,回顾之前选题的流程。

该选题于alpha第一次线下会议由吴牧禧同学提出,当时的情境为:团队需要急切提出一个选题以完成项目书的发布(组队较晚且第一次会议被推迟),团队成员对于该领域并不了解,所以并没有太多思考与意见提出(这或许也与其不高的参与积极性有关)。当时提出的仅仅是一个概念,也就是团队项目是一个可以让用户实时编辑的插件,对于其中涉及的技术栈,工作量,是否易分工合作,并无太多了解。或许这就是导致项目失败的一大原因。

从事后来看,项目的选择与评定对于成功十分重要,这往往决定了后续项目走向与风险。团队在草草选定项目选题后,并没有快速地通过查询资料来获得大致的技术路线,而是在选定后的后续阶段,甚至于到了alpha阶段收尾时,具体使用的框架才被最后敲定好。这或许也和项目的困难度有关,项目中使用的技术栈与校课程方案并无任何联系:

  • 团队使用Typescript而非Javascript来保证项目类型安全,使用语言内容高度工程化,团队内成员只有吴牧禧同学能够熟练使用该语言进行开发。

  • 框架底层技术困难,直接调用框架导致的透明性让开发过程变得比较困难。实时共享编辑主要基于OTCRDT两种技术,团队选择的框架yjs主要基于CRDT,这是一种基于数学与分布式的数据结构,尝试学习会妨碍项目进度。

  • 使用框架多且复杂,组合难度大,文档少。在所有框架敲定之后,团队使用了yjs,zed,nedb,vscode,vue,websocket,webview等框架技术,在事后团队分析认为工作量太大,且比较复杂之前未曾接触过

总结如下:

项目复杂且涉及颇多,团队未曾接触相应技术。最重要的是,在项目选题敲定时,并没有快速地对项目具体细节进行敲定,这就导致了后续即使需要更换项目,也无能为力。项目难可以换一个,重点是做到一半才发现做不下去。团队对自身所处情况没有正确的认识,对于团队成员过度乐观,抛弃了现实限制,从而埋下了项目失败的根,或许项目的存在仅仅是现实与需求的trade-off,项目依赖的技术并非最重要,如果脱离了现实,或者脱离了瞄准的需求,是不可能会成功的。

开发流程

团队按照课程组组队要求,分为alpha阶段与beta阶段两阶段进行开发。由于缺乏对软件工程的认识,团队没有对alpha阶段与beta阶段的职责进行细分,而是粗浅地认为这仅仅只是两个相同的开发阶段。事实上,这只是原因的一部分,只是就开发流程这一部分而言,确实是重要原因。

alpha阶段

课程组要求每个阶段必须召开七次会议,团队成员保留有应付的情绪,所以部分会议线上召开,认为即使少开一两次也是没关系的。这就导致了团队成员不能很好的沟通,并且对推进项目进度产生了极大的困难。在项目难度极大的基础上,更是为项目开发雪上加霜。

事实上,七次会议是远远不够的,按照项目难度与组员情况,应该尽可能做到每日线下会议,在时间冲突时,可以考虑线上会议以及会议记录等选项。将会议全都搁置线上是组织人极其不负责的行为,这样会将每位成员的团队反馈时间拉长到至少两到三天,从而导致团队成员在alpha阶段后都不能很好地明白项目的组成以及自己应做的工作

beta阶段

beta阶段收到了课程组与助教的帮助,在之后将事务细分给了所有人,但是项目推进的非常缓慢,除去之前所说的原因以外,还包括了部分团队成员不做出任何贡献核心成员一周无法联系团员群体摆烂等原因。在beta阶段,除去修复alpha阶段遗留的问题外,提出了 代码评注 与用户评论和对话 功能,在敲定web框架为vue之后,将任务分配给了在alpha阶段贡献较少的成员,在这些成员中,部分成员做出了一些代码贡献,其余成员没有做出任何代码贡献,甚至有成员到结束为止还没有对项目仓库做出过任何提交。

团队沟通与分配

C4996团队是被临时拉起来的队伍,里面什么人都有。😂

C4996团队是剩下的同学被动组织起来的队伍。甚至于绝大部分成员完全不认识其他成员。并且团队中成员类型多样,代码水平并不相同,选择该课程的目的也尽不相同,故而对项目的想法也不相通。由于之前提到的诸多原因,绝大部分组员其实只是被动地接收该选题,被动地接受安排,并没有主动地参与与思考,这其实是一种不负责任的行为(不含贬义)。团队中仅仅举行了少数3至4次线下会议,除此以外没有任何沟通,这在项目管理与开发中是非常严重的问题,并且在beta阶段结束展示时,全队人员总计只有3人到场,beta阶段的展示则是在当天早上草草完成。

组织人员

在经过分析之后发现,吴牧禧同学是项目的提出者,也是项目的技术负责人;戴波同学是部分阶段项目的管理者,其他同学主要负责项目具体开发。吴牧禧同学技术水平较高,但是由于个人原因导致事务繁忙,从而很多时候无法联系上;戴波同学并不擅长项目的管理与人员沟通,甚至抱有摆烂的心态,事实上这是一个极其容易摆烂不负责任的人,并不关心项目是否实现,将希望寄托在了项目提出者,并且在认为项目人员群体摆烂后选择了彻底的摆烂,导致了后续并没有严格地执行任务分配与管理,甚至没有beta阶段的展示。

最后的反思

一个项目的成功与否,与每一位团队成员相关,也与项目本身相关。从项目的开始,到六周的开发时间,其中充满了太多的错误。同时也希望课程组以后能够在课程中大致地描述往年的项目情况。

alpha阶段贡献分分配

经过和部分组员的协商后,C4996团队在alpha阶段贡献分分配如下:

说明: 下面的分数以百分制进行分配,总计占比100。

组员姓名贡献分百分比(%)贡献细由
吴牧禧25项目提出者;技术负责人:
郭骐鸣17.5贡献部分代码;负责部分团队事务;
戴波17.5贡献部分代码;负责部分团队事务;
蒋季初10参与项目讨论;
司亦菲10参与项目讨论;
王翼博10参与项目讨论;
易畅10参与项目讨论;

统计图如下:

image-20240620021335313

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

...全文
134 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

71

社区成员

发帖
与我相关
我的任务
社区描述
2024年北航敏捷软件工程
软件工程团队开发结对编程 高校 北京·海淀区
社区管理员
  • clotho67
  • Yeyanhan
  • HJin_Gwok
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧