プルリク数・デプロイ頻度をチーム目標に設定。DevOpsを推進するモリサワの開発生産性向上への取り組み
デジタルフォントの開発・販売・ライセンス事業を中心に展開する、国内トップシェアのフォントベンダー、株式会社モリサワ。エンジニア組織における個人の振り返りや組織の課題発見に、エンジニア組織支援クラウド「Findy Team+」を活用いただいています。
今回は、モリサワのフォント販売サービス開発に携わるマネージャーの川端さんと、テックリードの小室さんにインタビュー。1948年設立という歴史を持つモリサワにおけるDevOpsの推進や、「Findy Team+」の活用方法などについて、お話をうかがいました。
目次
DevOpsを推進するなか、開発生産性可視化の取り組みへ
――まず最初に、お二人のこれまでの簡単な経歴や現在の業務について教えてください。
川端:私は前職では、自社製品のWindowsアプリ開発や管理を行っていました。2018年にモリサワに入社してからは、外部委託している自社アプリ開発の管理をしています。
オフショアでの開発やiPad製品の新規開発に携わっていて、現在はマネージャーとして、戦略に基づいてマネジメントや組織活動を行ったり、リソースの管理をしたりしています。また、エンジニアの生産性を上げるために、開発プロジェクトを支援する役割も担っています。
小室:私は社歴が長く、2005年にモリサワへ入社しています。自社組版製品の開発から始まり、組込み機器や電子書籍、Webフォント開発などに携わったのち、現在はMorisawa Fontsというフォント販売サービスの開発に携わっています。ロールとしては、テックリードとして開発部門全体のテクニカルな面を見ています。
――現在、開発組織の規模はどれくらいですか?
川端:開発部門の社員は、50人強です。それに加えて、派遣や委託、オフショアの方々に協力いただきながら開発をしています。
――開発生産性の可視化に取り組み始めた背景について教えていただけますか?
小室:過去のモリサワでは協力会社が多い背景もあり、実際にどれくらいエンジニアが貢献しているか定量的に測れていない状況がありました。しかし、自社開発に切り替えてより早くサービスをリリースしていくためには、エンジニアの動きを見える状態にしていく必要がありました。
そうしたなか、コロナ禍に突入したことでテレワークになり、誰がどれくらい仕事をしたのかが、より見えにくくなりました。もちろん日報や朝会などは行っているのですが、実際にどれだけ手を動かして何をつくったのか、定量的に測らなければ評価も難しい。そういう状況になって、まずは何か指標をつくらなければと考えました。
そのとき、弊社ではちょうどDevOpsに取り組み始めていたんです。そこで、まずはしっかりとCI/CDを整備して品質を上げ、プルリクの数を増やしていけば、結果的にデプロイ回数が増えるのではないかという仮説を立て、プルリク数とデプロイ数をKPIとして設定しました。
――VPoEの方を迎えたタイミングから、内製開発への移行など、開発組織が大きく変化したと伺いました。
川端:2019年にVPoEを迎えて、そこからVPoEがリードする形で一気に開発組織の改革が進められました。
小室:VPoEの方が入って、しばらく状況を見られていたのですが、開発部門では協力会社を使っていたり、自社開発をしていてもスピード感がなかったり、といった問題点があったんですね。そうした課題を改善していくために、開発部門のMVV(MISSION・VISION・VALUE)を設定し、改革を進めていきました。
――お二方は、当初そうした改革の動きをどう受け止めていましたか?
川端:私は歓迎する気持ちで、良い方向に進むだろうと捉えていました。私は小室よりも社歴が短く、他社にいたときと比べて進め方のギャップを感じていた部分もあったので、そのあたりが変わっていくのかなという期待感がありましたね。
小室:モリサワは歴史が長い会社で、どちらかというとクローズドで協力会社も多い会社だったのですが、私自身は外に出て話したり自分でつくったりするのが好きでした。改革のおかげで堂々と社外登壇ができるようになったこともあり、大歓迎でしたね。モリサワでは、私のような外部で活動をしている人が少なかったこともあり、一緒に改革を進めようと相談してもらい、とても良い経験になりました。
MVV設定と同時期にOKR導入、生産性の目標を組み込む
――生産性可視化の取り組みを進めた当初、難しかったポイントはありましたか?
川端:もともと数字を見る習慣がなかったので、まずはそれを受け入れてもらうところですね。エンジニアの人であれば、数字が見えることには肯定的だと思うのですが、いろいろな考え方の人がいるなかで、部門として全員が同じ方向を向いて進めなければならないので、そういったところは気にしていました。
小室:会社に長くいる生え抜きの人もいるので、数字を追っていく文化を浸透させるのは大変だろうと思っていました。ただ、設定したMVVのなかで、バリューに「共創の精神」として心理的安全性を高めていくことや、「データドリブン」でみんなの頑張りをデータで示していくことが含まれていたので、あまり心配はしていなかったですね。
川端:生産性の可視化を始める前の段階で、MVVのバリューもそうですし、ビジョンでも「持続可能なエキスパート集団になろう」という意識づけができていたので、そういったところは良かった点かなと思います。
――MVVを設定される以前は、開発組織においてのミッションなど、何か設定されているものはありましたか?
小室:そういったものがない状況でした。会社全体として「文字を通じて社会に貢献する」という社是があるのですが、それに対して我々がどう行動すべきかという、行動指針やクレドがなかったんですね。
なので、行動指針をつくるプロジェクトが5~6年前に立ち上がり、「モリサワ八法」という行動指針ができました。その後、さらにそれを部門に落とし込んだものとして、MVVがつくられています。
――MVVを浸透させることに苦戦するケースも多いと思いますが、御社ではどういった工夫や取り組みをされましたか?
小室:先ほどのモリサワ八法という行動指針をつくったときに、つくるだけではなく、浸透させていく必要があると考えていました。そのため、各部門の朝会でそれに沿った行動の話をしたり、MBOの評価に組み込んでもらったり、あとはグッズを使って目にするようにしたり、といったことを始めていました。
また、MVVを設定したのと同時期に、OKRも導入しています。OKRを四半期ごとに振り返るときには、メンバー全員で必ずMVVを確認して、それに沿って進んでいくことを意識づけるようにしています。
――開発部門では、どのようなOKRを設定されていますか?
川端:トップには会社の方針があり、それを開発部門に落とし込んだものを設定していますが、そのなかのKRに開発生産性の目標を入れています。「Findy Team+」の数値を毎週振り返って、チーム単位で1週間の自身のプロダクトの数値がどうだったかを共有するというものです。
週初めの月曜日にチェックイン、週終わりの金曜日にウィンセッションという形でチームが集まるので、ウィンセッションでその週の数値を共有します。明確に立てている目標の一番小さな単位は月なのですが、その月単位での目標に対して、週ごとに達成状況などを振り返っています。
週と月とクォーター、3つのタイミングで数値を振り返る
――「Findy Team+」を導入いただいたのは、計測を始めようとされたタイミングでしたか?
小室:そうですね。導入しようとしたタイミングで、部門の理解を得ようとファインディさんのイベントに参加したのですが、そこで聞いた考え方が印象に残っています。プルリク数は、細かく切ればいくらでも水増しできるけれど、それでもいいからまずは増やすことが大事だと。そういうお話をされていたんですよね。
なので、部門に対しても、内容よりもやってみて慣れることが大事だから、ひとまず取り組んでみませんかと、そういうプレゼンをまずしてから「Findy Team+」を導入しました。
――「Findy Team+」を導入するかどうかを検討される際に、議論になったポイントはありましたか?
小室:弊社ではGitHubだけでなく、BacklogやBitbucketなど、いろいろなマネージドなリポジトリサービスを使って管理しています。そのため、「Findy Team+」ですべてが可視化できるわけではないという点は、気になっていました。
それと、導入前は値段を見て、「指標を測るためだけに、これを入れる価値があるだろうか」と考える部分もありました。でも、実際にはフォローアップの体制がすばらしくて、カスタマーサクセスの方が一緒に改善を考えてくださったりと、今はむしろこの値段でここまでフォローアップしてもらえるんだと、値段以上の価値を感じています。
ほかにも、担当者の方に「もう少しここを改善してほしい」とお願いをしたら、ひと月くらいで直してもらえたりとか。そういったコミュニケーションの取りやすさや対応のスピード感は、すごく助かっています。
――「Findy Team+」を導入されたタイミングでは、どのようなゴールを設定されていましたか?
川端:開発部門の改革を進めるうえで、ちゃんと数値として可視化されることで、明確な目標を立てられるようになります。ゴールとしては、その数値を上げていくこと、そしてDevOps文化を構築していくところかなと思います。
小室:プルリク数は計測しやすくても、レビューの負荷が誰にどれくらいかかっているかを計測しようとすると大変で、感覚でしかわからない状況でした。なので、レビューの数を可視化できるレビュー分析の機能が、自分の中で欲しかった決め手の1つですね。
――「Findy Team+」で見ている内容や、数値目標について教えてください。
川端:プルリク数、リードタイム、レビューを中心に見ています。導入後にDevOps指標も追加されましたが、プルリク数やリードタイムの方が、実際に自分たちの作業が数として積み上がっていることがわかりやすいので、今のところ主にそこを見ています。
小室:オープンからクローズまでを24時間以内にすることを目標に設定し、それを超えている場合は注視するようにしています。
川端:プルリク数は1日1プルリクを目標としていて、これはMorisawa Fontsチームでは、実現できるだろうと考えていました。ただ、社内には複数のプロダクトがあり、開発の仕方もさまざまです。委託開発しているチームもあるので、全チームが1日1プルリクを実現できるかというとなかなか難しく、チーム単位で目標の数値を変えています。
小室:先進的なパイロットチームもあれば、そうではないチームもありますから、ハレーションが起きないよう、目標を立てなければなりません。そうした場合は、チームの過去の数字を見て、それをもとに目標を立てるようにしています。
――目標を設定してPDCAをまわしていくにあたって、どのように運用されていますか?
川端:運用は主に3つのタイミングがあります。まず週単位が、先ほどお話したウィンセッション。ここで各チームごとに数値を共有しています。決まったメンバーが見るのではなく、持ち回りでみんなが「Findy Team+」を触るように進めています。
次が月単位で、月初に全チームの集計をしています。部門としてのKPIがあるので、全チームを合算する集計を行いつつ、各チームのリーダーが集まって前月の振り返りを行います。
最後はクォーター単位で、OKRの全体会というものを実施しています。全体会では全員が集まって、1クォーターの振り返りとしてOKRの成果発表を行いますが、そこでKPIの数値も確認します。こうして週と月とクォーターの単位で、数字に触れる運用をしています。
――開発生産性の可視化を通じて、チームやメンバーにはどういった変化がありましたか?
川端:まずは、やはり目標を設定したことで、それを達成しようという意識の向上を感じます。いくらデータドリブンでいこうとか、アジリティを上げていこうと言っていても、定量的に見えないとなかなか難しい。ルール化するだけでは努力目標になってしまうので、部門の目標に組み込んだことは良かったと思いますね。
レビューに関しても、数字として見えるようになって、意識が高まったと感じます。もともとレビューが特定のメンバーに偏っていたのですが、レビューしてくれるメンバーが増えて、実際にレビューの負荷が改善しました。
小室:レビューについては、レビュアーにみんなを入れるとレビューが早い人に負荷が偏ったり、特定の人にするとその人が見なければ進まなくなったりします。なので、チームに対してアサインして、チームの誰かがアプルーブしたら進められるようにしました。誰でも同じように見れるようにしつつ、レビューが偏らないように声掛けをしたりして、負荷を下げていきました。
開発部門以外も巻き込み、より早く価値を届けられる体制へ
――「Findy Team+」を使った取り組みを進めてきたなかで、今課題を感じているところがあれば教えてください。
川端:内製チームと違って、委託をしているチームでの運用には難しさがありますね。委託先の協力も必要ですし、委託先の内部の生産性までこちらが細かくチェックするのはなかなか難しいので、そのあたりにはハードルを感じます。
また、弊社では今いろいろなプロダクトで運用しようとしていますが、なかには保守がメインになっている製品もあります。保守なので、数値を上げていく必要はないと思うのですが、どのようにモチベーションを保つべきか、数値目標をどう設定すべきか、といったところは課題として感じています。
小室:外向けかつ大規模なチームでは、レビュアーやレビュイーの人数も多く、まわりに引っ張られて良いサイクルがまわりやすいと思います。ですが、なかには社内向けに、2人でやっているような小規模なチームもあります。
そういったチームでは、そもそものレベル感として良し悪しが判断しにくい。とはいえ、プルリク数やデプロイ数は見たいので、Gitフローに沿って進めてもらうようにお願いしています。そういった小規模チームでの運用は難しいなと感じますね。
――「Findy Team+」でMorisawa Fontsチームの数値を見させていただくと、オープンからマージまで24時間を切っていて、1人当たりのプルリク数もほとんどデイリー1件を達成し続けています。今後取り組みたいと考えていることはありますか? 川端:今はプルリク数、リードタイム、レビューにフォーカスして見ていますが、そこばかりを見てしまうのではないかという心配もあります。最終的には、もっとDevOps全体の数値をみんなで見ていけるように、浸透させていきたいと思っています。
それから、これまで私や小室を含め、チームリーダーが引っ張ってきたところがありますが、導入から1年近く経ったので、メンバーからも自発的な改善提案がどんどん出てくるようになったらいいなと。なので、メンバー層に任せていけるような仕組みもつくっていきたいと考えています。
小室:今我々が追いかけているのは、開発者のなかだけで上げやすい数字ですが、デプロイ頻度などの数字は、開発部門以外も巻き込まないと上げられない部分があります。最終的には、やはりお客様にいかに早く価値を届けられるかが大切なので、そういった改善までつなげていきたいですね。
当初は毎週製品をアップデートすること自体、「本当に良いことなの?」と思われる節がありました。ですが、昨今のサブスクリプションでは、次々に価値を届けるのが当たり前になっています。そういったことを会社全体で理解して、部門外にも協力者を増やし、より早くアップデートしていける体制をつくっていきたいと思っています。
――それでは最後に、組織のアピールポイントや一緒に働きたいエンジニア像があれば教えてください。
川端:実はモリサワのフォントは、みなさんの身近なところでたくさん使われていて、書籍・広告など印刷物の他にも、動画テロップ、Web媒体やゲーム・アプリなど、様々なコンテンツの文字に関して、国内で大きなシェアを誇っています。そしてさらに、もっと世界に向けてもモリサワのフォントを広めていこうとしています。もちろん生産性向上もその一環で、自らの手で自社サービスの成長を引っ張っていきたい、チャレンジしたいと考えている人にはうってつけの環境だと思いますし、そういう人たちがパフォーマンスを発揮しやすい組織作りを進めています。
小室:開発組織のValueには「共創の精神」と「データドリブン」、「楽活(如何に楽に開発するか)」を定めております。 「共創の精神」を持って心理的安全性の高い状態で相互理解し、必要に応じて手を動かして助け合えること。勘に頼るのではなく、ちゃんと「データドリブン」で仮説を立て、検証し、改善すること。CI/CDなどを整備して如何に「楽活」するかに価値を置くこと。これらに共感するエンジニアとともに「モノづくりと技術を楽しめる[持続可能]な[エキスパート集団]へ進化」を目指していければと思っております。
――川端さん、小室さん、ありがとうございました!
※モリサワでは、身近な「文字」を通じて新しいことにチャレンジしたいエンジニアを募集しています。 https://www.morisawa.co.jp/about/recruit/
※「Findy Team+」のサービス詳細は、以下よりご覧いただけます。 https://findy-team.io/service_introduction