子产品管理制度
版次:2021年12月25日 第1版
类型:程序文件
部门:软件部
上海维宏电子科技股份有限公司 版权所有
1 目的
为了提高公司软件的复用性,并进行有效管理,特制定本制度。软件最大的魅力在于复用性上,被软件开发人员奉为圭臬的“高内聚低耦合”,其实就是提高软件复用性的手段。
2 适用范围
本制度适用于研发体系及产品体系所有涉及软件产品的人员。
3 术语及定义
3.1 子产品
子产品是具有明确功能实现的特性集合。往往是软件产品中的某一模块,为什么不用模块而采用子产品这个名称。有如下几个原因:
- 模块是针对软件产品进行业务功能划分的描述,而子产品可能跟业务相关度不高。
- 想更加强调该模块功能具备明确功能范围,经过验证,具备独立发布的能力。
如开发中常用的基础库:日志库 SeriLog;对象映射库 Mapster 等。
具备以下条件:
- 明确的功能范围。必须包含:子产品的概要说明,功能列表,如何使用。如 SeriLog GitHub 上的 README.md 。
- 完善的说明文档。必须包含:功能规格说明及设计方案。
- 功能的质量保证。测试代码的功能覆盖率需 100% 覆盖, 单元测试代码覆盖率需 95% 以上。
- 独立发布。如以独立的 nuget 包发布。
4 职责
4.1 软件部
- 负责子产品的申请
- 负责组织子产品评审
- 负责子产品的发布的形式审核
4.2 专家委员会
- 负责子产品的评审
- 负责子产品的发布审核
4.3 发起人
- 提交子产品的申请
- 负责子产品的交付
- 申请子产品的发布
5 子产品管理
申请
由发起人向软件部提交子产品的申请。
交付
由发起人实现子产品。
评审
发起人准备完成后,向软件部申请组织评审。软件部邀请相关专家委员会进行评审。专家委员会给出评审意见。
公布
发起人准备好 nuget 包后,由软件部统一公布。
子产品后续更新
由发起人更新后,经过专家委员会评审后,发布。必须包含:版本更新范围,及对应更新的测试用例。
6 奖励
6.1 发布奖励
通过软件部发布成功的, 获得一次性奖励 xxx 元。
6.2 推广使用奖励
由发起人推动成功应用 3 个项目, 获得 MVP 项目奖励 xxx 元。
6.3 年度专项奖励
具体由软件部制定。如:最多 Star 项目。