前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >DevOps:原理、方法与实践

DevOps:原理、方法与实践

作者头像
用户5760343
发布2019-10-08 15:31:19
9960
发布2019-10-08 15:31:19
举报
文章被收录于专栏:sktjsktj

软件开发中的精益原则

1 )消除浪费。浪费是不会增加产品价值的东西,这里的价值必须是由客户确定的。 在精益思维中,浪费的概念有一个很大的跨越(与日常浪费概念相比)。如果一个开发周 期中在没有人读的文件中收集了需求,那就是浪费。如果一个制造工厂生产的材料比立 即需要的多,那就是浪费。如果开发人员编写比立即需要更多的功能,那就是浪费。在 产品开发中,将开发从一个团队转移到另一个团队是浪费的。理想的是找出客户想要的 东西,然后制作或开发它,并且几乎立即交付客户想要的东西。 2 )增强学习。软件开发是个持续学习的过程,最佳的改善软件开发环境的做法就是 增强学习。使用短周期的迭代(每个迭代都应包括重构、集成测试、部署和交付)可以加 速学习过程。在决定当前阶段的开发内容并对未来改善的努力方向进行调整时,客户反 馈是最重要的学习素材。通过反馈,产品团队能够应对不明确和易变的需求。在软件设 计时,不是去做成更多的文档或详细设计,而是对各种各样的想法进行实际的编码尝试, 在代码完成后马上进行测试,从而使得软件的质量在学习中保持在很高的水平。 3 )尽量延迟决策。面对当前软件复杂系统功能以及设计的不确定性,尽量延迟决 策,直到可以基于更多的事实并且不确定性更容易预测时才做出决定,这使得我们做出 正确决策的可能性变得更大。 4 ) 尽快交付。没有速度,我们无法延迟决策; 没有速度,我们没有增强学习需要的 反馈。交付周期对于学习至关重要: 设计、实施、反馈、改进。这些周期越短,可以学 到的越多。尽可能多地压缩价值流是消除浪费的基本精益策略。 5 )赋予团队权力。软件具体工作中涉及技术决策的细节是做出正确决策的基础,而 没有人比实际工作的人更了解细节, 精益主张将技术决策权利下放到团队的每个人手里, 从而使开发人员有权利来阐述自己的观点并做出决策,这能够极大地改善决策速度和 质量。 6 )内建完整性。当用户认为系统是完整的, 会感觉“是的,这正是我想要的,有人 在我的脑海里!” 市场份额是产品感知完整性的一个粗略测量,因为它衡量了客户的意见 反馈。完整性的软件具有一致的架构,在可用性和适用性方面达到高水平,具有可维护 性、适应性和可扩展性。 7 )全局优化。全局优化使得每个部门之间的联系更紧密。除了努力降低每个部门内 的成本,消除部门之间的隔阂和浪费会产生更显著的效果。在DevOps 成为一大趋势的今 天,开发部门、质量管理部门和运行维护部门之间的协同变得越来越重要了。

三种敏捷方法

scrum xp kanban Sc 「um : 着重于项目管理,特别适于难以提前进行计划的项目。Scrum 以经验过程 控制理论为依据,采用迭代、增量的方法来提高产品开发的可预见性并控制风险。Scrum 框架包括一组Scrum 团队和与其相关的事物: 时间盒、工件和规则。Scrum 团队的目标 是提高灵活性和生产能力,自组织、跨职能,并且以迭代方式工作。Scrum 团队有三个 角色: ( 1 ) Scrum Master ,负责确保成员都能理解并遵循过程;( 2 ) 产品负责人,负责最 大化Scrum 团队的工作价值;( 3 )团队,负责具体工作。Scrum 利用时间盒实现规律性。 被时间盒限定的Scrum 要素有: Sprint 计划会议、Sprint 、每日站会、Sprint 评审会议和 Sprint 回顾会议。Scrum 中的Sprint 是贯穿于开发工作中保持不变的一个月( 或更短时 间)迭代。所有的Sprint 都采用相同的Scrum 框架,并且都交付潜在可发布的最终产品 增量。Scrum 采用了三个主要的工件: 产品Backlog 是开发产品的所有需求的优先排列表; Sprint Backlog 包含了在一个Spri旧内的产品Backlog ; 燃尽图用来衡量剩余的Backlo g 的工作量[7] 。

Kanban : Kanban (看板)是日语单词,是“可视卡片”(或标志)的意思。在丰田, 看板专指将整个精益生产系统连接在一起的可视化物理信号系统。看板的主要规则有: ( 1 )可视化工作流,把产品切分成小块,将每一块写在一张卡片上,然后将卡片贴到墙 上;墙上的每一栏都有名称,以此显示每张卡片在工作流中所处的位置。( 2 ) 限定在制 品( WIP ), 针对工作流的每个状态, 明确限定正在进行中的工作项数量。( 3 ) 衡量并管 理周期时间,完成一个工作项的平均时间,有时称为前置时间(更贴切的术语可能应该是 流通时间) 。优化流程让周期时间尽可能短、尽可能可预测[32) 。

ITIL 的全称是Information Technology Infras tru cture Library (信息技术基础架构库) 。 ITIL 是一套公开的、基于业界最佳实践制定的、用于规范IT 服务管理的流程和方法论。 它以流程为导向,以客户为中心,目的是确保IT 能更好地服务于业务部门,从而让企业 的IT 投资回报最大化。

微服务架构

image.png

zipkin 调用链路图

image.png

监控:zabbix 测试:selenium 配置管理:puppet ansible 编译:maven ant 版本管理:git gitlab 持续集成:jenkins 协同开发:jira docker k8s

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019.10.08 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 软件开发中的精益原则
  • 三种敏捷方法
  • 微服务架构
  • zipkin 调用链路图
相关产品与服务
腾讯云 BI
腾讯云 BI(Business Intelligence,BI)提供从数据源接入、数据建模到数据可视化分析全流程的BI能力,帮助经营者快速获取决策数据依据。系统采用敏捷自助式设计,使用者仅需通过简单拖拽即可完成原本复杂的报表开发过程,并支持报表的分享、推送等企业协作场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档