astahチームの開発を支える技術 – 開発の流れとツール利用の関係を整理する –

こんにちは。製品事業部の近藤です。今回はastahチームの開発プロセスを改善する開発ツールの使い方を整理することで、astahチームの開発をどう改善したのかを紹介します。1

前回はastah*チームの開発にHubotを取り入れたことを紹介しました。これにより、定時連絡など、プロジェクト運営で自動化したい細かな事はHubotにお願いできるようになりました。また、各サービスからチャットに情報を流す事で、Hubotを介したサービス間連携を実現できます。HubotはJavaScriptで拡張できるので、調整も簡単です。

では、なぜHubotを導入したのでしょうか?今回はHubotの導入理由や、どのサービスを連携させたら効果的なのか、分析した時のポイントを紹介します。

Hubot導入前の問題

Hubotを導入する前のAstahチームには、開発ツールの使い方をよく間違えてしまうメンバーがいました。GitHubやTrelloなど、開発が効率的になるツールをふりかえりで紹介し、導入してきました。もちろん、導入前にメンバーに使い方を説明するためのワークショップを開催しています。それでも間違った使い方がされる事がよくありました。使い方を間違っているよ、と指摘するのは指摘する側も指摘される側も気分悪いものです。そういった指摘を極力減らすため、元々自動化したいと考えていました。

そういったことを考えるため、現状どのように開発が進んでいるか、開発の流れと開発ツールの関係をモデル図にまとめました。

開発の流れとツール利用の関係整理

このモデル図は、下記の流れで書きました。

  1. 開発ツールの中で、開発の流れに組み込まれているツールを上げる
  2. それぞれのツールでどんなことをしているのか、アクションを上げる
  3. アクションの流れをまとめる
  4. アクションを上げる過程やその流れをまとめる過程で思い出した問題をコメントに書く
  5. それぞれの開発ツールの使い方を確認し、それぞれの役割をまとめる

ふりかえりにたたき台として持って行くため、1人で書きましたが、チームメンバー全員が参加して書くワークショップをしてもよかったかもしれません。

このアクティビティ図を元にふりかえりでどのように話し合いました。 すると、下記のように赤線の部分を自動化できないか?と言う話ができました。

開発の流れとツール利用の関係整理_Talked

どの辺りが変わったか比較するためのGIFも貼っておきますね。

開発ツール

その結果、下記の実装を行う事にしました。

  • TracのチケットをAcceptingにしたら、TrelloのWait Acceptingに作成するTracプラグインを実装する
  • GitHubのPR(Pull Request)に状態を示すラベルをつけているので、そのラベルをTrelloに反映させるようにHubotに実装する

後日、Tracのプラグインも同様にHubotに監視させる事で実現できる事に気が付きました。実装した後だったのが残念です。

サービス間連携の効果

サービス間連携を実現したことにより、当初の想定どおりチームメンバー間でツールの使い方を指摘しあうことを減らす事ができました。また、ツールの役割と作業の流れを図示したことで、自分たちの仕事の仕方もふりかえる事ができ、改善が必要なところを話し合う事ができました。

みなさんの現場でもぜひアクティビティ図を使って開発フローをまとめてみてください。


  1. 前回の終わりに「開発プロセスを紹介します」と書きました。そのため、「スプリント期間がどのくらいなのか」、「プロダクトバックログをどう使っているのか」、「カンバンボードに載せるカンバンはどのように決めるのか」等を読みたかった方もいらっしゃったかもしれません。申し訳ありませんが上記の内容については今回取り上げません。