《凤凰项目》阅读笔记

摘要: 用来一天的时间将这本《凤凰项目:一个IT运维的传奇故事》看完,书中用小说的形式将 Devops 的理念尽可能形象的展示给大家,通过该书我们首先应该明确 Devops 对于企业来讲十分重要,这也意味着管理 Devops 的 IT 部门同样重要。该书还会告诉我们三种工作方法,以及四种工作类型。最后还有一些扩展数目。

三步工作法

在本书中,我们阐述了这一基础原理,即所有开发运维模式都来自“三步工作法”,它旨在阐明指导开发运维的流程与实践的价值观与理念。

第一工作法 是关于从开发到IT运维再到客户的整个自左向右的工作流。为了使流量最大化,我们需要小的批量规模和工作间隔,绝不让缺陷流向下游工作中心,并且不断为了整体目标(相对于开发功能完成率、测试发现/修复比率或运维有效性指标等局部目标)进行优化。

必要的做法包括持续构建、集成以及部署,按需创建环境,严控半成品,以及构建起能够顺利变更的安全系统和组织。

第二工作法 是关于价值流各阶段自右向左的快速持续反馈流,放大其效益以确保防止问题再次发生,或者更快地发现和修复问题。这样,我们就能在所需之处获取或嵌入知识,从源头上保证质量。

必要的做法包括:在部署管道中的构建和测试失败时“停止生产线”;日复一日地持续改进日常工作;创建快速的自动化测试套装软件,以确保代码总是处于可部署的状态;在开发和IT运维之间建立共同的目标和共同解决问题的机制;建立普遍的产品遥测技术,让每个人都能知道,代码和环境是否在按照设定的运行,以及是否达到了客户的目标。

第三工作法 是关于创造公司文化,该文化可带动两种风气的形成:不断尝试,这需要承担风险并从成功和失败中吸取经验教训;理解重复和练习是熟练掌握的前提。

尝试和承担风险让我们能够不懈地改进工作系统,这经常要求我们去做一些与几十年来的做法大不相同的事。一旦出了问题,不断重复的日常操练赋予我们的技能和经验,令我们可以撤回至安全区域并恢复正常运作。

必要的做法包括营造一种勇于创新、敢于冒险(相对于畏惧或盲目服从命令)以及高信任度(相对于低信任度和命令控制)的文化,把至少20%的开发和IT运维周期划拨给非功能性需求,并且不断鼓励进行改进。

四种工作类型

由于布置工作的途径比以往更多(例如电子邮件、电话、关于业务应用程序的中途会谈、短信、报修系统、会议等),我们希望直观地看到现有任务。

IT从事着四种类型的工作。

业务项目

这是多数开发项目所包含的业务举措,通常隶属于项目管理办公室。项目管理办公室跟踪管理公司内的所有正式项目。

IT内部项目

包括可能由业务项目衍生出的基础架构或IT运维项目,以及内部生成的改进项目(例如创建新环境和部署自动化)。这些项目经常并非集中跟踪,而是属于预算所有者(例如数据库经理、存储管理经理和分布式系统经理)。

当IT运维成为瓶颈时,这会导致问题,因为不能轻易查明已经在内部项目中投放了多少生产能力。

变更

经常由上述两种类型的工作引起,往往在报修系统中被跟踪(例如IT运维补救、JIRA或者用于开发的敏捷计划工具)。事实上,在价值流的两个不同部分中存在两个工作跟踪系统,这会引起问题,尤其是在交接工作的时候。

偶然情况下,在一些兼具功能开发和服务交付职责的专门团队中,所有工作都处在同一个系统之中。这样做有一些好处,因为操作层面的故障会和功能缺陷以及新的特性功能一起,在存量工作和现行工作过程中显现。

计划外工作或救火工作

包括操作事故和操作问题,通常由上述三种类型的工作导致,而且往往以牺牲其他计划内工作为代价。

延伸阅读

《目标:一种持续改进的流程》

(The Goal: A Process of Ongoing Improvement )

这是一本苏格拉底式的小说,主人公是一位名叫亚历克斯·罗戈的工厂经理,他必须在90天内解决成本和按时交货的问题,否则他的工厂就要被关停。这本书被列入很多MBA课程,影响了好几代企业领导,迄今已售出六百万册。

《团队领导的五大障碍:关于领导力的寓言》

《丰田管理:为了获得改进、适应性和优异业绩而管理员工》

《持续交付:发布可靠软件的系统方法》

《发布!软件的设计与部署》

《个人看板:了解工作/驾驭生活》

(Personal Kanban: Mapping Work | Navigating Life )

《看板方法:科技企业渐进变革成功之道》

戴维·J.安德森的 (Kanban: Successful Evolutionary Change for Your Technology Business)。这本书对于在企业中如何使用看板图描述得更加具体。