⼤部分公司的项⽬经理叫ProjectManager,微软的经理叫ProgramManager,这有什么本质的区别么?微软曾经也是⼀个创业公司,两个创始⼈都是开发⼈员,招聘的新成员也⼤多是像他们⼀样的开发⼈员,这其中就有⼀个叫查尔斯·⻄蒙尼(CharlesSi-monyi)[注释1]的超级程序员,当然还有像史蒂夫·鲍尔默(SteveBallmer)那样的超级销售⼈员,这⾥按下不表。1974年,查尔斯·⻄蒙尼在XeroxPARC开发了WYSIWYG(所⻅即所得)[注释2]的字处理软件Bravo,成为Alto个⼈电脑的重要应⽤软件。作为参照,说明他的资历:同⼀年,史蒂夫·乔布斯(SteveJobs)从印度回来,加⼊Atari公司打⼯,因为其他员⼯不能忍受他的傲慢态度和卫⽣习惯,他只好上夜班。同⼀年,⽐尔·盖茨(BillGates)在哈佛⼤学读2年级,第⼆年,他看到了个⼈电脑的曙光------MITSAltair8800,于是退学创⽴了Mi-crosoft。1981年,查尔斯加⼊了微软公司,领导Word和其他办公软件的开发。随着业务的发展和团队的壮⼤,下⾯这两个问题凸显出来:1.团队成员之间交流的成本急剧增⻓2.有很多开发和测试之外的事情,需要专⼈负责。很多开发⼈员聚集在⼀起,该怎么⼯作呢?如果⼤伙做的是搬砖这样的体⼒活⼉,那么在⼀定限度内,⼈员的增⻓和项⽬复杂度的增⻓是线性的关系;⽽程序开发就有些不同,查尔斯·⻄蒙尼发现项⽬管理的复杂度似乎跟⼈员数量的平⽅成正⽐。⼀个团队⾥若有4个成员,就有6种双向依赖和交流的途径,然后增加⼀位新成员,就要增加4条新的双向依赖交流的途径。对于N个成员的团队来说,交流的途径总数是n×(n--1)/2,这种N的平⽅的增⻓意味着这样的交流对⼈类来说是不可持续的。
相关推荐
小陈工1 小时前
Python Web开发入门(十七):Vue.js与Python后端集成——让前后端真正“握手言和“海清河晏1111 小时前
数据结构 | 单循环链表H Journey1 小时前
C++之 CMake、CMakeLists.txt、Makefilewuweijianlove5 小时前
算法性能的渐近与非渐近行为对比的技术4一定要AK5 小时前
Spring 入门核心笔记A__tao5 小时前
Elasticsearch Mapping 一键生成 Java 实体类(支持嵌套 + 自动过滤注释)_dindong5 小时前
cf1091div2 C.Grid Covering(数论)AI成长日志5 小时前
【Agentic RL】1.1 什么是Agentic RL:从传统RL到智能体学习KevinCyao6 小时前
java视频短信接口怎么调用?SpringBoot集成视频短信及回调处理Demolly2024066 小时前
C 标准库 - `<stdio.h>`