スクラムワークショップ -Vol.02 マインクラフト編

技術研究チームの活動の一環で、スクラムを体験するワークショップを開催しました。
本シリーズではそれらの実施方法や様子をお届けします。
第2回のテーマはマインクラフトを使ったオンラインでできるスクラムワークショップです。

シリーズ一覧

▻Vol.02_イマココ

はじめに

みなさんこんにちは。成瀬(@nrslib)です。

前回はレゴ®を使ってスクラムワークショップを実施した話をしました。
スクラム開発の要素をひと通り体験するにはとてもよいワークショップでした。

しかし、ひとつの問題がありました。
それは、物理的なアイテムを使うがゆえにオフラインで実施する必要があることです。

私たちの現在の目的は、リモート環境における開発手法を探ることです。
そのためのワークショップがリモート不可では片手落ち感が否めません。

そこで、リモート環境下におけるスクラムワークショップを実施することにしました。
題材に選んだのは『マインクラフト』です。

マイクラスクラム

今回のワークショップはデモムービーを作ってみました。

楽しそうですよね。
今回はこのMinecraft(マインクラフト)を使ったスクラムワークショップ、マイクラスクラムについて解説していきます。

Minecraftとは

Minecraft(マインクラフト)は正方形のブロックで構成された仮想世界で、サバイバル生活を楽しんだり、自由にブロックを配置して建築をして楽しむサンドボックスビデオゲームです。
2011年にリリースされ、執筆時点ではテトリスを抜いて世界で最も売れたゲームになっています。

どういったゲームか詳しい説明は公式をご覧ください。

https://www.minecraft.net/ja-jp/about-minecraft(公式サイト:Minecraftについて)

Minecraftは一人でも楽しめますが、マルチプレイ機能があり複数人で遊ぶこともできます。
代表的な遊び方として、複数人で協力しながら建物を作ったりします。
つまり、レゴスクラムと同じようなやり方でスクラムワークショップができるのです。

さっそくマイクラスクラムのやり方を解説していきましょう。

ワークショップ概要

マイクラスクラムはMinecraftのマルチプレイモードを使って、スクラムの手法を実践しながらブロックで建物を作るワークショップです。

ワークショップでは参加者同士が数名でチームを組んで、テーマにしたがった建物を作ります。
後述しますが、Minecraftではひとつの建物を作る方が向いています。

所要時間はレゴスクラムと同じく半日かかるものとみてください。
特に、スクラム自体の解説から実施する場合はほとんど1日かかると考えてよいです。

準備するものは物理的なものは一切不要で、ソフトウェアやサービスをいくつか用意する必要があります。
コストはMinecraftのソフト代(Java Editionは3,000円)のみです。
また、どうしてもコストが出せない場合はMinecraft Classicという選択肢もあります(詳細は後述)。

マイクラスクラムはレゴスクラムと同程度に重厚なワークショップで、スクラム開発の基本を疑似的に体験できます。

準備するもの

ワークショップを実施するにあたって準備するものは次のとおりです。

  • Minecraft
  • ホワイトボードソフト
  • プランニングポーカーソフト
  • マルチプレイ用サーバー(場合によっては不要)

Minecraft

これがなくては始まりません。
参加人数に応じた数だけ購入しましょう。

注意点として、MinecraftにはJava Editionと統合版の2つの選択肢があります。
バージョンによっては一緒にプレイできないので、参加者同士でバージョンを揃えるようにしておきましょう。

特にこだわりがなければJava Editionをお勧めします。
Java Editionは統合版に比べてスペックが求められますが(それでもそれほど高いスペックではないです)、価格が安く、MOD(ゲーム性を変更する仕組み)が使えたりするなど自由度が高いです。

またJavaが動く環境であれば動作するので、OSに左右されず動作させられます。
Nintendo Switchなどでワークショップをする姿は遊んでるように見られかねませんので、PCでできるというのは重要なところです。

なお、Minecraftを購入するコストが捻出できない場合はMinecraft Classicを利用する手立てもあります。
Minecraft Classicはブラウザ上で遊べる無料のMinecraftです。
ブロックに制限があったり、後述のフラットモードにできなかったりしますが、最大9人までのマルチプレイに対応しています。
使い勝手は本家に劣るので、一度触ってみてから採用するか検討してください。

ホワイトボードソフト

