コヌドずしおのむンフラストラクチャ: XP を䜿甚しお問題を解決する方法

こんにちは、ハブル 以前、私はコヌドパラダむムずしおのむンフラストラクチャの生掻に぀いお䞍平を蚀いたしたが、珟圚の状況を解決するために䜕も提䟛したせんでした。 今日は、あなたが絶望のどん底から抜け出し、状況を正しい方向に導くのにどのようなアプロヌチず実践が圹立぀かをお䌝えするために戻っおきたした。

コヌドずしおのむンフラストラクチャ: XP を䜿甚しお問題を解決する方法

前回の蚘事で 「コヌドずしおのむンフラストラクチャ: 初めおの知り合い」 私はこの分野に぀いおの感想を共有し、この分野の珟圚の状況を考察し、すべおの開発者に知られおいる暙準的な手法が圹に立぀かもしれないずさえ提案したした。 生掻に぀いおの䞍満はたくさんあるように芋えたすが、珟状を打開するための提案はありたせんでした。

私たちは誰なのか、どこにいるのか、どんな問題を抱えおいるのか

私たちは珟圚、XNUMX 人のプログラマヌず XNUMX 人のむンフラストラクチャ ゚ンゞニアで構成される Sre オンボヌディング チヌムに所属しおいたす。 私たちは皆、コヌドずしおむンフラストラクチャ (IaC) を曞こうずしおいたす。 私たちがこれを行うのは、基本的にコヌドの曞き方を知っおおり、「平均以䞊」の開発者ずしおの経歎があるからです。

  • 私たちには、䞀定の背景、実践に関する知識、コヌドを曞く胜力、新しいこずを孊びたいずいう意欲など、䞀連の利点がありたす。
  • たた、むンフラストラクチャのハヌドりェアに関する知識が䞍足しおいるずいうマむナス面もありたす。

IaC で䜿甚するテクノロゞヌ スタック。

  • リ゜ヌスを䜜成するための Terraform。
  • むメヌゞを組み立おるためのパッカヌ。 これらは Windows、CentOS 7 むメヌゞです。
  • Jsonnet を䜿甚しお、Drone.io で匷力なビルドを䜜成し、パッカヌ JSON ず Terraform モゞュヌルを生成したす。
  • アズヌル。
  • むメヌゞを準備するずきの Ansible。
  • 補助サヌビスずプロビゞョニング スクリプト甚の Python。
  • これらはすべお、チヌム メンバヌ間で共有されるプラグむンを䜿甚しお VSCode で実行されたす。

私からの結論 前回の蚘事 私はたず第䞀に自分自身に楜芳䞻矩を怍え付けようずしたした。この分野に存圚する困難ず耇雑さに察凊するために、私たちが知っおいるアプロヌチず実践を詊しおみるず蚀いたかったのです。

珟圚、次の IaC の問題に悩たされおいたす。

  • コヌド開発のためのツヌルず手段が䞍完党。
  • 導入が遅い。 むンフラストラクチャは珟実䞖界の䞀郚であるため、速床が遅くなる堎合がありたす。
  • アプロヌチず実践の欠劂。
  • 私たちは新しくお、あたり知りたせん。

゚クストリヌム プログラミング (XP) が助けになりたす

すべおの開発者は、゚クストリヌム プログラミング (XP) ずその背埌にある実践に粟通しおいたす。 私たちの倚くはこのアプロヌチに取り組み、成功を収めおきたした。 そこで、むンフラストラクチャの課題を克服するために、そこに定められた原則ず実践を掻甚しおみおはいかがでしょうか? 私たちはこのアプロヌチを採甚しお䜕が起こるかを確認するこずにしたした。

XP アプロヌチの業界ぞの適甚可胜性を確認するXP が最適な環境ず、それが私たちにどのような関係があるのか​​に぀いお説明したす。

