2018.03.15

アジャイル開発におけるGitLabの使い方

加藤学
ソフトバンク コマース&サービス株式会社
テクニカルフェロー
このエントリーをはてなブックマークに追加

アジャイルはここ十数年でソフトウェア工学の分野に導入された最も重要な方法論の一つになりました。 必ずしも全ての方々がこのアジャイル概念の詳細までの必要性を感じているとは限りませんが、少なくとも顧客視点の製品を作る開発チームにおいては良い方向、影響を与えるものであると言われています。

GitLabは、皆さんの採用するアジャイルやそこから影響された開発方法論に合わせられるよう十分柔軟な設計をしてきましたが、検討している方々の中には、GitLabの機能がどのようにアジャイル成果物に対応しているのか、はっきりわからない方も多いと思います。本記事では、アジャイル成果物とGitLabの機能の紐付けをいくつか例をあげて説明していこうと思います。

アジャイル成果物とGitLabの機能マッピング表

 アジャイル成果物

 GitLab機能名/

 製品ドキュメント

 ユーザーストーリー  Issues
 タスク  Task Lists
 エピック  Epics
 ポイントと見積もり  Weights
 プロダクトバックログ
 スプリント  Milestones
 バーンダウンチャート  Burndown Charts
 アジャイルボード  Issue Boards

ユーザーストーリー:GitLab Issues

アジャイル開発において、顧客にビジネス価値を提供する機能を表すユーザーストーリーは、単一のGitLab Issueで表されます。ユーザーストーリーとは、顧客がやりたいことが簡潔に纏められており、開発者と顧客の間で、顧客の言葉を使いながら、まだ言語化できていない要件を整理、お互いの共通認識を作るためのものです。

Gitlab Issuesページは、中央のタイトルと詳細の組み合わせになっており、さまざまな用途でドキュメント化できます。例えば、ユーザーストーリー内の関連する登場人物やビジネス価値についての詳細などを入力します。右側のサイドバーには、このissueが所属するエピックや、後述のポイント(GitLab Weight)、スプリント(GitLab Milestone)などの関連情報が表示されます。


180315_kato_01.png

タスク:GitLab Task Lists

ユーザーストーリーは後々、個別のタスクへ分割されていきますが、これはGitLab Issueの詳細項目としてGitLab Task Listsとして表されます。

エピック:GitLab Epics

アジャイル開発においては、ユーザーストーリーをより抽象化して表現することがあります。これをエピックと呼びますが、GilLabでは、GitLab Epicsにこのエピックの内容を書き込みます。もちろんこれに対して、複数の子GitLab Issue(ユーザーストーリー)をぶら下げて、階層で表現することもできます。

プロダクトバックログ:GitLab Issue Lists and Prioritised Labels

プロダクトオーナーは、ビジネスや顧客のニーズを反映させたユーザーストーリーを作ります。そしてこれらは、緊急性や開発の順番の要望に応じて、プロダクトバックログの中に優先順位付けされていきます。プロダクトオーナーは、利害関係者とコミュニケーションを取りながら優先順位を決定し、継続的にバックログを洗練させていきます。

GitLabでは、バックロッグを視認するGitLab Issue Listsとして動的に生成され、それぞれ個別のIssue対して、1つまたは複数のPrioritised Labels (優先付けのためのラベル)を割り当てることで、GitLab Issue Listsをフィルターすることができます。


180315_kato_02.png

スプリント:GitLab Milestones

スプリントは、ある仕事を終える期間の事を指し、これは一週間かもしれませんし、二週間、一ヶ月やそれ以上になる可能性もあります。プロダクトオーナーと開発チームが話し合って、スプリントのスコープを決めていきます。

GitLab Milestones機能では、スプリントのスタート日や期日を設定して、Milestoneの中にissueを配置していききます。

ポイントと見積もり:GitLab Weights

ユーザーストーリーの規模を表す単位をストーリーポイントと呼びますが、この規模の見積もりには絶対的な工数や時間ではなく、相対的な値を利用します。GitLabでは、IssueのWeight属性として入力します。

アジャイルボード:GitLab Issue Boards

スプリントの期間中にIssueはあらゆるステージへ変化していきます。例えば、"開発準備完了"、"開発中"、"QA中"、"レビュー中"、"完了" など"本番へリリーズ済み"へ移行する様々なステージです。

GitLab Issue Boardsは、GitLab Issue Listに似ていますが、個別リストの定義や、より柔軟にワークフロー視点でスプリントの状態を確認するのに適しています。


180315_kato_03.png

バーンダウンチャート:GitLab Burndown Charts

該当スプリントの終了までに全ての作業を消化できるかどうかをパット見で把握するために利用されるバーンダウンチャートは、リアルタイムに順調に進んでいるかどうかを確認しながら、湧き上がってくるリスクの見える化を行います。


180315_kato_04.png

最期に GitLabの製品体系と金額

GitLabはOSSとして無償で利用できるCE (Community Edition)を利用している方も多いかと思いますが、エンタープライズ向けの機能拡張と日本語サポートを付加した以下のエンタープライズ版もありますので、ご興味のある方はこちらからお問い合わせください。

  • GitLab Enterprise Edition Starter 9,000円 / ユーザー / 年※1
  • GitLab Enterprise Edition Premium 38,000円 / ユーザー / 年※1
  • GitLab Enterprise Edition Ultimate 詳細はお問い合わせください。

※1 税別価格となります。日本語の製品サポート費は含まれております。

参照

本記事は、以下GitLab社の以下ブログを意訳したものです。
https://about.gitlab.com/2018/03/05/gitlab-for-agile-software-development/

この記事の著者:加藤学

ソフトバンク コマース&サービス株式会社
テクニカルフェロー

エンタープライズ領域での開発から運用監視までの幅広い業務経験を活かし、事業開発やマーケティングチームと一緒になってビジネスの立ち上げを行っている。日本とアメリカ、特にシリコンバレーへ滞在し、新規プロダクトの発掘調査や国内外の新規パートナーリクルーティング、技術戦略、ポートフォリオの策定など、技術をバックグラウンドにしたさまざまな活動を行っている。最近では、DevOpsを始めとした開発者向けビジネスの立ち上げを行い、プロジェクトの責任者として慌ただしい日々を送っている。


DevOps Hubのアカウントをフォローして
更新情報を受け取る

  • Like on Feedly
    follow us in feedly

関連記事

このエントリーをはてなブックマークに追加

お問い合わせ

DevOpsに関することなら
お気軽にご相談ください。

Facebook、TwitterでDevOpsに関する
情報配信を行っています。