ワークショップではプロダクトバックログやタスクボードを使います。
オフラインで実施する場合には物理的なホワイトボードがあれば問題ありませんが、オンラインの場合何かしらのオンラインソフトを利用する必要があります。

ホワイトボードで扱うものは次のとおりです。

  • プロダクトバックログ
  • タスクボード
  • 振り返り(KPTなど)

これらが用意できるのであれば、ツールはどれでも構いません。

なお、私たちが今回のワークショップで使ったのはmiroでした。
色々調べて触って候補を探したのですが、タスクボードの操作しやすさなどはmiroが最も手軽でした。

miroイメージ(左下がKPT、右下がタスクボード)

プランニングポーカーソフト

チームでユーザーストーリーを見積もる際にプランニングポーカーを使います。
こちらもオフラインの場合はプランニングポーカーを使うのが最もやりやすいですが、オンラインの場合は工夫が必要です。

通話しながら「いっせーのせ!」でストーリーポイントを言い合う方法でもいいのですが、スマートにサービスを利用しましょう。

プランニングポーカーを複数人で行えるサービスにhajitsuというサービスがあります。
ルームを作成して、参加者はそのURLにアクセスするだけでプランニングポーカーが行えます。
非常に手軽なサービスなのでこちらをお勧めしておきます。

マルチプレイ用サーバー

Minecraftでワークショップ用にマルチプレイサーバーを用意します。
サーバーの設定はクリエイティブモード(自由にブロックを配置できる)でワールドタイプをスーパーフラット(平らな土地)にします。

Minecraftをマルチプレイする方法は大きく3種類あります。

  • ポートを開放する
  • サーバーを建てる
  • レンタルサーバーを利用する

それぞれ簡単にご紹介します。

ポートを開放する

ポート開放は若干の知識やルータへのアクセス権限などが要求されますが、コストは無料です。
人数制限はポート開放をしたPCのスペックに左右されます。

サーバーを建てる

サーバーを建てる選択肢はポート開放より高度な知識が要求されますが、解説サイトを利用すればそれほど難しくはないでしょう。
ちなみに、私たちも最初はメンバーがサーバーを建てたのですが、うまく全員が接続できないトラブルが発生したので断念しました。

レンタルサーバーを利用する

レンタルサーバーを利用する選択肢は今回私たちが利用した方法です。

MinecraftにはMinecraft Realmsというサブスクリプションがあります。
Minecraft Realmsは月額1,000円弱でマルチプレイ用サーバーを利用できるサービスです。

Minecraft Realmsは公式が提供しているサービスなので、こちらを使うのが最も手軽です。
が、落とし穴として、人数制限が10名までだったり、MODなどを使えなかったりします。

Minecraft Realms以外で手軽な選択肢として挙げられるのは、手前味噌でございますがConoHaのVPSです(PRしたいわけではないのですがお勧めなのでご容赦を……)。
ConoHaのVPSではMinecraftサーバーのテンプレートが用意してあるので、そちらを使うだけでMinecraftのマルチプレイが可能です。
料金も時間による従量課金形式なので、たとえば5-10名でお勧めのメモリ4GBのプランを10時間使ったとしても48円、11名以上推奨のメモリ8GBのプランの場合は93円とリーズナブルです。
人数制限はスペックによって変更でき、MODなどのカスタマイズは無制限ですので、ワークショップ用にはおすすめです。

今回、私たちもワークショップをする際に最終的にはConoHaを利用したので、その手順をここでご紹介します。

まずConoHaでMinecraftサーバーを建てるには次のサポートページが参考になります。

ConoHa Minecraftサポートページ: https://support.conoha.jp/v/hellovps-m-01/

サポートページを参考にMinecraftのサーバーを作成したら、次はワークショップ用の設定をしていきます。
ワークショップではクリエイティブモードの設定とワールドタイプをスーパーフラットに変更します。

まずサポートページに「VPSにログインしてMinecraftの設定をする」の手順のようにVPSにログインします。
ログインしたらマインクラフトのディレクトリ(/opt/minecraft_server)のserver.propertiesを開きます。

cd /opt/minecraft_server/
vi server.properties

そして、次のプロパティの値を変えます。

gamemode=1
level-type=flat

以上で設定は完了です。

スーパーフラットでワールドを再生成する必要があるので、次の手順でワールドを再生成しましょう。

  • サーバー停止
  • worldディレクトリのリネームまたは削除
  • サーバー起動

これで準備は完了です。
なお、無駄に料金がかからないようにワークショップが終わったら忘れずにサーバーを削除しておきましょう。
もしワークショップを行ったワールドを残しておきたい場合にはスナップショットを忘れずにとっておいてください。

ワークショップ解説

ワークショップは次の順序で進めます。

  • スクラム入門講義
  • Minecraft練習
  • チーム分け
  • 題目発表
  • ペルソナ決定
  • ユーザーストーリー作成
  • ロール決定(PO/ScM)
  • 要求を交換する
  • タスクボードの作成
  • プロダクトバックログの作成
  • プランニングポーカーによる見積もり
  • スプリント(4回)
  • ワークショップのふりかえりとまとめ

基本的に流れはレゴスクラムと同一です。
流れを追いながらそれぞれでやることを確認していきましょう。

基本的な座組は同じなので、解説は一部レゴスクラムと同じになりますがご了承ください。

スクラム入門講義

何も予備知識なしに実施すると、各種イベントの位置づけや関連性がよく分からないまま、流れに身を任せる形になってしまいます。
せっかく時間を使うのに、それでは勿体ないことこの上ないでしょう。

そこで、ワークショップの体験をより良い学習活動に変化させるために、ワークショップの前にスクラムの概要を説明する講義を行います。

ここで解説しておくべき内容はロールとスクラム全体の流れ、イベント・作成物の概要です。
内容についてはレゴスクラムで解説した内容と同一ですので割愛します。

もしスクラム入門講義が難しいようであれば、個人の活動ですがマイクラスクラムと同じような座組で、モンハンを使ったスクラムワークショップを実施した際の入門講義が使えると思います(リンク先動画有)。

Minecraft練習

参加者はMinecraftの操作ができなくてはなりません。
とはいえ、そのハードルは高くなく、いわゆる豆腐ハウス(正方形の家)を作れる程度には操作できれば問題ありません。
まったくの初心者であっても正味2時間ほど操作して建物を作ったりすれば、ワークショップに必要な操作は覚えられるでしょう。

私たちもゲームをほとんどしないメンバーも多かったので、一度Minecraft練習をしました。
時期的にはちょうど忘年会の時期だったのでMinecraft忘年会です。

Minecraft忘年会の様子

もし練習する場合は、クリエイティブモードのスーパーフラットで行うのがおすすめです。
建物を建てながら、どれくらいのものがどの程度の時間で建てられるのかを、参加者それぞれが確認しておくとよいでしょう。

練習時間に建築したもの

チーム分け

今回のワークショップ参加者はトレーナー兼撮影係の自分を除いて6名。
3名ずつの2チームに分けました。

Team15%成長
チームJapan

「チームJapan」は前回のスクラムワークショップから続投のチーム名ですが、チームメンバーは変わっています。
今後もチーム名だけ受け継がれていきそうですね。

題目発表

チームが決まったら、今回作る建物のテーマの発表です。
今回は「理想の職場」をテーマにしました。

その他の選択肢としては、「理想の街」や「遊園地」がありました。
そのなかで「理想の職場」を選んだ理由は、Minecraftは細かい内装の作りこみができるので、ひとつの建物を作るのが面白そうだと考えたからです。

ペルソナ決定

メンバーそれぞれひとつのペルソナを持ちます。
チームごとにどういった組織の職場になるのか意識合わせをして、職種や趣味などの属性を決めていきます。

参考までに私たちが作ったペルソナを紹介します。

  • 若手エンジニア ボルダリングが趣味
  • CTO お酒好き
  • 部長 釣りが趣味
  • デザイナー アニメ好き
  • 企画職 アウトドアが趣味

ちょっと簡易的すぎますね。
もう少しペルソナを深掘りしておくと次の行程がやりやすいです。

ユーザーストーリー作成

それぞれのペルソナにしたがって、理想の職場に欲しいものをユーザーストーリーとして作成していきます。
ユーザーストーリーは次のテンプレートにしたがって記入します。

【どのような立場】として【どういったもの】が欲しい。それは【どういったこと】を達成したいからだ。

ユーザーストーリーテンプレート

ユーザーストーリーは建物の見取り図を描いて、ユーザーストーリーを配置したい箇所に貼っていきます。

チームごとにどういったユーザーストーリーになったか紹介します。
まずは「チーム15%成長」です。

チーム15%成長のユーザーストーリー(3階部分抜粋)

「チーム15%成長」の組織は大企業で5階建てのビルに職場があります。
「【部長】として【偉い】ので【個室】が欲しい」のユーザーストーリーはある種の潔さを感じますね。
このチームの部長に対するイメージどうなってんだ。

ちなみに画像に3階部分抜粋とあるとおり、ユーザーストーリーは1階から5階に分けて配置されていて、1階にはカフェなどテナントに関するユーザーストーリーがありました。

チームJapanのユーザーストーリー

「チームJapan」は先ほどとは正反対にベンチャー企業とのことです。
ボルダリングといった遊び心の中にデスマなどの不穏な単語が潜むのもそれ由来だそうです。

ロール決定(PO/ScM)

チームごとにメンバーからプロダクトオーナーとスクラムマスターを選出します。

プロダクトオーナーはこのあと作るプロダクトバックログの管理を主体的に行います。
開発チームと相談しながら、バックログアイテムの順序を変更し、必要に応じてステークホルダーとのやり取りします。
もちろん開発者も兼任することになるので、建築物を建造します。

スクラムマスターを選出するかどうかについては任意です。
スクラムマスターを選出する場合は、事前に打診して、スクラム開発に関する理解を深めてもらう必要があります。

なお今回は、前回レゴスクラムをやった経験があったので、任意のメンバーにスクラムマスターを担当してもらうことにしました。

要求を交換する

プロジェクトの多くは、自分以外の誰かが欲しいものを作ることが多いです。
そこで、今回のワークショップでもそれを再現すべく、地図の交換をしました。
つまり、参加者の眼前には他のチームのユーザーストーリーが貼られた街が広がることになります。
参加者が開発するのは、目の前の街です。

以降、参加者は一人二役になります。
目の前の街に対しては開発チームとして振舞い、もう一方のそれまで自分たちの要求を張り付けてきた街に対してはステークホルダーとして振舞うことになります。

タスクボードの作成

チームごとにタスクボードを作成します。
タスクボードのフェーズはTODO, DOING, DONEだけのシンプルなもので構いません。
ユーザーストーリーごとに複数のタスクができる可能性があるので、いくつか行を用意しておくとよいでしょう。

タスクボードサンプル

プロダクトバックログの作成

取り掛かるユーザーストーリーの順序を決めて、プロダクトバックログを作ります。
なお、建物見取り図に配置されたユーザーストーリーをそのままプロダクトバックログに移動してしまうと、どこに配置すべきものなのかわからなくなってしまいます。
建物見取り図からユーザーストーリーをコピーしてプロダクトバックログを作りましょう。

プロダクトバックログのサンプル

このときユーザーストーリーには存在しなかった「オフィスを建てる」といった共通して必要になるようなものもバックログアイテムとして追加します。

プランニングポーカーによる見積もり

ユーザーストーリーをプランニングポーカーを使って見積もりします。

プランニングポーカーができるサービス「hajitsu」

プランニングポーカーを知らない方向けに説明すると、数字の書かれたカードを一斉に出し合う見積もり方法です。
メンバーは任意のユーザーストーリーに対してプランニングポーカーを使って、自分が思うポイントをあてはめます。

プランニングポーカーで使われる数値は工数を直接表すものではなく、重みを表すポイントです。
基準となる数値を決めて、そこから相対評価でポイントを見積もります。
人間は相対評価が得意なので、スムーズに見積もりができます。

場に出たカードのポイントが一致すれば、合意が取れたことになります。
数値が大きい、あるいは小さいときは、なぜその見積もりになったのかをインタビューして、そこに潜む問題点やハックを深掘りします。
このような手順を取ることで、見積もりが公正で透明性と納得感のある数値に近づきます。

なお、相対評価をするためには基準を最初に決める必要があります。
通常は開発チームで合意が取れるもっとも平均的なユーザーストーリーを選んで、それを3とします。
練習時間に作った建物で平均的な建物の合意を取りましょう。

見積もったストーリーポイントはユーザーストーリーに記入しておきます。

見積もったポイントをユーザーストーリーに記入(miroのタグ機能を使ってます)

スプリントを実行する

