【闲聊】建立专案团队的软体高等估算方法经验分享

近年来小弟在公司任职与学校兼课时,发现在学校很少跟学生说明软体估算怎估算(Estimate)因此在公司的教育训练与课堂授课时,都会将自己在公司的小型软体估算经验做分享【1】,来与系统分析师、程式工程师与学校学生作经验分享。
我首先开始在涉猎估算是2005年公司导入CMMI dev v1.1【2】时我负责专案管理(PP)的流程规画,在写SP1.3中专案生命週期的标準流程时,当时CMMI顾问洪肇奎教授要求我要有专案的软体开发生命週期,并为生命週期的工期与大小、规模就制定专案的大小规模,制定估算準则来符合ML2认证的直接证据。所以我就依照公司的专案资料与开发主管的讨论制定相关的公司的估算公式【3】,就作一个给专案开发团队专案经理依照工程师的程式撰写所估算产生专案的工时。

后来我过几年后的历练后,为应付业务面对客户报价需要快速需求(1-2天就要给工时),我在请教洪肇奎老师与参考软体工程相关资料【4】后修正之前方法,採用以需求用WBS(Work Breakdown Structure)的方式先作归类后一项一项给出工时,这时因为已经有一些历史资料库与专案经验制定每项WBS工作项目下的参考数据,举例如下:
1.程式的撰写方面下:如撰写依照公司的系统架构的一个表单画面为6hr标準
(前提是不複杂-15个栏位以下、採用公司的画面风格、新增、删除、查询等共用的元件)
2.系统分析方面下:依照会议记录产生的需求项目不到20个以下,那系统分析的规划工时与文件就会在3工作天(前提是旧系统修改没有新工程)

这边我要说明我依照当时公司的撰写专案程式的经验(约3年 20多专案资料)去设计这高阶的估算方式,其实还有很多方法论可以依照每个公司的需求做调整,我认为没有绝对都是要看公司的文化与特性,在2018年的CMMI 2.0中的估算中EST2.3方法叙述里说到,\将每次估算历史资料纳入估算模型中并维护他,在认证ML3中EST3.2细节更将有数据库估算资料与过程都要纳入考虑。

以前业务请系统分析师估算工时都是依照是专案类比对与经验,估算出来的工时,若可以透过公司制定的高阶估算方法论,至少可以有依据算出来,也许专案估算精準度不一定很高,但是还是提供给业务、专案经理对软体开发的参考数据与理论,不会因为人因素产生重大误差。(举例刚好系统分析师失恋算出来工时特别高)

文献参考与说明

【1】我曾任职的公司是200-10人以下类型的软体公司,所经历的大小专案众多,经验丰富是小型软体专案所以我指分享小型专案的经验分享(我对小型专案定义工期 1年以下、金额150万以下),大型专案的整合、类型、複杂度、风险太多,我虽有经历但还是不敢托大来敢来说明大型专案估算。

【2】CMMI (Capability Maturity Model® Integration,能力成熟度模式整合) 起源于美国国防部与卡内基美隆大学(Carnegie-Mellon University)合作所设立的软体工程学院(Software Engineering Institute,SEI)。

【3】这方法就当时CMMI顾问洪老师就取名字叫【工程师专家法】依照与资深工程师讨论数据,制定公式来估算撰写程式(codeing)为基準1个数字,推算系统分析(SA)+程式设计(SD)+程式测试(Test)+系统建置+专案风险=总工时方法,最初依照数据我们认为系统分析只要撰写程式的1/2,后来我们发现要将程式品质做好系统分析时间是不可以太短,然后作修正,因当初我还是开发部门小主管所以还不懂软体工程技术中Delphi 法、积算法,功能点数法等相关理论的运用。

【4】这时我就参考2篇文章分别是在说明CMMI Dev v1.3专案管理与Agile经验与分享,CMMI Ver1.3 专案管理的GP1基本在说明专案估算与範围,但到CMMI ver2.0就把这部分独立一个估算(EST)实践领域(PA),各位有兴趣都可以参考看看。
这2篇参考文章下:

Paul E. McMahon, Integrating CMMI and Agile Development. USA: Software Engineering Institute,SEI 2010.CMMI ML2 认证小型资讯业使用敏捷式开发来改善专案管理方式之研究。
https://hdl.handle.net/11296/a62432

关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章