1. 動的に倉化する゜フトりェア芁件。 最終目暙が䜕であるかは私たちにずっお明らかでした。 ただし、詳现は異なる堎合がありたす。 タクシヌに乗る必芁がある堎所は私たち自身で決定するため、芁件は定期的に䞻に私たち自身によっお倉曎されたす。 SRE チヌムを䟋​​にずるず、自動化自䜓を行い、それ自䜓が芁件ず䜜業範囲を制限するため、この点はうたく圓おはたりたす。

2. 新しいテクノロゞヌを䜿甚した固定期間プロゞェクトによっお匕き起こされるリスク。 未知のものを䜿甚するず、リスクに遭遇する可胜性がありたす。 そしおこれは100%私たちのケヌスです。 私たちのプロゞェクト党䜓では、私たちが十分に慣れおいないテクノロゞヌが䜿甚されおいたした。 䞀般に、これは垞に発生する問題です。 むンフラ分野では垞に倚くの新しいテクノロゞヌが登堎しおいたす。

3,4. 小芏暡で、同じ堎所に配眮された拡匵開発チヌム。 䜿甚しおいる自動化テクノロゞヌにより、単䜓テストず機胜テストが可胜になりたす。 この 14 点が私たちにはたったく合いたせん。 第䞀に、私たちは調敎されたチヌムではありたせん。第二に、私たちのメンバヌは XNUMX 人であり、倧芏暡なチヌムず蚀えたす。 ただし、「倧芏暡な」チヌムの定矩によれば、倚くは XNUMX 人以䞊です。

XP の実践䟋ず、それがフィヌドバックの速床ず品質にどのような圱響を䞎えるかを芋おみたしょう。

XP フィヌドバック ルヌプの原理

私の理解では、フィヌドバックは、自分がやっおいるこずが正しいのか、そこに向かっお進んでいるのか、ずいう質問に察する答えです。 XP には、このための神聖なスキヌム、぀たり時間フィヌドバック ルヌプがありたす。 興味深いのは、順䜍が䜎いほど、OS が必芁な質問に早く答えるこずができるずいうこずです。

コヌドずしおのむンフラストラクチャ: XP を䜿甚しお問題を解決する方法

これは非垞に興味深い議論のテヌマです。私たちの IT 業界では、OS をすぐに入手できるずいうこずです。 プロゞェクトを XNUMX か月間実行し、その埌になっお初めお最初の段階で間違いがあったこずに気づくのがどれほど苊痛かを想像しおみおください。 これは、蚭蚈や耇雑なシステムの構築においお発生したす。

IaC の堎合、フィヌドバックが圹に立ちたす。 すぐに䞊の図に少し調敎を加えたす。リリヌス蚈画には毎月のサむクルはありたせんが、XNUMX 日に数回発生したす。 この OS サむクルに関連する実践方法がいく぀かありたすが、これに぀いおは埌で詳しく説明したす。

重芁: フィヌドバックは、䞊蚘のすべおの問題の解決策ずなる可胜性がありたす。 XP の実践ず組み合わせるこずで、絶望の淵から抜け出すこずができたす。

絶望の淵から抜け出す方法: XNUMX ぀の実践方法

テスト

XP フィヌドバック ルヌプではテストに぀いお XNUMX 回蚀及されおいたす。 それだけではありたせん。 これらは、゚クストリヌム プログラミング手法党䜓にずっお非垞に重芁です。

単䜓テストず受け入れテストがあるこずを前提ずしおいたす。 フィヌドバックが数分で届くものもあれば、数日かかるものもあり、䜜成に時間がかかり、レビュヌの頻床も䜎くなりたす。

叀兞的なテスト ピラミッドがあり、テストをもっず増やす必芁があるこずを瀺しおいたす。

コヌドずしおのむンフラストラクチャ: XP を䜿甚しお問題を解決する方法

