指团队的扩张性、人员稳定性、能力提升速度等团队因素
无论一种方法被团队或组织认为好与不好,若客户认为不好,则可以整体认为不好
财务方面的提升可以说受到非软件工程方面的影响很大,但若所有采用某种方法的企业其财务都走了下坡路,那么无论两者谁为因果,都应当进行必要的分析
1. 在使用某方法后,团队或组织的绩效得到改善
“我们用得很好”这种含糊的说词不能被作为有效性的定义,更为合理的有效性定义应当包括:
3. 在行业内部统计后发现,使用某方法的组织具备更好的绩效
4. 客户(外部)
指将出现由具体的度量数据或具有统计意义的定性数据支撑软件工程发展的倾向
有效性应该被从多个方面度量,平衡计分卡可以认为是一个很软件工程专业课程好的提示,它指出应该被度量的方面包括:
2. 尽管受到多种其他因素的影响,但统计学上而言这种方法与更好的绩效整体呈现正相关性
3. 财务方面的提升(外部)
1. 这些结果应该具备大致可度量、可比较的量化指标,因此可以用于时间前后或团队、组织之间的比较
比如有一种传言是“组织越倾向于使用全职的scrum master,则企业的效益越可能走下坡路”虽然这种微观实践和宏观结果之间的关系很弱,但它实际上是“摩天大楼定律”的软件业版本,即若企业有多余的钱做多余的事情时,企业就要开始走下坡路了
企业采纳cmmi多数是基于其权威性直接做出的选择;sei亦疏于对其实际效果的度量和监控当然s软件工程硕士学费ei有理由这样做:因为它实际上是美国国防部dod的下属机构,其关键词可以理解为“美国+军工”,因此并不对“改进全球软件研发”负有责任
笔者认为“实践软件工程”(practical software engineering)将成为未来40年软件工程发展的大趋势
适用性的定义
尽管看起来软件工程无法直接产生财务收入,但若一种软件工程缺少与公司收入增加的因果关系,在高层能获得支持的概率很小
而且度量结果应该满足:
由于“未来40年”的周期长度甚至超过了国内的软件业的历史,更超过互联网兴盛期的历史,因此要做这么长期的预测,很多分析依据不能受限于软件工程前景分析当前的所谓“实际情况”
有效性
多数软件从业者都逃避对公司至关重要的财务收入责任,又抱怨技术人员在公司的地位不高,陷入恶性循环在业界平均收入最高的google,有一个被内部技术人员引以为豪的重要指标,就是其服务器的运营成本只有业界的50%,而这些运营成本是google这类公司最大的开销之一这里的程序员和支持人员没有抱怨销售和市场人员,而是用自己卓越的技术来证明自己对公司的收入贡献,进而赢得了自己想要的收入
比如基于功能点的产生的生产率和质量度量就具备可比较性,而基于代码行、故事点、用例点、页面数等进行的就难以度量
软件工程的新焦点
比如,无论一种测试方法内部认为多么有效,若客户认为产品的质软件工程专业前景量并未提高,那么这种测试方法就值得怀疑怀疑的结果未必是推翻它,而是要思考为何事与愿违以及如何改进
另一方面它还指日后软件工程的实践者而非发明者将拥有更多的话语权乃至主导权,案例分享将取代培训课程成为主流的知识获取途径
有效性的度量
1. 内部过程层面的提升(内部)
2. 学习与提高(内部)
早在早期学习cmm(cmmi的前身)的时候,书上就宣称“在日本,有一家只有3个人的企业也通过了cmm的2级认证”,以论证cmmi适合小团队而在学习敏捷开发的时候,也常常看到“用敏捷开发管理500人大型团队”的案例这些案例,其实就像沙特动物园饲养了一头北极熊一样缺少说服力这里要否定的不是沙特动物园有北极熊软件工程就业前景这件事情,而是在沙漠生态中引入北极熊的问题
实践(practical)一词的含义具有双重含义
团队与组织间的可比较性要求使用某些业界普遍适用的方法,而不是企业自创的
这也是本人力主推广松结对编程和139团队的原因之一2001年我所在的团队至今还是我亲自经历的扩张速度最快、队员水平提高最多的团队,松结对编程的概念就是源于在这个团队的经历
前言
实际上很多软件工程都宣称可以通过更好地把握客户需求、减少质量成本、缩短工期……等方法来缩减成本和增加收入,但很少看到相关的数据
客户的满意度代表了直接从外部观察到的某种软件方法的结果
内部过程是传统软件工程所关注的焦点之一,但只关注内部提升是狭隘的
历来的瀑布模型、电子技术及软件工程cmmi乃至敏捷开发等方法,其传播往往是由权威机构(或潜在的权威机构)来发动的,并非由一些明确的改进案例来自发产生的
无论一个过程本身是好是坏,但若无法提供队员的学习与成长空间,进而形成团队的扩张,那么迟早也会出现问题从这一点上说,无论是各司其职老死不相往来的分工+流程式的重型流程,还是四五个人自己挑选任务+自己说了算+互不干扰的极端敏捷主义流程,都会伤害团队的学习与成长
敏捷开发尽管来自于实践,但其实际效果却缺少“实践性”的度量,多数时候人们都“听说”敏捷开发很好,“鼓舞了士气,提升了生产率,提高了质量”,但对具体的数值,基本上一无所知上次软件工程主修课程在中国敏捷大会上,一个基本共识是“敏捷开发传入中国接近10年,但现在还没有一个企业声称自己能被拿出来作为案例”
有效性的定义
适用性
即我们常说的生产率的提升,进度、质量、成本等方面的提升
在cmmi的推广过程中,实际上有很多sei的度量数据支持其实际效果,但作为传播动力而言,其起到的作用很小
2. 在组织内部统计后发现,使用某方法的团队具备更好的绩效
一方面实践指日后的软件工程焦点将从知识的完备性、体系性、权威性转向有效性、适用性
白癜风的症状是什么新疆治疗白癜风的医院