ペアプログラミングがもたらした、ノウハウの共有や開発効率アップ
アプリ統括部における実際の開発作業は、基本的に2人1組のいわゆるペアプログラミングで行われる。「ペアプロエリア」という専用の場所に、ペアで作業しやすいよう、スタンディングデスクやディスプレイ、キーボードなど専用の機器が2台ずつ用意されている。ヤフーには開発拠点が大阪や名古屋などにもあり、リモートでペア作業を行うこともあるという。
「2人1組で作業するので、スキルの底上げや属人化を防げるメリットがあります。単一のサービス内だけで開発していると気が付けないことも、アプリ統括部で一緒に作業することで、いろいろなノウハウや気づきを得られる点も見逃せません。作業によっては黒帯の人とも組めるので、非常に効率よくスキルアップできます」
予想以上に、このペアプログラミングによる開発の効果は大きい。2人1組で同じ作業をするので一見効率が悪そうに見えるが、心配無用だと鎌倉氏は言う。
「たしかにテスト駆動で開発するので、テストを書く時間の分、実装時間は長くなります。しかし結合テストの時間が短くなるので、結果的にスケジュール通りに進むようになっています。また複数名で並列で開発するのではなく、1つずつタスクを消化するので、コンフリクトも起きにくくなります」
あるプロジェクトを例に見てみると、ペアプログラミングに移行してから、リリース数が過去と比較して約2倍に増加。一方、残業時間は約20%減少している。
また兼務なので、メンバーはアプリ統括部での活動は、別途時間を確保して行うことになる。ここでは「週2回はまとまった時間を取って、全社のために活動する」というルールを設けている。具体的には「2時間×週2回」として、1週間の約10%をあてている。
「問い合わせページ」の立ち上げや、アプリ提供で活性化をすすめる
アプリ統括部に参加している兼務のメンバーは、各自のサービス開発で出てきた課題を持ち寄り、ここで話し合って解決する。これは「主務だけでなく、兼務でやっているからこそ得られるメリット」だと鎌倉氏は強調する。
場合によっては部内だけで解決できない難題もある。その場合は、詳しい人を探す必要があるが、会社組織が巨大なので、誰に聞けばいいのかわからないことも珍しくない。
「そこで、社内ネット―ワーク内にアプリワーキンググループへの問い合わせ専用ページを設けました。困ったときはとりあえずここに聞けば、手がかりが得られるという環境を提供するのがねらいです」
社内のSlackなどで尋ねることもできるが、チャンネルの参加人数が多く、しかも1000~2000人単位のチャンネルに、いかにも初心者の質問等は気後れする。その点、この問い合わせページなら気楽に聞けるのがいい。問い合わせ内容はJIRAで管理しているので、流れてしまっても後から探すことができる。また相談内容は、技術に関することだけでなく、ビジネス系の話題でもアプリに関することなら何でも受け付けている。
また最近では、アプリの課題のフィードバックを活性化するために、数行の実装でアプリ内からフィードバックを投稿できる「AppFeedback SDK」を、アプリ統括部の兼務の時間で開発した。
「もともと社内で使われていた機能をベースにしたもので、アプリを使っていて気が付いた点を送ることや、バグを見つけてスクリーンショットを撮影し、Slackにアップロードすることが簡単にできます。リリース後はエンジニア以外の人たちからも、いろいろなフィードバックがもらえるようになりました」
まとめとして鎌倉氏は、今回の取り組みで得られた以下の3つのメリットを挙げる。
- 新しい知識を会社全体で共有しやすくなった。
- 調査コストを減らし、横連携によって新しい機能を実装可能になった。
- サービスが忙しくても、全社横断組織で助け合いながら開発できる企業組織になった。
最後に鎌倉氏は、トップダウンだけではなく横断的組織で一緒に開発・成長していくのが非常に重要である点を示唆。「もし今回の発表で参考になることがあれば、ぜひ皆さんの組織でも一度トライしてみてはいかがでしょう」と力強く呼びかけ、セッションを締めくくった。
お問い合わせ
Yahoo! JAPAN