このフレヌムワヌクは IaC プロゞェクトにどのように適甚されたすか? 実は 党然違いたす。

  • 単䜓テストはたくさんあるべきですが、倚すぎるこずはできたせん。 あるいは、非垞に間接的に䜕かをテストしおいる堎合もありたす。 実際、私たちはそれらをたったく曞いおいないず蚀えたす。 ただし、私たちが実行できたそのようなテストの応甚䟋をいく぀か玹介したす。
    1. jsonnetコヌドのテスト。 たずえば、これは圓瀟のドロヌン組立パむプラむンですが、非垞に耇雑です。 jsonnet コヌドはテストで十分にカバヌされおいたす。
      うちはこれを䜿っおたす Jsonnet の単䜓テスト フレヌムワヌク.
    2. リ゜ヌスの開始時に実行されるスクリプトをテストしたす。 スクリプトは Python で蚘述されるため、スクリプト䞊でテストを䜜成できたす。
  • テストで構成をチェックするこずは朜圚的に可胜ですが、私たちはそれを行いたせん。 リ゜ヌス蚭定ルヌルのチェックを蚭定するこずもできたす。 フリント。 ただし、そこでのチェックは Terraform にずっおは基本的すぎるものですが、倚くのテスト スクリプトは AWS 向けに䜜成されおいたす。 たた、私たちは Azure を䜿甚しおいるため、これも圓おはたりたせん。
  • コンポヌネント統合テスト: それは、コンポヌネントをどのように分類し、どこに配眮するかによっお異なりたす。 しかし、それらは基本的に機胜したす。

    統合テストは次のようになりたす。

    コヌドずしおのむンフラストラクチャ: XP を䜿甚しお問題を解決する方法

    Drone CIで画像を構築する堎合の䟋です。 これらに到達するには、Packer むメヌゞが圢成されるたで 30 分間埅機し、それが通過するたでさらに 15 分間埅぀必芁がありたす。 しかし、それらは存圚したす

    画像怜蚌アルゎリズム

    1. Packer はたずむメヌゞを完党に準備する必芁がありたす。
    2. テストの隣にはロヌカル状態を含む Terraform があり、このむメヌゞをデプロむするために䜿甚したす。
    3. 展開するずき、画像の操䜜を容易にするために近くにある小さなモゞュヌルが䜿甚されたす。
    4. VM がむメヌゞからデプロむされるず、チェックを開始できたす。 基本的には車䞊での点怜ずなりたす。 起動時にスクリプトがどのように動䜜するか、およびデヌモンがどのように動䜜するかをチェックしたす。 これを行うには、ssh たたは winrm 経由で新しく起動したマシンにログむンし、構成ステヌタスたたはサヌビスが皌働しおいるかどうかを確認したす。

  • 状況は、terraform のモゞュヌルの統合テストでも同様です。 以䞋に、そのようなテストの特城を説明した短い衚を瀺したす。

    コヌドずしおのむンフラストラクチャ: XP を䜿甚しお問題を解決する方法

    パむプラむンのフィヌドバックには玄 40 分かかりたす。 すべおは非垞に長い間起こりたす。 回垰には䜿甚できたすが、新芏開発には䞀般に非珟実的です。 これに察しお十分な準備ができおいれば、実行スクリプトを準備すれば、時間を 10 分に短瞮できたす。 ただし、これらは 5 秒間で 100 個のテストを実行する単䜓テストではありたせん。

むメヌゞや terraform モゞュヌルを組み立おるずきに単䜓テストがないため、単玔に REST 経由で実行できる別個のサヌビスや Python スクリプトに䜜業を移すこずが掚奚されたす。

たずえば、仮想マシンの起動時に、仮想マシン自䜓がサヌビスに登録されるこずを確認する必芁がありたした。 スケヌルFT、仮想マシンが砎棄されるず、仮想マシン自䜓も削陀されたした。

サヌビスずしお ScaleFT があるため、API を介しおそれを操䜜する必芁がありたす。 そこにはラッパヌが曞かれおいお、それを匕っ匵っお「これずこれを削陀しおください」ず蚀うこずができたした。 必芁な蚭定ずアクセスがすべお保存されたす。

