ci cd cd_组织ci cd混乱并使用成熟度矩阵使不可见可见

ci cd cd

I’m really excited to be sharing this technique with you. Maturity Matrix’s are something I learned from a software architect at Imdex when we were leading a major migration of legacy systems to Microsoft Azure. Since then I’ve used it with a bunch of different teams to help them improve their continuous integration and continuous deployment (CI/CD) process. Every single time I pull out this technique, people are surprised and delighted with how easy and effective it is. Maybe it’s even fun? If you can say something with a name like “Maturity Matrix” is fun…

我很高兴能与您分享这项技术。 当我们领导将遗留系统主要迁移到Microsoft Azure时,我从Imdex的软件架构师那里学到了Maturity Matrix。 从那时起,我将它与许多不同的团队一起使用,以帮助他们改善持续集成和持续部署(CI / CD)流程。 每当我退出这项技术时,人们都会对它的简单性和有效性感到惊讶和高兴。 也许很有趣? 如果您可以说出诸如“成熟度矩阵”之类的名字很有趣……

So why?

所以为什么?

Well, if you want to build a world class development team that delivers high quality code at a high pace then you need to have a world class CI/CD process.

好吧,如果您想组建一支世界一流的开发团队,以高速度提供高质量的代码,那么您就需要拥有世界一流的CI / CD流程。

But CI/CD can get pretty complicated. Whether you’re starting a shiny new product or trying to tidy up a crufty old legacy application, there are just too many different steps you can add to your CI/CD pipeline. The confusion is multiplied when (like most teams) you have multiple applications and services all of which have different pipelines at different levels of maturity.

但是CI / CD可能会变得非常复杂。 不管您是要开发闪亮的新产品还是要整理旧的旧应用程序,都可以在CI / CD管道中添加太多不同的步骤。 当您(像大多数团队一样)拥有多个应用程序和服务时,所有这些应用程序和服务在不同的成熟度级别上具有不同的管道时,混乱会成倍增加。

The Maturity Matrix

成熟度矩阵

Maturity Matrix’s help you organize the chaos. They take the invisible and make it visible. They are a super simple technique that helps you, your team and your stakeholders figure out what your CI/CD pipeline looks like now and what you need to do to improve it.

成熟度矩阵可帮助您组织混乱。 他们采取看不见的东西并使之可见。 它们是一种非常简单的技术,可以帮助您,您的团队和您的利益相关者弄清楚您的CI / CD管道现在是什么样子,以及您需要进行哪些改进。

How

怎么样

Open your table making application of choice. For this example I’ll be using Google Sheets.

打开您选择的餐桌制作应用程序。 对于此示例,我将使用Google表格。

Step 1: Create a row for each application or service.

步骤1:为每个应用程序或服务创建一行。

Image for post

Step 2: Create a column for each step in your ideal CI/CD pipeline.

步骤2:为理想CI / CD管道中的每个步骤创建一列。

Image for post

Step 3: In each cell, rate how a well each application has implemented each step. I like to start with a stupidly simple good/ok/bad rating scheme with green/yellow/red.

步骤3:在每个单元中,评估每个应用程序实现每个步骤的效果。 我喜欢从一个简单的好/好/不好的评分方案开始,用绿色/黄色/红色。

Image for post

Now you have a simple, clear and obvious view of the maturity of your CI/CD across all of your applications. Your whole team and external stakeholders can easily understand the current state and the places you need to improve.

现在,您对所有应用程序中的CI / CD的成熟度都有一个简单,清晰和明显的视图。 您的整个团队和外部利益相关者都可以轻松了解当前状态以及需要改进的地方。

Step 4: For each cell that isn’t green, create tasks to improve it and put those tasks in your work management system (Jira/Trello/etc).

步骤4:对于不是绿色的每个单元,创建任务以对其进行改进,然后将这些任务放入您的工作管理系统(Jira / Trello / etc)。

Step 5: As you improve your CI/CD pipeline over time, keep the Maturity Matrix up to date.

步骤5:随着时间的推移改善CI / CD管道,请保持最新的成熟度矩阵。

Done.

做完了

So that’s it, it’s pretty simple.

就是这样,这很简单。

Below are a few extra tips and tricks that I’ve learned over the years.

以下是我多年来学到的一些额外提示和技巧。

Random Tips

随机提示

  • For ratings, I like to start simple and then slowly make them more detailed. I start with a good/ok/bad rating scheme because it’s visual, obvious and often it’s enough. But if you want to get really specific, you can create custom rating systems for each column. Like for automated test coverage, you can decide specific percentages that are acceptable. Maybe your team decides 80% is the minimum and 95% is the goal.

    对于评分,我喜欢从简单开始,然后慢慢使它们更详细。 我从好的/好的/不好的评分方案开始,因为它是直观的,显而易见的,而且通常就足够了。 但是,如果您想变得非常具体,则可以为每列创建自定义评分系统。 像自动测试覆盖率一样,您可以决定可接受的特定百分比。 也许您的团队决定80%是最低目标,而95%是目标。
  • Always put tasks in your normal work management system. Please don’t put them in a wiki or a document or in TODOs in code. The only work that ever actually gets done is work in your work tracking system.

    始终将任务放在正常的工作管理系统中。 请不要将它们放在Wiki或文档中或代码中的TODO中。 实际完成的唯一工作是工作跟踪系统中的工作。
  • Take periodic snapshots of your matrix so that you can see visually how it improves over time.

    定期对矩阵进行快照,以便可以直观地看到其随时间的改进。
  • As you add CI steps, keep an eye on the speed of your pipeline. Your goal is to maximize quality while minimizing the time it takes for changes to get from your developers to your users. Keep an eye on that balance.

    添加CI步骤时,请密切注意管道的速度。 您的目标是最大程度地提高质量,同时最大程度地减少从开发人员到用户的更改所需的时间。 保持这种平衡。
  • Start simple and set small incremental goals. If your automated test coverage is currently 2%, then maybe don’t set a goal of 95%, start with 5%. Once you reach 5%, then try for 10%. As long as the number is rising you’re improving. It’s more fun and engaging to set small incremental goals that you churn through rather than large unrealistic goals that are never achieved.

    从简单开始,设定小的增量目标。 如果您的自动测试覆盖率目前为2%,则可能不要设置目标为95%,而是从5%开始。 达到5%后,再尝试10%。 只要数量在增加,您就在改善。 设定您要实现的小的增量目标比从未实现的较大的不切实际的目标更有趣并且更具吸引力。
  • Put the matrix somewhere where everyone can see it, like on a wiki. Realistically most teams don’t update wikis very often and this matrix will run the risk of becoming another dead document. But don’t beat yourself up, even if you never look at it again, the matrix has already delivered value to your team. So if you keep it up to date that’s great, and if you only use it once, that’s fine too.

    将矩阵放置在每个人都能看到的地方,例如Wiki。 实际上,大多数团队并不经常更新Wiki,而此矩阵将冒着成为另一个无效文档的风险。 但是,即使您再也没有看过它,也不要自欺欺人,矩阵已经为您的团队带来了价值。 因此,如果您保持最新状态很好,并且仅使用一次,那也很好。

Well, congratulations. Not only did you decide to read an article about CI/CD but you actually read to the end of it! You’re doing a great job :)

好,恭喜。 您不仅决定阅读有关CI / CD的文章,而且实际上还阅读了它的结尾! 您做得很好:)

翻译自: https://medium.com/chris-nielsen/organize-ci-cd-chaos-and-make-the-invisible-visible-with-a-maturity-matrix-ed2359d15fbc

ci cd cd

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值