こんにちは、生産性向上チームです。今回は、私たち「生産性向上チーム」について紹介いたします。
生産性向上チームとは
生産性向上チームは主に、次のような業務を行っています。
- チームを横断した開発効率を高める基盤の整備
- 開発チームの業務の自動化や効率化の支援
- 最新の生産性向上に関わる技術のキャッチアップ、探求
などなど、一言でいうと「サイボウズのエンジニアがつらいと思っている部分を最高にしていく」ために活動しているチームです!
メンバー
生産性向上チームのメンバー数は現在5名です。そのうち3名は他のチームと兼務しており、そのつながりを活かして業務に取り組んでいます。
各メンバーについて、簡単に紹介いたします。
宮田
- Twitter: @miyajan
- 出身:東京
- 得意なこと、好きなこと
- CI/CD とか自動化系全般が好きです
- 入社:2009/04
- ひとこと
- 最近は GitHub Actions にハマってます
- 拠点:東京
- 登壇資料一覧
五十嵐
- Twitter: @ganta0087
- 出身: 神奈川県
- 得意なこと、好きなこと
- ソフトウェア設計、リファクタリングが得意です
- CIや開発環境をスマートに整えるのが好きです
- ドットファイルをいじり始めると止まりません
- 何よりコードを書くのが好きです
- 入社した年月: 2019/02
- ひとこと
- オカメインコはかわいい🐤🐤
- 拠点: 東京(WFHメイン)
- 登壇資料一覧
小山
- Twitter: @akihisa1210
- 出身: 島根県
- 得意なこと、好きなこと:
- ソフトウェアの品質にかかわる活動
- 自動化(特に、環境構築の自動化)
- 入社した年月: 2016/4
- ひとこと
- Go 言語とラテン語を勉強中です📕
- 拠点: 東京(WFHメイン)
- 登壇資料一覧
川畑
- Twitter: @n1wat0n
- 出身: 千葉県
- 得意なこと、好きなこと:
- 業務を自動化するのが好きです
- 最近はDatadogのダッシュボードのカスタマイズが楽しいです
- 入社した年月: 2017/4
- ひとこと
- 身体の19%軽量化に成功
- 拠点: 東京(WFHメイン)
- 登壇資料一覧
平木場
- Twitter: @shitimi_613
- 出身: 鹿児島県姶良市
- 得意なこと、好きなこと
- CI/CDパイプライン、Dockerfileをいじったり
- 最近はAWSでシステムを構築してるのが楽しい
- とにかくみんなの生産性をあげたい
- 入社した年月: 2020/04
- ひとこと
- スーツ👔と辛麺🍜とドライブ🚗が好きです
- 拠点: 東京
- 登壇資料一覧
生産性向上チーム誕生の経緯
生産性向上チームは2015年に誕生しました。
サイボウズではそれまで、各プロダクトチームで改善活動(デプロイパイプラインの構築や自動テスト)を行っていました。改善の仕組みはうまく回っていたのですが、開発チームで活動が閉じてしまっており、チーム横断の開発基盤を整える必要性を感じていました。
例えば、当時は複数の開発チームが一つのJenkinsを共同で利用しており、各チームが自由にそのJenkinsを変更していました。このため、あるチームが新しいプラグインをインストールすると、他のチームのCI実行が失敗するようになってしまうという問題が起きていました。また、厳密に管理している人がいなかったためバックアップも存在しておらず、Jenkinsが稼働しているマシンに何か問題が生じると、二度と復旧できなくなるリスクを抱えていました。
また、あるチームで培った改善のノウハウが他のチームに共有される機会がなかったため、自動テストをCI上でどんどん実行できているチームがある一方、他のチームではテストの自動化がまったく進まないという状況が発生していました。
開発基盤や改善の取り組みはプロダクトの進化につながり、お客様に価値を提供していくためには重要です。しかし、そこに時間を割けている人はいませんでした。そういった問題意識から、@miyajanが新たに生産性向上チームを立ち上げるに至りました。
立ち上げから4年間は1人チームとして各プロダクトが抱える問題をヒアリングし、解決してきました。そんな中、@ganta0087の入社に続き、Garoonをもっとよくしていきたいという思いを持ったGaroon開発チームの @akihisa1210と@n1wat0nが兼務という形で参加したことにより、より多くの問題に対して取り組めるようになりました。さらに、今年の6月には新卒の@shitimi_613が専任メンバーとして加わり、5名体制となりました。
生産性向上チームの活動内容
ここからは、生産性向上チームが普段どのような活動をしているのかを紹介します。
日々の業務サイクル
探求タイム [毎日]
午前中に、個人で自由に探求する時間を設けています。特にテーマに縛りを設けず、知見を広げることによって、よりよい方法で問題解決ができるようにすることがねらいです。各メンバーが取り組んでいる内容はkintoneのスレッド上で共有するようにしています。
デイリーミーティング [毎日]
昼前に、前日に行ったタスク、今日行うタスクを簡単に共有し、各メンバーのスケジュールを確認します。兼務メンバーが多く予定が不定なため、モブプロの時間はこのデイリーミーティングで予定を入れ、作業可能な時間を把握するようにしています。
モブプログラミング [毎日]
モブプログラミングとは、複数人で同じ画面を見てプログラミングを行うことです。ドライバーと呼ばれる人が操作をし、ナビゲーターと呼ばれる人がドライバーに指示を与えます。
生産性向上チームでは、タスクをモブプログラミングで進めます。作業が完了するとその場でPull Requestを出し、CIによるテスト通過後に、生産性向上チームで判断できる場合はマージまで行います。
また、チームメンバーの働く場所がそれぞれ異なるため、コミュニケーションロスが無いように、各自の席でウェブ会議ツール(Zoom)の画面共有機能を利用してモブプログラミングしています。25分作業→5分休憩→ドライバー交代を繰り返します。
Productivity Weekly [毎週]
毎週水曜日に生産性向上に関する記事や、GitHub、AWS、CircleCIなどの更新情報などを見ていく会です。参加メンバーは自由なので、さまざまなチームの人たちでワイワイやっています。事前にみんなが気になった情報をkintone上に共有し、生産性向上チームが持ち回りで進行を行います。ここで得た知見はTwitterの#cybozu_productivity_weeklyハッシュタグで発信しています。
ふりかえり&プランニング [毎週]
毎週金曜日に、その週のふりかえりと翌週のプランニングを実施しています。対応したタスクを振り返ったり、KPTで気づきを共有したり、チームの今後について話し合ったりしています。
もくもく会 [毎月]
毎月最終月曜日に、他チームともくもく会の時間を設けています。もくもく会とは、普段の業務から一歩離れて技術を探求したり、業務の延長で自由に改善活動を行ったりする会です。最後は全員で何をやったか共有します。
その他のタスク
開発チームの支援活動
開発チームから相談を受け、知見を共有したり、実装を手伝ったりします。
具体的な支援内容に興味のある方はこちらをご覧ください。 youtu.be
開発基盤の構築・運用
生産性向上チームでは、さまざまな開発基盤の構築・運用を行っています。主に次のようなものがあります。
CircleCI Serverの管理
サイボウズではクラウド版とオンプレ版のCircleCIを利用しています。 オンプレ版であるCircleCI Serverのメンテナンスを生産性向上チームで行っています。
AWSアカウントの管理
社員が利用するAWSアカウントの管理を行っています。また、マルチアカウント構成によるシングルサインオンとチームに委譲できる権限管理のしくみを開発・運用しています。詳しくは以下の記事をご覧ください。 blog.cybozu.io
リリース管理システムの開発・運用
各プロダクトのリリースを管理するシステムの開発・運用を行っています。
勉強会への参加・登壇
勉強会への参加・登壇も業務として扱います。登壇資料の作成なども業務中に行い、チームでレビューします。
We're hiring!
生産性を上げることが好きな方をお待ちしております!Zoomでのコミュニケーションがメインなので、働く場所は関係ありません!どこでも歓迎です!