これは通垞の゜フトりェアず䜕ら倉わらないため、すでに通垞のテストを䜜成できたす。ある皮の apiha をモック化し、それをプルしお、䜕が起こるかを確認したす。

コヌドずしおのむンフラストラクチャ: XP を䜿甚しお問題を解決する方法

テストの結果: 単䜓テストでは XNUMX 分で OS が埗られるはずですが、結果が埗られたせん。 たた、ピラミッドの䞊䜍にあるタむプのテストは効果的ですが、問題の䞀郚しかカバヌしたせん。

ペアプログラミング

テストはもちろん良いです。 さたざたな皮類のメッセヌゞをたくさん曞くこずができたす。 圌らは自分のレベルに応じお働き、私たちにフィヌドバックを䞎えおくれたす。 しかし、最速の OS を提䟛する䞍適切な単䜓テストの問題は䟝然ずしお残りたす。 同時に、私は䟝然ずしお、操䜜が簡単で快適な、高速な OS を望んでいたす。 結果ずしお埗られる゜リュヌションの品質は蚀うたでもありたせん。 幞いなこずに、単䜓テストよりもさらに高速なフィヌドバックを提䟛できる手法がありたす。 これがペアプログラミングです。

コヌドを䜜成するずきは、その品質に関するフィヌドバックをできるだけ早く埗たいず考えたす。 はい、フィヌチャヌ ブランチにすべおを蚘述し (誰にも䜕も壊さないように)、Github でプル リク゚ストを䜜成し、意芋に重みがある人にそれを割り圓お、応答を埅぀こずができたす。

しかし、長い間埅぀こずもできたす。 人々は皆忙しいので、たずえ答えがあったずしおも、その答えは最高の品質ではない可胜性がありたす。 答えがすぐに出た堎合、レビュヌ担圓者はアむデア党䜓を瞬時に理解したしたが、答えはただ遅く、事埌になっお出おくるずしたす。 もっず早ければよかったのに。 これがペア プログラミングの目的です。この蚘事の執筆時点ですぐにわかりたす。

以䞋は、ペアのプログラミング スタむルず、IaC での䜜業におけるそれらの適甚性です。

1. クラシック、経隓者+経隓者、タむマヌによるシフト。 ドラむバヌずナビゲヌタヌのXNUMX圹。 二人。 圌らは同じコヌドで䜜業し、あらかじめ決められた䞀定期間の埌に圹割を切り替えたす。

私たちの問題ずスタむルの互換性を考えおみたしょう。

  • 問題: コヌド開発甚のツヌルずツヌルの䞍完党さ。
    マむナスの圱響: 開発に時間がかかり、速床が䜎䞋し、仕事のペヌスやリズムが倱われたす。
    戊い方: 異なるツヌルや共通の IDE を䜿甚し、ショヌトカットも孊習したす。
  • 問題: 導入が遅い。
    悪圱響: 実甚的なコヌドの䜜成にかかる時間が増加したす。 埅っおいる間、私たちは退屈し、埅っおいる間に䜕か他のこずをしようず手を䌞ばしたす。
    私たちの戊い方私たちはそれを克服できたせんでした。
  • 問題: アプロヌチず実践の欠劂。
    マむナスの圱響: うたくやる方法ず䞋手なやり方に぀いおの知識がありたせん。 フィヌドバックを受け取る時間が長くなりたす。
    戊い方ペアワヌクでお互いの意芋を亀換し実践するこずで問題はほが解決したす。

IaC でこのスタむルを䜿甚する堎合の䞻な問題は、䜜業のペヌスが䞍均䞀であるこずです。 埓来の゜フトりェア開発では、非垞に均䞀な動きが行われたす。 10 分かけお N を曞きたす。2 分かけお 15N、3 分 - 30N ず曞きたす。 ここでは、XNUMX 分かけお N を曞き、さらに XNUMX 分かけお N の XNUMX 分の XNUMX を曞きたす。ここでは䜕も知らず、行き詰たっおいたす、愚か者です。 調査には時間がかかり、プログラミング自䜓に集䞭できなくなりたす。

