序与前言
- 利用技术运营公司和依靠技术直接为客户提供产品和服务有着天壤之别,区别在于:
- 客户可以决定自己是不是继续用
- 无法强迫教会客户
- 量级不同
- 故障影响更大
- 标准更高,规划、设计、实施、测试、部署、支持方方面面
- 危机源于系统无法迅速扩展来满足最终用户的需要,但问题的根源几乎从来不只是单纯的技术问题:
- 扩展性问题始于组织和人员,然后扩散到过程和技术。
- 人收到了错误的信息或者做了错误的选择,进而影响到系统和平台的可扩展性。
- 人忽略了制定可以帮助他们从过往错误中吸收教训的过程,使组织做出错误决策。
- 缺乏制定和持技术决策的过程和人员的关注,导致不良技术决策的恶性循环。
第一部分:可扩展性组织的人员配置
人员和领导力对扩展性的影响
相对于过程和技术,“人”才是对确保产品的长远扩展性最为关键的因素。
- 人的重要性
- 设计、编码、配置和构建系统来运行产品都是依靠人来完成的。
- 作为可扩展性的心和脑,必须有合适的人,合适的行为,合适的工作,合适的时间才能成功。
- 合适的人指的是此人具有合适的知识,技术和能力。
- 合适的行为指的是此人能与其他员工融洽相处,认同公司的文化和价值观。
- 组织的重要性:
- 组织即如何把人组织起来完成工作
- 要搞清楚组织的产出
- 有哪些因素会正面或反面的影响产出?
- 规模调整是否容易:人员的变动当然会影响产出,好的组织支持灵活的调整团队规模,以扩大产出或减少成本
- 关键性指标:
- 帮助我们理解和掌握个人和组织的效率、度量达成期望的结果
- 管理意味着度量,度量失败即管理失败
- 无法度量,就无法应对突然发生和快速发展带来的问题
- 目标拥有独和授权:
- 授权的基础是有可以独立做出必要决策的能力。
- 拥有足够授权的团队可以快速决策,更快的市场响应速度,会有更高的士气。
- 冲突:
- 达成目标需要协作,过程中存在组织的内部冲突:
- 情感型冲突:发生在团队间,定义谁需要负责多少的问题,必须及时解决,无法提升产品价值。
- 认知型冲突:关于为什么和怎么做,通过结合不同的知识,技能和经验,扩大了决策的可能性范围,增加了确决策的概率。
- 如何构建团队:
- 团队跨职能,拥有完整的目标和产出来减少情感类型的冲突。
- 团队内技能多样化,提高团队的认知或者积极冲突的水平。
- 达成目标需要协作,过程中存在组织的内部冲突:
- 组织和个人效率:
- 问题:
- 成员的扩张可以增加组织的产出。同时也有组织扩展成本的问题。
- 成员增加会带来沟通上的额外成本,这种成本会降低个人的产出效率。
- 解:
- 通过加强管理来避免没必要的协调工作。
- 建立小团队,限制个人之间的交互活动。
- 问题:
- 工作流转:体现在组织设计和从事工作类型匹配上
- 架构的组件必须能够独立工作,团队间只有最基本的交互。
- 组织、流程、技术必须紧密配合。
- 管理和领导的重要性
- 概念:
- 领导:拉,远见卓识。设置目的地和路线图。
- 管理:推,事务处理。设法到达目的地,避免意外。
- 要求:
- 领导:
- 确定使命、描绘愿景,制定路线图。
- 创造组织文化,聚焦打造具有高可扩展性的组织、流程和产品。
- 管理:
- 分配任务,确保按时以适当的成本实现目标。
- 对工作情况进行正向鼓励和问题反馈。
- 聚焦在度量和提高,最大化产出并降低单位产出的成本。
- 领导:
- 概念: