Azure DevOps - 既存のソフトウェア開発プロセスにアクセスする Part.1

概要

この記事は、Microsoft Learn の下記のモジュールを日本語訳した記事です。

docs.microsoft.com

Use a value stream map to help you examine your existing processes and technologies.

既存のプロセスとテクノロジー調査を支援するために、バリューストリームマップを使います。

In this module, you will:
・Learn about value stream maps (VSMs)
・Use a VSM to get a sense of where the release process needs improvement
・Understand how the VSM gives you a good starting point to discuss your current DevOps practices

このモジュールであなたは:

  • バリューストリームマップ(VSMs)について学習します
  • リリースプロセスの改善が必要な場所を把握するために、VSMを利用します
  • VSMが、現在のDevOpsプラクティスを議論するための良い出発点となるための方法を理解します

はじめに

Do you want to improve your release process? Maybe you want to increase the frequency of your releases. Or maybe you want to increase the quality of your software. Perhaps you want to get rid of some manual processes and move toward a more automated approach. Whatever your goals, Azure DevOps can help.

あなたはリリースプロセスを改善したいですか?おそらく、あなたはリリースの頻度を増やすことを望むでしょう。もしくは、ソフトウェアの品質を向上させることを求めているのかもしれません。あるいは、いくつかの手動プロセスを取り除き、より自動化されたアプローチに移行することを望んでいるでしょう。目標が何であれ、Azure DevOpsが役立ちます。

In this module, you will:
・Learn about value stream maps (VSMs)
・Use a VSM to get a sense of where the release process needs improvement
・Understand how the VSM gives you a good starting point to discuss your current DevOps practices

このモジュールであなたは:

  • バリューストリームマップ(VSMs)について学習します
  • リリースプロセスの改善が必要な場所を把握するために、VSMを利用します
  • VSMが、現在のDevOpsプラクティスを議論するための良い出発点となるための方法を理解します

チームの紹介

DevOps has many features and tools to help a team collaborate and improve its processes. Your journey through DevOps begins with an introduction to our fictitious software team members, who are discovering that they need to improve their release process.

DevOpsには、チームのコラボレーションとプロセスの改善に役立つ多くの機能とツールがあります。 DevOpsを通したあなたの旅は、リリースプロセスを改善する必要があることを発見した架空のソフトウェアチームメンバーの紹介から始まります。

Tailspin Toys, or Tailspin for short, is a video game company. Tailspin hosts its game servers and websites in an on-premises datacenter. The company just celebrated the release of a new racing game. They'll be releasing a space shooter game, called Space Game, in the coming months.

Tailspin Toys、または略してTailspinは、ビデオゲーム会社です。 Tailspinは、オンプレミスのデータセンターでゲームサーバーとWebサイトをホストしています。同社は新しいレーシングゲームのリリースを祝ったばかりです。今後数か月以内に、Space Gameと呼ばれるスペースシューティングゲームをリリースする予定です。

The team that you'll be working with builds websites to support new game titles. These websites provide information about the game, ways to get it, and leaderboards that show top scores. Each website must go live the same day the game is released, which requires coordination among the teams and puts some extra pressure on the web team.

あなたが一緒に仕事をするチームは、新しいゲームタイトルをサポートするためにWebサイトを構築します。これらのWebサイトは、ゲームに関する情報、取得方法、および最高得点を表示するリーダーボードを提供します。各Webサイトは、ゲームのリリースと同じ日に公開する必要があり、これには、チーム間の調整が必要であり、Webチームに余分なプレッシャーがかかります。

The Space Game website is a .NET Core app written in C# that's deployed to Linux. The website isn't finished yet, but here's what it looks like right now:

Space Game Webサイトは、Linuxに展開されるC#で記述された.NET Coreアプリケーションです。ウェブサイトはまだ完成していませんが、現在は次のようになっています:

https://docs.microsoft.com/ja-jp/learn/azure-devops/assess-your-development-process/media/2-space-game-top.png

https://docs.microsoft.com/ja-jp/learn/azure-devops/assess-your-development-process/media/2-space-game-leaderboard.png

You can filter the leaderboard by mode or by game map. You can also select a player's name to see their profile and game achievements:

リーダーボードは、モードまたはゲームマップでフィルターすることができます。またプレイヤーの名前を選択して、プロフィールとゲームの実績を表示することもできます:

https://docs.microsoft.com/ja-jp/learn/azure-devops/assess-your-development-process/media/2-player-profile.png

[!NOTE] To test the Windows container locally, make sure that Docker is started on your local machine.

!注意 ゲームとウェブサイトはまだ完成していませんが、今すぐウェブサイトをチェックして、どのように機能するかを理解してください。

Here are your team members:

チームメンバーは次の通りです:

Andy is the development lead who's been working with computers since he was a kid. He enjoys working on personal coding projects in his spare time. Andy always wishes he had more spare time.

アンディは、子供の頃からコンピューターを扱ってきた開発リーダーです。空き時間は個人的なコーディングプロジェクトに取り組んでいます。アンディはもっと空き時間がほしいといつも願っています。