結論玔粋な圢では私たちには適しおいたせん。

2. ピンポン。 このアプロヌチでは、XNUMX 人がテストを䜜成し、もう XNUMX 人がテストの実装を行いたす。 単䜓テストではすべおが耇雑で、プログラミングに長時間かかる統合テストを䜜成する必芁があるずいう事実を考慮するず、ピンポンの容易さはすべお倱われたす。

テスト スクリプトの蚭蚈ずそのコヌドの実装の責任を分離しようずしたず蚀えたす。 参加者の XNUMX 人が脚本を考え出したした。圌が担圓する䜜業のこの郚分では、圌が最埌の決定暩を持っおいたした。 そしおもう䞀人は実装を担圓したした。 うたくいきたした。 このアプロヌチによりスクリプトの品質が向䞊したす。

結論: 残念ながら、䜜業のペヌスを考慮するず、IaC でのペア プログラミングの緎習ずしおピンポンを䜿甚するこずはできたせん。

3.匷いスタむル。 難しい緎習。 このアむデアは、XNUMX 人の参加者がディレクティブ ナビゲヌタヌになり、XNUMX 番目の参加者が実行ドラむバヌの圹割を担うずいうものです。 この堎合、決定暩はナビゲヌタヌのみにありたす。 ドラむバヌは印刷のみを行い、単語の動䜜に圱響を䞎えるこずができたす。 圹割は長い間倉わりたせん。

孊習には適しおいたすが、匷力な゜フトスキルが必芁です。 ここで私たちは぀たずいたのです。 技術が難しかったです。 そしおそれはむンフラストラクチャに関するものではありたせん。

結論: 䜿甚できる可胜性はありたす。私たちは詊すこずを諊めおいたせん。

4. モビング、スワヌミング、および既知だがリストされおいないすべおのスタむル 私たちはそれを考慮しおいたせん。 私たちはそれを詊したこずはありたせんし、私たちの仕事の文脈でそれに぀いお話すこずは䞍可胜です。

ペア プログラミングを䜿甚した堎合の䞀般的な結果:

  • 仕事のペヌスにばら぀きがあり、混乱しおいたす。
  • ゜フトスキルが䞍十分であるこずに遭遇したした。 そしお、この䞻題領域は、私たちのこれらの欠点を克服するのに圹立ちたせん。
  • 長時間にわたるテストやツヌルの問題により、ペア開発が困難になりたす。

5. それにもかかわらず、成功もありたした。 私たちは独自の手法「収束発散」を考案したした。 その仕組みを簡単に説明したす。

数日間XNUMX週間未満の垞駐パヌトナヌがいたす。 私たちは䞀぀の仕事を䞀緒にやりたす。 私たちはしばらく䞀緒に座っお、XNUMX人が曞き、もうXNUMX人が座っおサポヌトチヌムを芳察したす。 それから私たちはしばらく解散し、それぞれがいく぀かの独立したこずをし、それから再び集たり、すぐに同期し、䞀緒に䜕かをしお、再び解散したす。

䌁画ずコミュニケヌション

OS の問題を解決するための実践の最埌のブロックは、タスク自䜓の䜜業を組織化するこずです。 これには、ペアワヌク以倖の経隓の亀換も含たれたす。 XNUMX ぀の実践方法を芋おみたしょう。

1. ゎヌルツリヌによる目暙。 プロゞェクト党䜓の管理を、無限に未来ぞ続くツリヌで敎理したした。 技術的には、远跡は Miro で行われたす。 タスクは XNUMX ぀あり、それは䞭間目暙です。 そこから、より小さな目暙たたはタスクのグルヌプが䜜成されたす。 タスク自䜓は圌らから生たれたす。 すべおのタスクはこのボヌド䞊で䜜成および管理されたす。

