【软件工程】持续集成:如何建立百万行级代码的版本构建系统(四)项目管理

来源:互联网 发布:淘宝评价投诉入口 编辑:程序博客网 时间:2024/05/23 19:52

本文主要涉及项目管理的几个方面:1、系统指标;2、项目人员组成;3、项目投入(财务指标)。

投入3、4百万建立一个版本构建系统是否合适?能达到什么样的标准?本文给出基本计算,看看百万行级别软件是否有必要。

1、系统指标

【支撑版本数量】在同一系统里面运行的版本,可能包括OS、中间层、应用的版本总计数量。

【同时执行任务数量】构建任务是并行的,同时可以在系统里面互相不影响、无阻塞运行的任务数量。

【稳定性】加入构建的代码,如果代码本身没有问题,100个版本中有多少可以成功构建而不受系统本身影响。

【构建效率】百万行代码编译耗时。

现在我在主导的典型应用,各个指标:

支撑版本数量:OS * 3 + MiddleWare * 3 + APP * 4 = 12个大版本,不包括版本内部的验证分支

同时执行任务数量:最大12个,随着代码复杂度增加、网络带宽稳定性、服务器数量等影响,从6个到12个同时运行

稳定性:90%以上

效率:根据不同版本形态,40分钟到1小时30分钟

2、项目人员组成

项目经理:1人专职或高级经理兼职

SE:系统工程师1人,整体负责项目技术指标

程序员:8~12人,初中高级配比大约60%、30%、10%,负责代码质量

测试验证人员:2~3人,项目上线后可以转维护

QA:1人兼职,1/3人力负责监控项目过程中的过程符合度,给出项目健康度指标,提供静态、动态监测工具和相应指标、原则

3、项目投入

【人力】

项目经理 12K~20K,8~10人月,按照15K * 10月计算,150K。SE 15K~25K,8人月,按照20K * 8计算,160K。程序员 5K~15K,10~15人月,初中高配比最终折算7.5K * 12人月 * 10人,900K。测试及维护5K~10K,3 * 18人月,按照8K * 15 * 3计算,360K。QA 8K * 12 * 1/3 = 32K。总计投入人力 150K + 160K + 900K + 360K + 32K = 1602K,大约136万。加上项目活动经费、加班费、项目内部奖项等,最终人力支出192.24万人民币。

【服务器】

租用形式:按照阿里云4核心4G计算云225元/月,前4个月约20台,接下来8个月系统扩容到200台。4 * 20 * 225 + 8 * 200 * 225 = 378K共计37.8万人民币

自建:10台高端服务器,50台中端服务器,内部搭建虚拟机和内网,外部网站按照需求配置一般服务器即可(专用市场访问量有限)。10 * 80K + 50 * 30K = 2300K共计230万人民币

根据不同需求,可以配置成自建+租用,成本在两种之间浮动。

【办公场地、办公用品】

场地租用包括办公位、会议室、茶水间等场地20人 * 10平米/人 * 200元/月平米 = 40K,加上桌椅、办公耗材等,大约按照45K每月计算。45K * 15 = 675K,共计67.5万人民币

上述基本是硬成本,其它市场、行政等成本浮动很大不计入。达成上述指标,总共投入192.24 + 37.8 + 67.5 = 297.54万人民币 到 192.24 + 230 + 67.5 = 489.74万人民币

【维护】

按照15个月转维护,维护投入1个开发,1个验证及技服,1个项目管理、SE、QA复用,大约每月3万人民币,计算办公成本5万人民币以内。

【收益】

按照当前系统指标,任务满配。发布版本 : 每月2次,3个OS * 3个MiddleWare * 4个APP = 36,每个大版本1000人民币 = 7.2万人民币

个人验证版本:上述版本数量乘以5~10倍,按照平时8倍计算,300~500每次,400 * 8 * 36 = 115.2K每月收入11万5

总计约19万人民币

毛利计算约:19万 - 5万 = 14万/月,投入成本在上线后大约21个月到35个月收回。(商用系统的理想状态)

【内部节省人力】

上述构建过程如果完全手工计算,每个版本发布,各个项目组要抽调一个接口人全力支撑至少2天,还不包含出现问题后版本延误、项目组对应的支持,按照上述版本计算,每个版本即使只有6个人保障2天(非常理想),每人每天成本大约500元,6K一个版本。每月30个发布版本只人力一项就需要支出18万,加上各个分支版本,每月版本构建需要支出就可能达到50万人民币以上。

当然上述讲的是一个持续开发的系统,持续销售的产品,如果你的公司每个软件产品周期只有3个月,或者6个月发布一个版本。。。算我没说,你们根本用不着投入。。。

今天讲到这,下期来聊聊项目管理的核心:项目周期和里程碑点,分段验收,计划及实施。

后续还有系统指标监控和工具选型。(没有指标监控,没有办法说明系统好坏。没有工具,开发进度没有办法保证)

本人QQ 280775561,微信JohnLee790608,有同路人可以一起探讨。


0 0
原创粉丝点击