https://docs.microsoft.com/ja-jp/learn/azure-devops/shared/media/andy.png

Amita is in QA. She's calm, which helps with some temperamental developers. She's good at organizing and setting priorities and lives to find edge cases.

アミタはQAに参加しています。彼女は穏やかで、気まぐれな開発者の助けになります。彼女は、エッジケースを見つけることに関する整理と優先順位付け、活力がすごいです。

https://docs.microsoft.com/ja-jp/learn/azure-devops/shared/media/amita.png

Tim is in operations. He likes practical solutions and he's very cautious (although some people might use the word "paranoid"), which makes sense because he's the person who gets the 3 A.M. call when something goes wrong.

ティムはオペレーションに所属しています。彼は実用的な解決策が好きで、非常に用心深く(一部の人々は「偏執病」という言葉を使用するかもしれませんが)、彼が何か問題が発生した時にたとえ午前3時にでも電話をかけてくるという人物であることからも、はっきりとしていることです。

https://docs.microsoft.com/ja-jp/learn/azure-devops/shared/media/tim.png

Irwin is the product manager. He's been in the video game industry for decades. Irwin acts friendly towards the development teams, but everyone knows he favors a tight schedule over people. Irwin has a relatively fixed mindset, but if there's anything that can help teams get games to market faster with less effort, he's all ears.

アーウィンはプロダクトマネージャーです。彼は何十年もビデオゲーム業界にいます。アーウィンは開発チームに対して友好的に行動しますが、誰よりも厳しいスケジュールを好むことを誰もが知っています。アーウィンの考え方は比較的固定されていますが、チームがより少ない労力でゲームをより早く市場に投入するのに役立つものがあるのであれば、彼は耳を傾けます。

https://docs.microsoft.com/ja-jp/learn/azure-devops/shared/media/irwin.png

Mara is new. She just joined Tailspin as a developer and reports to Andy. She joined Tailspin because she likes games and she thought a smaller company would have lots of opportunity for innovation. She's a big fan of DevOps.

マーラは新人です。彼女は開発者としてTailspinに入社し、そのことをAndyに報告しています。彼女はゲームが好きで、小さな会社にはイノベーションの機会がたくさんあると思ったため、Tailspinに入社しました。彼女はDevOpsの大ファンです。

https://docs.microsoft.com/ja-jp/learn/azure-devops/shared/media/mara.png

Good morning

Irwin, the team's product manager, has called everyone into a meeting, and he's in a bad mood. The leaderboard for the racing game was just updated with several new features and he showed it at a local gaming group. Players' reactions were disappointing, to say the least. He reads off a list of the top problems:

チームのプロダクトマネージャーであるアーウィンは、メンバー全員を会議に招集しましたが、彼の機嫌は悪いです。レーシングゲームのリーダーボードは、いくつかの新機能を搭載してちょうど更新されたばかりで、アーウィンはそれがローカルのゲームグループで評価されているのを見ていました。プレイヤーの反応は控えめに言っても残念なものでした。彼は、主要な問題のリストを読み上げています:

・Some features work correctly for only some game modes.
・Updating the leaderboard takes too long, even with a small number of players.
・Multiple scores per player show up as multiple players.
・The new ranking feature returns incorrect results.
・There's no way to group scores according to a specific date or game session.
・It took months to produce the new release (and it's broken).

  • 一部の機能は、一部のゲームモードでのみ正常に動作する。
  • リーダーボードの更新は、たとえプレイヤー数が少数だったとしてもかなり時間がかかる。
  • 1プレイヤーがもつ複数のスコアは、各スコアが別プレイヤーのものとして表示さえれる。
  • 新しいランキング機能は、誤った結果を返している。
  • 特定の日付またはゲームセッションに従ってスコアをグループ化する方法がない。
  • 新しいリリースを作成するのに数ヶ月かかっている(そしてその機能は壊れている)。

He demands, "How long before these problems are fixed?"

アーウィンは、「これらの問題が修正されるのにどれくらいかかるのか?」と詰問しています。

Andy thinks: I bet it takes me a month to write that code.
Amita thinks: It'll take me at least a week to test this and I can't start until Andy is finished, and he always wants to sneak in new code.
Tim thinks: It'll take me at least a week to set up the environments and deploy this to production. I can't start until Amita is finished, and she's never willing to call something a release candidate.
Mara wonders: Was taking this job a mistake?

アンディの考え: そのコードを書くのに1か月かかると思う。
アミタの考え: 修正したコードをテストするには少なくとも1週間かかりますし、私はアンディの作業あ終了するまで作業を開始できませんし、さらに、アンディは常に新しいコードを忍び込ませようとしています。
ティムの考え: 環境をセットアップしてこれを運用環境に展開するには、少なくとも1週間はかかります。私はアミタの作業が終了するまで作業を開始できず、またアニタは決して、いくつかのものをリリース候補と扱わないようにしています。
マーラの思い: 私は仕事選びを間違えたかな?

Andy looks around at his teammates and says, "We'll get back to you."

アンディはチームメイトたちを見回し、「また戻ってくる」と言いました。

mappie-kochi.hatenablog.jp