- 株式会社ジャストシステム
- CPS事業部 開発部
- 福嶋 航
横断組織「技術内閣」とは?8人の大臣が進める、ジャストシステムの技術組織作り
〜創業37年のIT企業が、技術力強化のために取り入れた「技術内閣制度」。技術レベル向上への取り組みや、情報共有の仕組みまで、その全貌を公開〜
事業が順調に成長し、組織が拡大していくと、組織構造に歪みが出てくるタイミングが必ずくる。
ワープロソフト「一太郎」や日本語入力システム「ATOK」をはじめ、タブレット通信教育「スマイルゼミ」などの新規サービスの展開が増えてきている株式会社ジャストシステムもまた、いくつもの事業が成長しているがゆえの「技術の横連携ができていない」という問題を抱えていた。
いくつもの事業を抱える組織が陥りがちなその問題を、同社は技術内閣「Tech CABINET(テックキャビネット)」を発足することで解決した。技術分野ごとに、8人の大臣を指名し、全社的な取り組みを促進する制度だ。
今回は、データベース大臣の増田 和弘さんと、サーバーシステム大臣の福嶋 航さんに、「技術レベルの向上」や「情報共有」を始めとする、Tech CABINETの取り組みについて、詳しく伺った。
技術の横連携を強化するため「内閣」を発足
増田 弊社は1979年に創業した会社で、ワープロソフトの「一太郎」や、日本語入力システム「ATOK」といったプロダクトを手掛けています。また、そこで培った技術力を活かし、タブレットで学ぶ小中学生向け通信教育「スマイルゼミ」やさまざまなネッ
トサービス、法人向けシステムなども手掛けています。
▼ジャストシステム 増田さん
事業は個人向けだけでなく、民間企業、メディアや病院、自治体といった法人向けまで、幅広く展開しています。そうして事業が多様になると、事業ごとに使う技術もバラバラになり、組織は縦割りになっていきます。そのような環境の中で、どう全社的に横連携をして、技術力を上げていくのかが課題になっていました。
福嶋 その課題を解決するために、2015年に「Tech Factory」という中堅と若手からなるワーキンググループを立ち上げ、現場の課題を解決する取り組みを始めました。「Qiita:Team(キータチーム)」や「Slack(スラック)」を入れて情報共有の基盤を作ったり、社内勉強会の開催などを進めていきました。
▼ジャストシステム 福嶋さん
そして、2015年の12月には、それをさらに発展させて、技術内閣制度「Tech CABINET(テックキャビネット)」をスタートしました。
専門領域の違う8人の大臣が、5つの課題に挑む
増田 Tech CABINETでは、技術分野ごとに8人の「大臣」を置いています。データベース、サーバーシステム、インフラ、セキュリティ、グロースハック、AI、Webフロントエンド、そして開発環境の8つです。
そして、各大臣には5つの役割があります。本業である「技術課題の解決」に加え、「実力の向上」、「社内の情報共有」、「採用支援活動」、そして「人材戦略」です。
この5つの軸から、それぞれの大臣が自分で施策を決めて、推進しています。
▼大臣の集合写真
私はその大臣の中で、「データベース大臣」を務めています。「技術課題の解決」で言うと、例えば弊社のほとんどのプロダクトで使っているPostgreSQLの垂直分割や、水平分割などに取り組んでいます。
福嶋 私は「サーバーシステム大臣」です。技術課題のところで言うと、立ち上げ時期のプロダクトのシステム構成をレビューしたり、アドバイスをしていますね。
大臣の活動は、隔週で行われる「閣議」の場で共有しています。技術的な課題だけでなく、OSS活動をどう進めていくか、社外に弊社の活動を発信していくためにどのイベントに協賛、登壇していこうかといった話がされていますね。
読書会、読影会、読コード会など多彩な取り組み
増田 「実力の向上」という点でも、いろいろな取り組みをしています。以前は、週1から隔週ペースで読書会をしていました。「PostgreSQL Internals」という、日本ヒューレット・パッカードの方が書いた技術文章を読んだり、「SQLアンチパターン」を取り上げたりしました。
「PostgreSQL Internals」の方は、かなりマニアックだったので、3、4人くらいしか参加しなかったのですが(笑)。「SQLアンチパターン」のときは、監訳の和田さんも遊びに来てくれて、15人ほどが参加していましたね。
他にも、「読影会」という取り組みもしています。病院でレントゲンを見ながら、怪しい影を探して症例を議論し合うことを読影会と言うんですが、それをデータベースに関して実施しています。
▼読影会の様子
いろいろなサービスのstatsを見て、「これ危なくない?」「このピークは、このクエリが足を引っ張っている気がする」と、潜在課題を見つける取り組みです。目の前でグラフを見ながら進めるので、隠せないんですよ。これは非常に良い取り組みでしたね。
福嶋 私は、「実力向上」の部分で言うと、先日GitHubで「Java 100本ノック」というものを公開しました。これを、新卒や新しく入ってきたメンバー用の問題集として使っています。他にも、「読コード会」という、JavaのCore SDKを1行ずつ読んでいくような取り組みもしています。
▼GitHubで公開されている「Java 100本ノック」
情報共有を強化することで、メンバーも積極的に
増田 「情報共有」の取り組みでは、基本的に「Qiita:Team(キータチーム)」を活用しています。
「SQLアンチパターン」を真似して、設計やテストに関する自作のアンチパターンを作ってQiita:Teamにまとめています。今では、「お、それ〇〇パターンじゃない?」という風に、共通言語になっていますね。
▼Qiita:Teamを活用した情報共有も
横の連携を強化するためには、あるプロジェクトでつまずいた事を、他のプロジェクトで同じようにつまずかないように、共有していくことが大事ですね。
福嶋 私の方では、読コード会で気付いたことをまとめたりしています。
また、大臣が投稿するだけでなく、他のメンバーにも投稿を促すようにしています。例えば、レビューやミーティングの場で出てきた発見を、「これってQiitaネタじゃない?後で投稿しておいて」と振っていますね。
以前から、Redmineを使って情報共有をしている部署もありましたが、全社で取り組むことで、だいぶ雰囲気が変わりました。例えば、勉強会への参加報告を書くと、若手のメンバーも「自分もそういうイベントに参加していいんだ」と思えるようになります。
他にも、情報共有の文化が広まることで、「AWSだけでなくGoogle Cloudも使ってみよう」とか、「Chainerを試してみよう」というように、新しい技術にチャレンジする動きも出てきています。
若手の成長を支えることも、大臣の仕事
福嶋 「採用支援活動」の観点では、弊社主催の勉強会「JustTechTalk」を、2、3ヶ月に1度開催しています。他にも、外部のカンファレンスに登壇することもあります。
自分が参加するだけでなく、若手自らがそういったイベントに参加できるような環境を整えることも重要です。何人かに狙いをつけて、「ちょっと何かやってみない?」と声をかけ、勉強会を立ち上げるまでをフォローしたりしています。
増田 「人材戦略」の動きとしては、例えば各プロジェクトのデータベースに詳しいキーマンが誰なのか、把握しておくことが重要です。
その人をレビューができるようになるよう育てたり、他にもどういう人を育てなければならないのか、議論しながら進めています。
大臣という「役割」を付けることで、動きは変わる
増田 大臣に任命されるまでは、会社全体を見るような動きは特にしていませんでした。アンチパターンの話と同じで、「大臣」という名前を付けることで共通認識ができて、動きが変わってきたんだと思います。
新規プロジェクトの立ち上げのときにも、「一度大臣に設計を見てもらおうか」という話が自然と出るので、名前を付けるのは大事だなと思います。
福嶋 現在、大臣は本業と兼任しながら「20%ルール」のような形で取り組んでいます。
以前は、年上だし他の事業部なので、気を使って直接聞きに来ることが難しいという人も多かったんです。ですが、一部の時間を大臣としての仕事をするということを明確にすることで、「質問しても良い」という雰囲気が生まれましたね。
個人的にも、「全社をもっと効率化していくためにはどうしたらいいのか」という風に考えるようになり、視野が広がりました。
問題にも向き合いながら、「内閣」を続けていく
増田 しばらく技術内閣制度を運用してみて、難しい部分も出てきています。
ソフトウェア開発で設計と実装がスパッと分かれることは無いのと同じで、会社でも技術面と管理面ってスパッと分けられないんですよね。技術課題だけを見るのではなく、管理面と一体になって取り組まないといけない話題も増えてきていて。
今後は、プロダクトマネージャーのワーキンググループを作ることも検討中で、横連携をさらに強化していこうと考えています。
福嶋 大臣がいろいろなプロジェクトにでかけてレビューするのは良いのですが、そうするとスケジュールがレビューで埋まることがリアルに起きているので(笑)。
今後は、自分がレビューをするだけでなく、レビューをできる人を育てながら、この取り組みを続けていきたいです。(了)