软件工程:人月不是神话!乔布斯说一个优秀的员工可以顶50个平庸的员工?看完此文你可能会发现,乔布斯这么说太保守了。

本文主要是介绍软件工程:人月不是神话!乔布斯说一个优秀的员工可以顶50个平庸的员工?看完此文你可能会发现,乔布斯这么说太保守了。,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

每篇一格言
雇佣许多人去做一件复杂的事,往往是错误的。数量永远难以弥补质量优势,人多还会降低效率,增加任务成本。
——埃隆马斯克

目录

  • 1.智力资本定义
      • 举例
  • 2.智力资本等级
      • 知识等级分类
      • 技能等级分类
      • 智力资本等级分类
  • 3.智力资本与人月问题
      • 简化的模型
      • 对项目工作和工程师的智力资本分布假设如下:

1.智力资本定义

美国学者托马斯·斯图尔特(Thomas.A.Stew art)定义智力资本为:“公司中所有成员所知晓的能为企业在市场上获得竞争优势的事物之和”。
由于这个定义十分抽象,我更喜欢将智力资本简单理解为:知识+技能。
两者区别:
知识:理论层面
技能:应用层面

举例

“钻木取火”的原理“摩擦发热”,属于知识。
“用钻木的方式取火”这个动作属于技能。

2.智力资本等级

既然智力资本包含知识和技能两方面,我们就需要分别讨论知识和技能。

知识等级分类

下表是我对知识的分级与归类。由于博主从事android开发,因而在最后一栏以android作为举例,从而更容易理解。
在这里插入图片描述

应注意的是,高等级与低等级是包含的关系,即高等级应具备低等级所有的素质。

技能等级分类

下表是我对技能的分级与归类。
在这里插入图片描述

智力资本等级分类

根据以上等级的划分,我们便可以对智力资本分级了。
下表是我对智力资本等级的划分:
在这里插入图片描述
应当指出,这里采取了“与”的关系,即n级的智力资本应同时具备n级或以上的知识与技能。
这样划分基于一个常理,[To say is one thing, to do is anther.]

以软件开发为例,软件是理论与实践紧密联系的产业,仅掌握知识却不具备对应技能,会成为纸上谈兵;同样仅掌握技能却不懂得对应知识,则会不明就里。因而知识与技能两者不能偏废。

3.智力资本与人月问题

接下来引入一个实际问题:
100人月的项目规模,10位工程师参与开发,开发周期要多久呢?
为了回答这个问题,我们需要做一个量化模型,然后用这个模型去计算结果。

简化的模型

不妨先考虑一个简化的模型,先解决基本问题。之后迭代再 解决更复杂的 问题。
假设前提:
1.为了简化,这里的100人月已经包含了所有工作量(需求分析,可行性分析,设计与编码,单元测试,压力测试等的debug)。
2. 假设每位工程师的工作效率(速度)是一样的。(而现实中,差别巨大)
3. 假设沟通引起的工作效率损耗是0。(而现实中,沟通成本随人数增加呈指数级增长)

对项目工作和工程师的智力资本分布假设如下:

工作要求的智力资本等级
在这里插入图片描述

工程师智力资本等级
在这里插入图片描述

注意到智力资本等级n级的工作只能由n级或以上的工程师处理。当出现无法胜任的情况,则会block整个项目。

未完待续。

作者:
GentlemanTsao,资深软件工程师,android技术专家,专注于移动终端软件开发。

本文为原创文章。看完点赞,每天进步一点点

这篇关于软件工程:人月不是神话!乔布斯说一个优秀的员工可以顶50个平庸的员工?看完此文你可能会发现,乔布斯这么说太保守了。的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/774118

相关文章

vue同页面多路由懒加载-及可能存在问题的解决方式

先上图,再解释 图一是多路由页面,图二是路由文件。从图一可以看出每个router-view对应的name都不一样。从图二可以看出层路由对应的组件加载方式要跟图一中的name相对应,并且图二的路由层在跟图一对应的页面中要加上components层,多一个s结尾,里面的的方法名就是图一路由的name值,里面还可以照样用懒加载的方式。 页面上其他的路由在路由文件中也跟图二是一样的写法。 附送可能存在

力扣SQL50 每位经理的下属员工数量 join

