gilotを用いて社内のリポジトリの状態を可視化してみた
広木 大地さんの「開発チームの生産性・健全性を客観的に知るためにリポジトリ履歴から機械的に可視化するツールを作った」という記事を読んで、社内のリポジトリの状態を可視化してみたら面白かったのでnoteにしてみた。
tl;dr
gilotを用いて可視化してみたら、不確実性の高さによってプロダクトの開発の仕方が違うことがわかった。プロダクトのフェーズ・性質にあった開発をするのが重要だよねという話。
gilotによる開発チームの状態の可視化
gilotは、gitのlogから開発チームの状態を可視化するために作られたツールである。詳しい使い方やグラフの見方は「開発チームの生産性・健全性を客観的に知るためにリポジトリ履歴から機械的に可視化するツールを作った」を読んでいただければと思う。
gilotを弊社の2つのプロダクトで使ってみた。それぞれはゆるいマイクロサービスで構成されており、合計15のリポジトリの合計値である。
VIDEO BRAIN
VIDEO BRAIN Analytics
可視化してみた結果わかったこと
上記の図にあるように2つのプロダクトで全く違った結果が見られた。
「プロダクト開発における技術優位性の考え方とアーキテクチャ」でも書いたように、不確実性の高いファーストペンギン的なプロダクトでは、捨てる勇気というのが重要である。
捨てるときの開発フロー
なにかを大きく捨てるときというのはある程度、最初の設計は属人的に勢いを持って書いていったほうが効率的かつシンプルに良い設計ができると思っている。
まずは、極めて少人数で一気に屋台骨を作り、それによってできた骨格に一気にメンバーを巻き込んで属人性をなくしつつチームに展開してチーム開発ができるようにする。これをいかに短期間で行えるかと言うのが重要である。
例えばこれがその捨てた後の開発の1リポジトリを抜き出したものだが、最初は1人、途中から2人になって全体の設計をしたあとにメンバーを増やしていっている。
VIDEO BRAINとVIDEO BRAIN Analyticsのプロダクト性質
弊社では、「VIDEO BRAIN」という誰でも簡単に動画を作ることができるプロダクトと、「VIDEO BRAIN Analytics」という作った動画のSNSにおける効果分析を提供できるプロダクトという大きく2つのラインアップを主軸に開発をしている。
この2つの大きな違いは、VIDEO BRAINは概念自体が新しくプロダクトの仕様は不確実性が高い、一方でVIDEO BRAIN AnalyticsはSNS配信の効果分析と仕様は(VIDEO BRAINと比べて)不確実性が低い。
不確実性の高いプロダクトに関しては、前に書いた記事のようにできるだけ捨てることができるようにすることが重要である。重要にするにあたってのアーキテクチャは下記の記事を見てほしい。
プロダクトの性質とフェーズにあった開発を選ぶことが重要
捨てる勇気は重要ではあるが、それはプロダクトの性質やフェーズに大きく依存する。何もかもリファクタリングだ!と息巻くのではなく、しっかりとプロダクトの性質にあった開発のフローを取るのが重要だと思います。
最後に
THE 宣伝ですが、真面目な話とご飯の話を混ぜながらnoteを更新してくので良かったらフォローしてください。
Twitterもぜひ! https://twitter.com/hisatake
この記事が気に入ったらサポートをしてみませんか?