SeqAn3:设计、管理与结构解析
1. SeqAn3项目管理与社会层面问题
研究软件工程师(RSEs)在学术界面临着独特的挑战。主要问题在于学术界普遍缺乏对软件在科学研究中价值的认可,以及对生产高质量软件所需的时间和资源投入的忽视。这种情况导致RSEs难以在学术体系中获得声誉,许多研究软件的开发也变得不可持续,不少项目在短时间内就被放弃。
SeqAn项目在学术团队中开发,该团队主要专注于计算方法的研究。虽然SeqAn在团队内的可见度相对较高,但由于团队成员各自有具体的工具或应用研究重点,在Andreas Gogol - Döring离开项目后,缺乏专门致力于库的改进和维护的人员。过去十年,主要开发者都是博士生,团队人员流动大,这使得构建一个全面了解项目各方面的有效团队变得困难,还导致库内代码风格和范式的碎片化以及概念上的倒退。
Knut Reinert在宏观层面提供了出色的领导,他为研究提供重要见解和方向,成功获取项目资金,并每年吸引新的学生参与SeqAn的工作。但专业的软件产品还需要技术层面的领导,自2016年底开始,这一角色由作者担任,René Rahn也分担了许多责任。后来组建了“SeqAn核心团队”,让更多开发者参与决策过程,这提高了项目的“容错性”,规范了知识转移和交接流程。
团队除核心成员外,还有许多定期参与库开发的成员,他们主要专注于应用开发。新成员会接受入门培训和结对编程,以融入团队并学习基本要求。团队至少每周开会,核心团队还会额外深入讨论问题,并记录会议结果。为保证源代码质量,采用了双重审查流程,所有对库的更改都以拉取请求的形式进行,需得到两名不同团队成员的批准才能合并。作为开源项目,还编写了贡献者指南、问题和拉取请求模板,并引入了行为准则
超级会员免费看
订阅专栏 解锁全文
58

被折叠的 条评论
为什么被折叠?