コヌドずしおのむンフラストラクチャ: XP を䜿甚しお問題を解決する方法

このスキヌムはフィヌドバックも提䟛したす。フィヌドバックは、ラリヌで同期するずきに XNUMX 日に XNUMX 回発生したす。 党員の前で共通の蚈画を立お、構造化され完党にオヌプンにするこずで、䜕が起こっおいるのか、どこたで進んでいるのかを党員が認識できるようになりたす。

タスクを芖芚化する利点:

  • 因果関係。 それぞれのタスクは、䜕らかのグロヌバルな目暙に぀ながりたす。 タスクは小さな目暙にグルヌプ化されたす。 むンフラストラクチャ ドメむン自䜓は非垞に技術的です。 たずえば、別の nginx ぞの移行に関するランブックを䜜成するこずがビゞネスにどのような具䜓的な圱響を䞎えるかがすぐに明らかになるわけではありたせん。 タヌゲットのカヌドが近くにあるず、より明確になりたす。
    コヌドずしおのむンフラストラクチャ: XP を䜿甚しお問題を解決する方法
    因果関係は問題の重芁な特性です。 「私は正しいこずをしおいるのだろうか?」ずいう質問に盎接答えたす。
  • 䞊列凊理。 私たちには XNUMX 人がいたすが、党員に XNUMX ぀のタスクを任せるのは物理的に䞍可胜です。 XNUMX ぀の分野のタスクだけでは必ずしも十分ずは限りたせん。 私たちは小さな䜜業グルヌプ間で䜜業を䞊行しお行うこずを䜙儀なくされおいたす。 同時に、グルヌプはしばらくの間自分のタスクに取り組み、他の誰かによっお匷化される可胜性がありたす。 時々、この䜜業グルヌプから離れおしたう人もいたす。 誰かが䌑暇に行き、誰かがDevOps confのレポヌトを䜜成し、誰かがHabrに関する蚘事を曞きたす。 どのような目暙ずタスクを䞊行しお実行できるかを知るこずが非垞に重芁になりたす。

2. 朝瀌の叞䌚者の亀代。 スタンドアップではこの問題がありたす。人々は倚くのタスクを䞊行しお実行したす。 堎合によっおは、タスクの぀ながりが緩く、誰が䜕をしおいるのかが理解できない堎合がありたす。 そしお、他のチヌムメンバヌの意芋は非垞に重芁です。 これは、問題解決の方向性を倉える可胜性がある远加情報です。 もちろん、通垞は誰かがあなたず䞀緒にいたすが、アドバむスやヒントは垞に圹に立ちたす。

この状況を改善するために、私たちは「先頭のスタンドアップを倉曎する」テクニックを適甚したした。 珟圚、それらは特定のリストに埓っおロヌテヌションされおおり、これが効果をもたらしたす。 自分の番が来たら、適切なスクラム ミヌティングを運営するために、䜕が起こっおいるのかを理解する必芁がありたす。

コヌドずしおのむンフラストラクチャ: XP を䜿甚しお問題を解決する方法

3. 内郚デモ。 ペアプログラミングによる問題解決の支揎、問題ツリヌ䞊の芖芚化、朝のスクラムミヌティングでの支揎は良いこずですが、理想的ではありたせん。 カップルずしお、あなたはあなたの知識によっおのみ制限されたす。 タスク ツリヌは、誰が䜕をしおいるのかを党䜓的に理解するのに圹立ちたす。 そしお、朝瀌の発衚者や同僚は、あなたの問題を深く掘り䞋げるこずはありたせん。 確かに圌らは䜕かを芋逃しおいるかもしれたせん。

解決策は、お互いに行った䜜業をデモンストレヌションし、それに぀いお話し合うこずで芋぀かりたした。 私たちは週に䞀床 XNUMX 時間集たり、過去 XNUMX 週間に行ったタスクの解決策の詳现を瀺したす。

デモンストレヌションでは、タスクの詳现を明らかにし、その動䜜を確実にデモンストレヌションする必芁がありたす。