ここからはスプリントの開始です。
スプリントの流れは次のとおりです。

  • スプリントプランニング
  • 実行
  • スプリントレビュー
  • スプリントレトロスペクティブ
  • バックログリファインメント

スプリント開始前に、チームごとに境界線を決めておきます。

境界線
スプリントプランニングの実施(5分)

実行の前にスプリントの計画をします。
スクラムでは計画が重要視されます。

最初に今回のスプリントで消化できるポイントの予測をします。
消化とはステークホルダーに検収してもらえることをいいます。
この予測はスプリントを何度かこなすことで正確性が強まるものなので、初回は練習時間を参考に予測しましょう。
スプリントが2週目以降であれば、ベロシティ(それまでのスプリントの結果を参考にした消化予測ポイント)を参考にします。

予測されたポイントに従ってプロダクトバックログの上から順番に、今回のスプリントで取り組むユーザーストーリーを機械的に決めていきます。
消化予測ポイントに対して機械的にユーザーストーリーを決めていくと余ってしまうことがあります。
その際にはユーザーストーリーの順序を入れ替えて、なるべく余りが出ないようにします。

また、巨大すぎるユーザーストーリーは取り扱いづらいものです。
その場合にはプロダクトオーナーと相談しながら、ユーザーストーリーの分割をします。

今回のスプリントで着手するユーザーストーリーが決まったら、次はタスク分けを行います。

実行
開発開始!

いよいよMinecraftの開始です。
計画に従って建築していきます。
タスクにサインアップして作業に取り掛かりましょう。

タイムボックスは45分です。
15分経過、30分経過時点でデイリースクラムを実施します。
デイリースクラムはスクラムマスターの判断によりスキップしても構いません。

スプリントレビューの実施(3分)

チームが開発したものをステークホルダーにデモします。

レビューの様子

開発チームは着手したユーザーストーリーとインクリメントをステークホルダーにデモします。
インクリメントが検収可能ならステークホルダーは完成を伝えます。
反対に検収不可能であれば、足りない要素が何かをフィードバックします。

ここで重要なのは、スプリントレビューはプレゼンテーションではなくワーキングセッションであるということです。
ステークホルダーと一体になって、成果物が完成しているかどうか、完成していないのであれば何が必要か、フィードバックします。

スプリントレトロスペクティブの実施(5分)

レビューを終えたらスプリントのふりかえりを行います。

KPTなどのフレームワークを使って5分で振り返りを行います。

KPTによる振り返り

KPTを利用する場合は、Pに囚われがちなので、KやTを重視するように言い渡しておくとよいでしょう。

バックログリファインメントの実施(5分)

次のスプリントの前にプロダクトバックログのお手入れをします。

具体的にはプロダクトバックログの上位にあるバックログアイテムを着手可能にします。
情報が不足している場合にはステークホルダーにインタビューを行い、必要な情報集めます。
ユーザーストーリーが巨大すぎる場合には分割をします。

次のスプリントへ

スプリントが終了したら次のスプリントに進みます。

スプリントは全4回です。
2回終わった時点で休憩を入れるとちょうどよいです。

ワークショップレポート

ここからは私たちが実際に行ったマイクラスクラムワークショップのレポートです。

できあがった職場

スプリント4回時点のインクリメント

右の建物が「チーム15%成長」のメンバーがオフィス部分を借り上げて職場としているビルで、左の建物が「チームJapan」のベンチャー企業が拠点とする事務所です。

スプリント一回目の状況と比較するとかなりの大作になりました。

スプリント1回目の様子

撮影した建築シーンをダイジェスト動画にしてみたので興味がある方はどうぞ。

参加者の感想

今回も参加者に感想を書いてもらったので、ここにいくつかピックアップします。

  • レゴなりマイクラなり半日以上のワークショップをしないとスクラムのやり方がはなかなか理解できなさそう
  • リモートワークでもしっかりスクラムができることが分かって良い
  • マイクラの操作(wasd)に慣れていないと若干きつい
  • スクラムの一連の流れを掴めたので、このノリ(マイクラでやったじゃーん的な)で業務に活かせそう
  • レゴより体力的に負荷が少ない
  • 安定したネットワーク等ある程度のPC環境が必要
  • レゴスクラムと同じくらいスクラムに対する学びがあると感じた
  • オンラインツールと組み合わせてワークショップを進められるのが良かった
  • レゴよりも表現の幅やできることが多いので、マイクラの方が見積もりやタスクで苦戦できて良い学びになる

