はじめに
こんにちは、CTO室の渡邊 (@naoto_pq) です。
先日、Findy Team+ を導入している企業の中で、特に開発生産性が優れた企業として表彰いただきました。
昨年に続き2年連続の受賞となりますが、バイセルではこの1年でエンジニアの人数も増えたことから昨年は「Medium Division」でしたが、今年はエンジニア組織が100人以上の企業の「Large Division」部門で表彰いただきました。
この1年、開発生産性については自分が推進役として意識的に取り組んできました。今回はその過程や知見について紹介したいと思います。
これから開発生産性に取り組みはじめる方や、取り組むチームや個人の拡大に挑戦する方への知見になれば幸いです。
大きく分けて以下3つのフェーズを意識して取り組んだので、順を追って説明します。
- 初手: 特定チームの開発生産性を高める
- 浸透: 成功事例や知見を共有する
- 拡大: 開発生産性に取り組むチームを増やす
- はじめに
- 1.初手: 特定チームの開発生産性を高める
- 2.浸透: 成功事例や知見を共有する
- 3.拡大: 開発生産性に取り組むチームを増やす
- 現状の開発生産性
- 組織横断で開発生産性を推進する上で意識しているポイント
- 今後の取り組み
1.初手: 特定チームの開発生産性を高める
Findy Team+ はエンジニアの開発生産性を可視化する強力なツールですが、利用するチームや個人が主体的に使うことが成功の鍵となります。
バイセルには多くの開発チームがありますが、最初から全てのチームで取り組むのではなく、プロダクトのフェーズやチーム環境などを考慮した上で、特定のチームにフォーカスして取り組むことにしました。結果として新規プロダクトを開発中のチームで取り組むことになりました。
はじめの段階は自分もスクラムマスターとしてサポートをしました。開発生産性だけではなく、プロダクトマネジメントやチームビルディング、スキルアップ、技術面での取り組みなど、様々な点でチームのメンバーが自分達で課題に向き合って議論し、改善を繰り返すアジャイルなチームとなりました。
具体的な取り組みについては、ぜひ以下の記事をご覧ください。
Findy Team+ のメトリクスも高い水準で安定するようになりました。直近3ヶ月のスコアは以下の通りです。
2.浸透: 成功事例や知見を共有する
社内での成功事例を作りつつ、次のフェーズでは組織に浸透をさせるために意識的に知見の共有を進めました。ここでは具体的なアクション2つについて紹介します。
成功事例の共有ではテックブログ記事や登壇資料を社内slackで共有、Awardを受賞した件を採用デックに載せるなど、現時点では開発生産性にチームとして取り組んでいないメンバーにも興味を持ってもらい、理解してもらうことを意識しました。
知見の共有では、Findy Team+を活用する前に知っておくべき知識として、「リソース効率とフロー効率」や「開発生産性の概論」について社内勉強会で発表しました。
以下のアンケートのコメントからも、開発生産性に対する考え方を学んでもらえたようでした。
・他のチームとかにいたときは生産性を増やすためにパツパツにタスクを積まれていたが、余裕を持つことが返って大事なんだと分かった暇を作ると仕事していない感じがして、苦手だけどマインドを改めようと思った
・開発生産性とは?は潜在的に抱えてた疑問だったので認知できてよかったです
・生産性の発表について、自分のチームとしては、運用というフェーズの中でどう生産性を高めるべきなのか考えたいなと思いました。 他の取り組みは過去に共有して頂いたと思うので、改めて参考にします。
3.拡大: 開発生産性に取り組むチームを増やす
ここまでの取り組みによって、組織全体で開発生産性を知っているという人は増えてきましたが、本格的に取り組みをするには各チームでの具体的な目標と課題の設定が必要となります。
1つのチームずつ改善するのでは、事業成長や組織拡大のスピードに対して開発生産性の取り組みのスケーリングが間に合いません。一方で、このタイミングで全開発チームで取り組むには各チームでの課題解決をするための知識や経験がまだ不足していると考え、またそれらはチーム毎に応じて異なるため、随時改善するためのフィードバックサイクルをまわす体制がないと難しいと考えました。
今回は、ある1つの部の3チームにフォーカスすることでナレッジ共有やスケーリングが効率的に進むと考えました。それぞれのチームのリーダーやEMと隔週の頻度での開発生産性MTGを実施して、取り組みの進捗や、次のアプローチの壁打ちなどを実施して、フィードバックサイクルをまわしています。
チームによって目標はデプロイ頻度、リードタイムなど異なりますが、同じ部内のチームで一定のコンテキストが共有できているメンバーで進めているため、各チームでの課題解決を進めつつ、他チームの新たな取り組みについても積極的に導入してみるといったことが起きています。
また、今回の3チームはすでにリリースされているプロダクトの開発をしているため、問い合わせ対応やデプロイ体制、各種アップデート対応などの運用も見直しつつ改善を進めているのが特徴です。
一例として、あるチームで以前は問い合わせ対応のアサインが挙手性だったことにより、結果として対応数や知見に関してメンバーによる偏りがありましたが、週次の問い合わせ担当を決める運用を試すことで、属人性が減っていきました。
現状の開発生産性
開発生産性に取り組んでいるチームでのメトリクスは以下の通りです。
プルリク作成数が右肩上がり、オープンからマージまでの平均時間が短い水準になったのは一連の取り組みの成果が出たと考えています。
組織横断で開発生産性を推進する上で意識しているポイント
自分が組織の開発生産性の推進役として意識している点は、課題解決ができるチームを増やすということです。メトリクスは計測できる1つの指標ですが、その数値になっている要因はチームによって異なります。何がチームの課題なのか、それに対してどのような打ち手をとるべきなのか、メンバーが意思を持って主体的に解決しているチームを増やすということを意識しています。
今後の取り組み
チームのアウトプットという点での開発生産性においては社内外でナレッジを活用しながら、バイセルでも実践して向上させることができてきました。今後は引き続きバイセルでの開発生産性向上のスケーリングに取り組みつつ、バイセルだけではなく開発生産性をFindyを始めとしたコミュニティ、業界を盛り上げていくための積極的な情報発信を予定しています。
また、バイセルで一緒に組織作り、チーム作りを推進する仲間も募集しています。興味ある方はぜひ応募してください。 herp.careers