アジャイル開発と三種の神器

アジャイル開発において、三種の神器とよばれる3種類のツールがあります。アジャイル開発をするうえではかかせない存在です。

Contents

目的

ツールを導入することで無駄な時間を省き、コミュニケーションロスを無くし効率的な開発が行えるようにします。

三種の神器

それは下記3つのことを指します。

  • TBS/BTS(Issue Tracking System/Bug Tracking System)
  • SCM(Source Code Management)
  • CI(Continuous Integration)

TBS/BTS

Issue Tracking System:課題管理システム

Bug Tracking System:バグ追跡システム

代表されるツール

  • Redmine
  • Trac

SCM

Source Code Management:ソースコード管理

代表されるツール

  • Git
  • Subversion
  • Mercurial

CI

Continuous Integration:継続的インテグレーション

代表されるツール

  • Jenkins
  • Circle CI
  • Travis CI

今回はホスティングサービスを使わずRedmine、GitLab、Jenkinsを構築してみます。

さらに無料でも使えるチャットサービスslackをプラスします。

下記はイメージです。

ツールの役割

Redmine

Backlogs画面(バックログ)

  • ストーリカードを作成
  • ストーリーカードの優先順位を更新
  • スプリントを作成
  • スプリントの進捗を更新
  • ストーリーカードの優先順位が高いものからタスクカードを作成
  • ストーリーカードとタスクカードの関係は親子関係で形成される

TaskBoards画面(カンバン)

  • タスクの管理
  • ベロシティの設定
  • ベロシティの確認
  • バーンダウンチャートの確認
  • スプリント障害事項に表示させている項目の確認

備考

  • バージョンをスプリントとすることができる
  • リポジトリやソースの確認もリポジトリブラウザから可能

Git/GitLab

  • リポジトリの管理
  • マージリクエストが可能(Githubでいうところのプルリクエスト)
  • Redmineのチケット(ISSUE)と連携
  • コミットログやプロダクトバックログ項目(ストーリーやタスク)と連携
  • コミットを契機にJenkinsと連携して自動的にさまざまな処理が可能

Jenkins

  • 成果物の管理
  • 成果物のデプロイ
  • テスト/ビルド/デプロイの自動化
  • メールやSlackへJenkinsからテスト/ビルド/デプロイなどの結果通知が可能

注意

  • 目的では無く手段なので、何の為に行うのかを理解する
  • 手段に固執するのではなく、柔軟にカスタム、ローカライズすることでチームにあったアジャイル開発手法が出来上がる
  • プロダクトに必要が無いものは省き、必要があれば追加する

目的はビジネス価値の最大化である

まとめ

チームの自己組織化が重要

  • チームや自分自身が考え、その実現に向かって行動を起こすこと
  • スクラムチームのメンバー全員が対等
  • 誰の意見でもフラットに受け入れ、判断していくことが必要
  • やれることからチャレンジする
  • 最初から失敗せずに上手くいくことは無いので、try & error で経験をつむ
  • チームでの情報共有、意見の交換、全員が同じビジョンを持つ
  • プロダクト、チームにあったカスタマイズが重要
  • あくまでプロダクトを成功させる為の1つの手段である

スクラムガイドには習得は困難とあるが、自分達でスクラムをベースにプロダクトに合ったオリジナルフレームワークを作っていくことが成功の秘訣だと思います。

関連リンク

スクラム開発とDEVOPS
http://vistylee.com/agile-devops/

2件のコメント

  1. これほんとに管理できますか?
    仕組みを作りましたウェーイ、な目線じゃないでしょうか?

    1. 参考いただきありがとうございます。
      仕組みを作った後は、運用しながら改善をしていくことが重要になるかと思います。
      管理自体は可能ですが、仕組みそのものは手段ですので、プロジェクトにフィットさせていく必要は出てきますね。
      チームで目的を共有し、メンバーの認識を合わせたうえでローカライズを行うことが重要だと思います。(プロジェクトによって抱える問題や状況は様々となりますので)
      例えば、この仕組みで運用しながらスクラムであれば KPT で問題点をあぶり出し改善を行っていくなどです。
      注意やまとめの項目も参考にして頂ければ幸いです。

vistylee へ返信する コメントをキャンセル

メールアドレスが公開されることはありません。

CAPTCHA