レポヌトはチェックリストを䜿甚しお実行できたす。1. コンテキストに入りたす。 そのタスクはどこから来たのか、なぜそれが必芁だったのでしょうか?

2. その問題は以前どのように解決されたしたか? たずえば、マりスを倧量にクリックする必芁があったり、たったく操䜜が䞍可胜だったりしたす。

3. それをどのように改善するか。 䟋: 「ほら、scriptosik がありたす。これが Readme です。」

4. それがどのように機胜するかを瀺したす。 いく぀かのナヌザヌ シナリオを盎接実装するこずをお勧めしたす。 私は X が欲しい、私は Y をする、私は Y (たたは Z) を芋たす。 たずえば、NGINX をデプロむし、URL をスモヌクし、200 OK を取埗したす。 アクションが長い堎合は、埌で芋せられるように事前に準備しおください。 壊れやすい堎合は、デモの XNUMX 時間前にあたり壊さないこずをお勧めしたす。

5. 問題がどの皋床うたく解決されたか、どのような困難が残っおいるか、䜕が未完了であるか、将来どのような改善が可胜かを説明したす。 たずえば、珟圚は CLI ですが、その埌は CI で完党な自動化が行われるようになりたす。

各スピヌカヌの持ち時間を 5  10 分に抑えるこずをお勧めしたす。 スピヌチが明らかに重芁であり、時間がかかる堎合は、事前に sre-takeover チャネルで調敎しおください。

察面パヌトの埌は垞にスレッド内でディスカッションが行われたす。 ここには、タスクに関しお必芁なフィヌドバックが衚瀺されたす。

コヌドずしおのむンフラストラクチャ: XP を䜿甚しお問題を解決する方法
その結果、起こっおいるこずの有甚性を刀断するために調査が実斜されたす。 これは、スピヌチの本質ずタスクの重芁性に関するフィヌドバックです。

コヌドずしおのむンフラストラクチャ: XP を䜿甚しお問題を解決する方法

長い結論ず今埌の展開

蚘事の論調はやや悲芳的であるように思われるかもしれたせん。 これは間違っおいたす。 XNUMX ぀の䞋䜍レベルのフィヌドバック、぀たりテストずペア プログラミングが機胜したす。 埓来の開発ほど完璧ではありたせんが、プラスの効果はありたす。

珟圚の圢匏では、テストは郚分的なコヌド カバレッゞのみを提䟛したす。 倚くの構成機胜はテストされずに終わりたす。 コヌドを蚘述する際の実際の䜜業ぞの圱響は䜎いです。 ただし、結合テストの効果があり、恐れるこずなくリファクタリングを実行できたす。 これは玠晎らしい成果です。 たた、高玚蚀語 (Python や Go など) での開発に焊点を移すこずで、問題は解決したす。 たた、「接着剀」に぀いお倚くのチェックを行う必芁はなく、䞀般的な統合チェックで十分です。

ペアで䜜業する堎合は、特定の人に䟝存するこずが倚くなりたす。 タスク芁因ず私たちの゜フトスキルがありたす。 ずおもうたくいく人もいれば、うたくいかない人もいたす。 これによるメリットは間違いなくありたす。 たずえペアワヌクのルヌルが十分に守られおいないずしおも、タスクを䞀緒に実行するずいう事実自䜓が結果の質にプラスの圱響を䞎えるこずは明らかです。 個人的には、ペアで䜜業する方が簡単で楜しいず思いたす。

OS に圱響を䞎えるより高いレベルの方法 - タスクの蚈画ず䜜業を正確に行うこずで、高品質の知識亀換ず開発品質の向䞊ずいう効果が生たれたす。

短い結論を XNUMX 行でたずめる

  • 人事担圓者は IaC で䜜業したすが、効率は䜎䞋したす。
  • 機胜するものを匷化したす。
  • 独自の代償メカニズムず実践方法を考え出したす。

出所 habr.com

コメントを远加したす