継続的な改善と開発・運用の自動化
頻出約 34 分6 用語過去問 6 題
この単元の目標
- ふりかえり で何を見直すのかを説明し、レトロスペクティブ との関係を言える
- CI で変更が統合されてから結果が返るまでの流れを順に説明できる
- DevOps と MLOps を、運用し続ける対象の違いで区別できる
用語総表(6 語)
用語
ふりかえり は、一定期間の活動を終えるたびにチームで仕事の 進め方 を見直し、次の期間に試す 改善策 を決める活動である。
見直す対象は、作業の段取りやチーム内の連携といった仕事のやり方である。例えば「続けること・問題・次に試すこと」の 3 つの観点で意見を出し合う KPT という進め方がよく使われる。これを反復のたびに繰り返すことで、チームの働き方が少しずつ良くなっていく。
たとえ料理を作り終えるたびに、段取りでうまくいった点と次は変えたい点をメモし、次に作るときにそのメモを試してみるようなもの。
覚え方漢字では「振り返り」。来た道を振り向いて確かめ、向き直って次の一歩を決める動作を思い浮かべる。
出題のポイント
- 混同注意ふりかえり の目的は失敗した人を探して責めることではなく、チーム全体のやり方を次の反復で良くすることにある。
レトロスペクティブ は ふりかえり の英語名で、スクラムではスプリント (開発の反復の単位) の最後に行う スプリントレトロスペクティブ というイベントとして定められている。
中身はふりかえりと同じで、直前のスプリントでの人・やり方・道具の使い方などを見直し、次のスプリントで取り組む改善を決める。スクラムでは、完成した成果物を関係者に見せて意見をもらう スプリントレビュー の後に行う。
覚え方retro は「後ろへ」、spective は「見る」。懐古趣味のレトロと同じ retro で、後ろを見る = 振り返る。
出題のポイント
- 混同注意スプリントレビュー は完成した成果物を確かめる場、レトロスペクティブ はチームの進め方を見直す場であり、見る対象が異なる。
CI は、開発者がソースコードの変更を小さな単位で頻繁に 共有リポジトリ (チームで共用するコードの保管場所) へ統合し、そのたびに ビルド (ソースコードから動くプログラムを組み立てる作業) と テスト を自動で行う実践である。
開発の終盤に全員の変更をまとめて統合すると、食い違いが一度に表面化し、どの変更が原因かを探す手間が大きくなる。CI では統合の間隔を短くし、自動テストの結果を毎回すぐに返すため、不具合を見つけた時点で原因の範囲が狭い。
たとえ大人数で 1 冊の文集を作るとき、各自が 1 ページ書くたびにすぐ綴じて通し読みし、話の食い違いをその場で直していくようなもの。
覚え方C = Continuous (途切れずに続く)、I = Integration (1 つにまとめる)。
出題のポイント
- 混同注意CI で毎回自動で行われるのは、統合された変更のビルドとテストまでである。テストを通った変更をいつでも本番へ出せる状態まで自動で運ぶ考え方は、継続的デリバリー (CD) と呼ぶ。
継続的インテグレーション は CI (Continuous Integration) の正式名称で、同じ実践を指す。
インテグレーションは「統合」の意味で、各開発者の変更を 1 つのプログラムにまとめることを指す。「継続的」は、その統合を開発の途中で日常的に繰り返すことを表している。
覚え方integrate は integer (欠けのない整数) と同じ語源で、ばらばらの部品を欠けのない 1 つにするという意味。
出題のポイント
- 混同注意継続的インテグレーション の「継続的」は、統合を開発の最後に 1 回行うのでなく、小さな変更のたびに繰り返す点を表す。
DevOps は、開発 (Development) の担当と 運用 (Operations) の担当が協力し、自動化 の仕組みを使ってソフトウェアの変更を素早く安定して届け続ける取組である。
従来は、新しい機能を早く出したい開発側と、システムを止めたくない運用側が別々に動き、引き渡しのたびに時間がかかりがちだった。DevOps では両者が目標を共有し、CI などの自動化を取り入れて、仕様の変更にも短い間隔で応えられるようにする。特定の道具の名前ではなく、組織の協力体制と仕組みづくりを含む考え方である。
たとえ料理を作る厨房と客に出すホールが同じチームとしてお客の反応を共有し、メニューの改良を素早く繰り返すレストランのようなもの。
覚え方Dev と Ops をつないだ造語で、名前そのものが 2 つの担当の合体を表している。
出題のポイント
- 出題DevOps は、開発と運用の担当が協力し、自動化の仕組みを使って機能の追加や変更を素早く利用者へ届ける取組である。
- 出題DevOps の自動化は開発側の作業にとどまらず、本番環境への反映といった運用側の作業にも及ぶ。
- 混同注意アジャイルは短い反復で少しずつ作る開発の進め方、DevOps は開発と運用が協力して届ける流れを速くする体制づくりであり、両者は組み合わせて使われることも多い。
この用語の過去問 2 題 DevOps →
MLOps は、DevOps の考え方を 機械学習 (Machine Learning) を使うシステムに応用し、モデル (データから学習して予測や判定を行う仕組み) の開発から運用・更新までを継続的に回す取組である。
MLOps ではデータの準備・学習・評価・組込み・監視を一続きの流れとしてつなぎ、できるところは自動化する。データ分析の担当、開発の担当、運用の担当が協力して進める点も DevOps と共通している。
たとえ天気予報の担当者が予報の当たり外れを毎日確かめ、外れが増えてきたら新しい観測データで予報の手順を作り直すようなもの。
覚え方DevOps の Dev を ML (Machine Learning) に差し替えた形の名前。
出題のポイント
- 混同注意MLOps の運用は、モデルを本番に組み込んで終わりではない。利用されるデータの傾向が変わると精度が落ちるため、監視と再学習を繰り返す。
要点
- ふりかえり (英語名 レトロスペクティブ) は、反復のたびにチームの進め方を見直し、次に試す改善を決める活動である。
- CI (継続的インテグレーション) は、小さな変更を頻繁に統合し、そのたびにビルドとテストを自動で行う。
- DevOps は、開発と運用が協力し、自動化で変更を素早く安定して届け続ける取組である。
- MLOps は、DevOps の考え方を機械学習を使うシステムに応用したものである。
この分野の過去問をすべて見る →