Problem: 1731. 每位经理的下属员工数量 👨‍🏫 参考题解 Code select m.Employee_id, m.name,count(*) reports_count,round(avg(e.age),0) average_agefrom Employees ejoin Employees mon e.reports_to = m.Employee_id

企业如何进行员工的网络安全意识培训?

企业网络安全意识培训的重要性         企业网络安全意识培训是提升员工网络安全素质的关键环节。随着网络技术的快速发展,企业面临的网络安全威胁日益增多,员工的网络安全意识和技能水平直接关系到企业的信息安全和业务连续性。因此,企业需要通过系统的网络安全意识培训,提高员工对网络安全的认识和防范能力,从而降低企业在面对潜在安全风险时的损失和影响。 企业网络安全意识培训的方法         企

华为某员工爆料:偷偷跑出去面试,被面试官鄙视了。第一句话就问:华为淘汰的吧,35岁了,这个年龄在华为能混得下去吗?身体没啥毛病吧

“你都35岁了,难不成是被华为淘汰的?在华为混不下去了吧?身体没啥毛病吧,我们这体检可是很严的。” 近日,一位华为员工在朋友圈爆料,自己在面试时遭到了面试官的无理取闹和人身攻击,原因仅仅是因为他35岁了,曾经在华为工作过。 这番话,充满了傲慢与偏见,让人听了义愤填膺。这位面试官的言行,不仅是对求职者的不尊重,更是对职场规则的践踏。 面试本应是双向选择的过程,企业和求职者在相互了解的基

江西电信联合实在智能举办RPA数字员工培训班,培养“人工智能+”电信人才

近日,江西电信与实在智能合作的2024年数字员工开发应用培训班圆满闭幕。包括省公司及11个分公司的核心业务部门,超过40名学员积极报名参与此次培训,江西电信企业信息化部门总监徐建军出席活动并致辞,风控支撑室主任黄剑主持此次培训活动。 在培训会开幕仪式上,徐建军强调,科创是电信企业发展的核心动力,学习RPA技术是实现数字化转型的关键,他阐述了RPA在提高效率、降低成本和优化资源方面的价值,并鼓励学

编译测试后出现“发现不明确的匹配”错误

原文链接:http://blog.163.com/zhaoyanping_1125/blog/static/201329153201204218533/ 错误提示: 【“/”应用程序中的服务器错误。  分析器错误 说明: 在分析向此请求提供服务所需资源时出错。请检查下列特定分析错误详细信息并适当地修改源文件。  分析器错误信息: 发现不明确的匹配。】   这个问题发生原因一般情况是

Java线程面试题(50)

不管你是新程序员还是老手,你一定在面试中遇到过有关线程的问题。Java语言一个重要的特点就是内置了对并发的支持,让Java大受企业和程序员的欢迎。大多数待遇丰厚的Java开发职位都要求开发者精通多线程技术并且有丰富的Java程序开发、调试、优化经验,所以线程相关的问题在面试中经常会被提到。 在典型的Java面试中, 面试官会从线程的基本概念问起, 如:为什么你需要使用线程,

IntelliJ IDEA svn chekout 项目发生svn不是内部命令

错误信息: 1、Cannot checkout from svn: 'C:\Program' 不是内部或外部命令,也不是可运行的程序 或批处理文件 2、server ssl cerificate verification failed:certificate issued for a different hostname.issuer is not trusted (服务器ssl证书验证失败

三十八篇:架构大师之路:探索软件设计的无限可能

架构大师之路:探索软件设计的无限可能 1. 引言:架构的艺术与科学 在软件工程的广阔天地中,系统架构不仅是设计的骨架,更是灵魂所在。它如同建筑师手中的蓝图,决定了系统的结构、性能、可维护性以及未来的扩展性。本节将深入探讨软件架构的定义、其在系统设计中的核心作用,以及不同架构风格对系统特性的影响。 软件架构的定义及其在系统设计中的核心作用 软件架构,简而言之,是指软件系统的基本组织结构,

SQL找出所有员工当前薪水salary情况

系列文章目录 文章目录 系列文章目录前言 前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。 描述 有一个薪水表,salaries简况如下: 请你找出所有员工具体的薪水salary情况,对于相同的薪水只显示一次,并按照逆序显示,以上例子输出如下: 方法1:di