総じてポジティブな意見が多く、リモートでコミュニケーションの貯金をする手段としても有用になりそうです。

成瀬の感想

今回はスクラムマスターをチームのメンバーに任せたのに加え、リモートでのワークショップなので疲れはほとんどありませんでした。
むしろずっと撮影係をしながら、各チームのチャットに乱入して、マイクラのアドバイスをしていた記憶しかありません。

ワークショップとしては、メンバー個人個人がMinecraftをもってさえいれば、かかるコストはマインクラフトサーバー代ぐらいになるので、とても気軽に実施できてお勧めです。

得られる学びもレゴスクラムとほとんど遜色ありません。
スクラムを取り入れたり、未経験者がオンボーディングするために、半日を費やす価値はあるのではないでしょうか。

建築物のハイライト

お待ちかね、建造物紹介のコーナーです。

まずは真面目なものから。
とても開放的な執務スペースです。

【プログラマ】として【広いデスク】がほしい。それは【快適に業務がしたい】からだ。

目が疲れたら緑に視線を移して視力を維持できそうですね。
調度品とかランプがおしゃれです。

お次はどちらのチームでも作っていた会議スペースです。

【部長】として【会議室】がほしい。それは【ミーティングすることが多い】からだ。
【プログラマ】として【開放的な応接スペース】がほしい。それは【透明性があるミーティング】をしたいからだ。

いずれのチームもガラス張りです。
ワークショップ参加者は全員開発者なので、透明性とかそういった言葉に弱いんですよね。
かたや豪華なしつらえに対し、足元に草が生えているなど、大企業・ベンチャー企業の特徴がそれぞれ出ています。

今度は仮眠スペースです。

【プログラマ】として【仮眠室】が欲しい。それは【眠気を覚ましたい】からだ。
【若手エンジニア】として【寝床】が欲しい。それは【デスマがある】からだ。

前者はともかく、後者は仮眠ではなさそうですね。
ちなみに扉を開くペダルスイッチは外側にしかないので、内側からは開けることができない仕組みです。

最後は特徴的な建物についてです。

【若手エンジニア】として【植木鉢と花】が欲しい。それは【コーディングに疲れたときに癒されたい】からだ。

植木鉢……?

示し合わせたわけではないのですが全員の共通認識として「世界樹」と呼ばれていました。
大きな樹はなんでも世界樹になっちゃうのは人類共通なのかもしれません。
ちなみに根本が暗すぎてコウモリが沸いてました。
ペットって言い張ってました。

おわりに

昨今、リモートワーク普及により、新たなメンバーのオンボーディングがオンラインで完結するケースが増えてきました。
そういった状況下でスクラム開発未経験者がスムーズにスクラムチームにオンボーディングする方法として、オンライン完結のワークショップは最適です。

単純なレクリエーションとしても面白いので、新規メンバーのオンボーディングにお悩みのみなさまにお勧めします。

著書の紹介欄

真に価値あるソフトウェアを生み出すために必要なこと

ドメイン駆動設計入門 ボトムアップでわかる!ドメイン駆動設計の基本

ソフトウェア開発者であればいつかはたどり着く、ドメイン駆動設計の世界に飛び込むための入門書です。 本書はドメイン駆動設計において、実践が難しいものは後回しにして、まずは実践しやすい実装パターンを解説しています。 解説は「なぜそのパターンが必要なのか」という問題の認識からはじまりますので、初学者であっても理解しやすく工夫されています。 まずは本書である程度の知識をつけて、難関と呼ばれる『エリック・エヴァンスのドメイン駆動設計』に挑みましょう。

ブログの著者欄

成瀬 允宣

GMOインターネットグループ株式会社

プログラマ / デベロッパーエバンジェリスト。2017年9月GMOインターネットグループ株式会社入社。テックリードとしてWebアプリケーションプロダクト開発に従事するほか、社内研修や小学校プログラミング教育に携わる。また技術広報としてカンファレンス等でソフトウェア開発・設計を主軸に講演活動を行う。著書『ドメイン駆動設計入門 ボトムアップでわかる!ドメイン駆動設計の基本』(翔泳社)。

採用情報

関連記事

KEYWORD

採用情報

SNS FOLLOW

GMOインターネットグループのSNSをフォローして最新情報をチェック