这两天在读谷歌运维,感觉相关内容很有参考价值,在软件工程里也有很强的知道意义,所以在此记一下笔记。
什么是琐事
当前手动性的,重复性的,可以被自动化的,战术性的,没有持久价值的工作,琐事与代码(产品)规模呈线性关系。
琐事的特性
- 手动性:如脚本里的每一个步骤可以自动执行,但是执行脚本如果是手动的,那么就可以被认为是琐事。
- 重复性的:不停反复做的工作。
- 可以被自动化的:如果计算机可以很好的完成该任务,或者可以通过某种设计或流程优化彻底消除某项任务的需求,那么这项任务就可以被认为是琐事。
- 战术性的:琐事是突然出现的,应对式的工作,而非策略驱动或主动安排的。
- 没有持久价值的:完成某项工作,系统状态没有改变。
- 与规模同步线性增长:任务与产品规模呈线性增长关系,那么这项任务可能属于琐事。一个良好的管理和设计的流程任务应该可以应对一个数量级的增长。
谷歌的琐事比例
谷歌规定琐事比例应小于50%,即使是运维人员,也应该把大部分精力放在工程项目上,真正进行运维的时间不应该超过半数。
什么是工程工作
工程工作(engineering)是一种新颖的,本质上需要主观判断的工作。它是符合长期战略的,会对你的产品(或服务)进行长久性的改善的工作。
其主要分成:
- 软件工程:编写或修改代码,以及所有其他相关的设计和文档工作。
- 系统工程:配置生产系统,修改现存配置,或者用一种通过一次性工作产生持久的改进的方法来书写系统文档。
- 琐事:见上
- 流程负担:与产品没有直接关系的行政工作。
琐事多的弊端
- 职业发展停滞
- 团队士气低落
- 造成误解
- 进展缓慢
- 多做琐事会让其承担更多的琐事
- 产生摩擦