特定的软件研发背景,决定了SCM应关注于哪些方面,即,决定了对SCM系统的功能需求,进而决定了SCM系统的设计和实现。
影响SCM关注内容的一个重要因素是研发团队的规模。不同规模的研发活动,SCM需要关注的内容是不同的。因此,本文首先按照研发规模对SCM系统的一般需求进行分类,并列举各SCM关注域和各项关注点。
小规模团队的典型值:3人,工作在一个相当独立的组件(独立的产品或相当独立的一个模块)上。
中等规模团队的典型值:10人,工作在一个相当独立的组件上。
大规模团队的典型值:50人,工作在一个相当独立的组件上。
这个数字专指程序开发人员,不包含专职的测试、需求管理等人员(如果有)。
这些SCM关注内容是递进的。对于中等规模研发,应首先满足小规模研发对SCM系统的需求。对于大规模研发,应首先满足中等规模研发和小规模研发对SCM系统的需求。
在SCM系统建设、改进的过程中,这些SCM需求是分优先级的,是分先后顺序的。一般的,应首先满足小规模研发对应的需求,再考虑中等规模研发对应的需求,进而考虑大规模研发对应的需求。
有时,对于特定规模的团队,也实现了一些超越对应其规模的需求的功能,如果这些功能本身的时间和资源耗费不大,则通常也是可以接受的。
源代码规模、源代码耦合/聚合性、编程语言类型、质量要求、算法难度、开发文化也会对SCM系统产生影响。一般的,当这些值高时,视作团队规模变大。其中编程语言类型一项,脚本语言视作团队规模变小,需要编译的语言视作团队规模变大;结构化的、易读的语言视作团队规模变小,反之视作团队规模变大。其中开发文化一项,倾向于敏捷,则视作团队规模变小,倾向于规范,则视作团队规模变大。
产品研发背景还可能具有一些特定的方面。比如,可能引入了第三方的源代码,可能同时开发多个Release。这类特定的研发背景,会产生对SCM系统的特定需求。因此,本文按这些特定背景,对SCM系统的特定需求进行分类,并列举各项SCM关注点。
根据实际研发背景,可确定使用本文的哪些部分。比如,互联网企业,常常是一般需求-小规模加特定需求中的管理数量,并可能涉及特定需求中的管理相关性。因为常常是每个组件都很小,而组件的数量则很多。而手机研发,则通常在一般需求-大规模的基础上,还至少包括特定需求中的管理变体。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !