見出し画像

ちょっと珍しい開発手法を採用しているのは、顧客の要望に応え続けられるよう開発スピードを維持したいから


パーソルイノベーションでは、常にいくつもの新規事業が並走しています。そのなかで少し異色の開発スタイルを採用しているのが、シフト管理サービス『Sync Up』チームです。

採用している開発手法はエクストリームプログラミング。アジャイル開発の1つですが、プロダクトマネージャーを務める伊藤 竜之介(いとう りゅうのすけ)曰く「実際の開発で採用しているチームは少ないのではないか」とのこと。

それでもこの手法を採用する理由は何なのか。『Sync Up』の開発経緯と共に聞きました。

※所属部署・役職は2021年3月時点のものです。
※当記事はオンラインインタビューを元に作成しています。

伊藤 竜之介
2003年4月に株式会社東芝に新卒入社。入社から一貫してwebサービス開発に携わる。そのほかに英国ケンブリッジでの共同研究や米国現法の事業支援なども担当。2017年6月にインテリジェンスに入社、イノベーションラボの『Sync Up』チームに参加。2019年4月、パーソルイノベーションに異動。現在は『Sync Up』のプロダクトマネージャーを務めている。

求める環境があり、事業へ共感できたので入社を決意

画像1

――まずパーソルに入社した経緯を教えてください。

前職の東芝では、顧客と共同でMVP(Minimum Viable Product)を創り上げていくスタジオでプロダクトマネージャーを担当していたのですが、次第に「自分でサービスを作りたい」という気持ちが強くなってきて。

「顧客価値を重視して開発させてくれる会社はないかな」と探していたら、エージェント経由でパーソルイノベーションの取締役執行役員 岩田さんとゼネラルマネジャー 竹下さんと出会ったんです。

話を聞くと、当時2人に紹介されたインテリジェンスのイノベーションラボは、自分が思い描く開発をさせてくれそうな場所だとわかりました。加えて事業の方向性と、竹下さんの『Sync Up』に対する想いに強く共感し、この人たちと一緒に仕事をしたいと思い入社を決めたのです。

――『Sync Up』に対する想いとは何でしょう?

「まじめに働いている人が不利益を被らない」ということです。

パートやアルバイトは雇用が不安定だったり成長の機会が少なかったりすることを、竹下さんは問題視していました。そうではなく同じゴールへ向いて業務に取り組み一緒に成長していく必要不可欠なメンバーであるべきだ、と。私はその価値観に共感しました。

『Sync Up』は仮説検証を通して姿を変えていった

画像2

――伊藤さんは入社当時から『Sync Up』のプロジェクトに携わっているんですよね?

というより『Sync Up』の開発のために入社したと言った方が正しいかもしれません。

『Sync Up』は新規事業起案プログラム「0 to 1」(現:イノベーション体質強化プログラム「Drit」)に採択されたところから始まった事業です。

当時、竹下さんは「実際にどのようにサービスを実現し検証していこうか」と悩んでいました。お話する中で、具体的なシステムを形づくるプロダクトマネージャーとして力を発揮できるだろうと思ったのは自然な流れでした。

――どのように『Sync Up』の開発を進めてきましたか?

顧客やチームから上がってきた「こういう機能がほしい・作りたい」に対して、1個1個の機能をストーリーという小さな単位に分解し、実装する優先順位をつけ、そのストーリーを開発メンバーに説明して実装してもらいます。その後、実装されたストーリーを確認しOKか否かのジャッジしていく形です。

この流れをひたすらくり返して開発してきました。

『Sync Up』は2017年10月にベータ版を公開し、デリバリーをメインに展開する飲食店に試験的に利用していただきました。その後、改善をくり返し2018年1月に正式リリースしています。

当初、実は今のようなシフト管理のサービスではなく、ヘルプの応募・管理のサービスでした。

つまりスタート地点は「利用者が働きたいと思った時に、空いているシフトを見てその場で応募できる」サービスだったのです。しかし半年ほど運用していくうちに、自店以外のお店に行くのは勇気が必要で、なかなか人が動かないことが分かってきて。

理由を深掘ると、シフト管理に課題が多いことが見えてきました。そのため、シフト管理機能を追加搭載したんです。そうやって徐々に拡充していくうちに、今のシフト管理がメインのサービスになっていきました。

――はじめから今のサービスではなく、徐々に形を変えていったのですね。

そうです。サービスって世に出して、利用者に使ってもらって初めて分かることがたくさんあるんですよね。仮説を検証しながら開発スピードを落とさずに本当に必要な機能を追加していくことが、結果的に顧客の支持に繋がっていくのだと考えています。

そしてこの「スピードを落とさない」を実現できている大きな要因こそが、私たちが取り組んでいるエクストリームプログラミングなのです。


エクストリームプログラミングを採用している理由

――エクストリームプログラミングとは何ですか?

アジャイル開発の手法の1つで、エクストリームと名がついているように“極端”と言われることもある手法です。

アジャイル開発手法では「こうすると開発がうまくいく」というプラクティス(ノウハウ)があり、手法によって採用するプラクティスが異なります。

エクストリームプログラミングでは、顧客要望に対して柔軟に対応できるようペアプログラミングやテスト駆動開発、持続可能なペースなど採用しなければならないプラクティスが定められているんです。

――何だか堅苦しそうな印象を受けますが、なぜ『Sync Up』の開発にこの手法を取り入れたのですか?

確かに開発によっては合わない手法だと思います。けれども厳格である故に、長く開発を続けていくサービスに適していると思っています。

自社サービスを新規で始めるとき、“作ったら終わり”ではなく“ずっと改善を繰り返していく”と思います。しかしその間、市場の変化や顧客のフィードバック、チームメンバーの入れ替わりなどさまざまな要因によって開発は影響を受けるものです。

例えるなら、サービス開発はマラソンです。寄せられ続ける要望や外的要因に対し、途中でリタイアすることなく開発し続ける必要があります。これは経験上、相当チャレンジングなことなんですよ。

それに対応しながら開発を続けていくには、維持可能な仕組みを持った手法が必要。そういう意味でエクストリームプログラミングのプラクティスは持続的な開発に適していると考えています。

――なぜエクストリームプログラミングを採用すると開発スピードを維持できるのでしょうか?

経験上、維持できる要因は大きく2つあると思っています。1つはテスト駆動開発(TDD)で、まずテストコードであるべき結果を先に書いてから本体コードを書きます。テストコードと本体コードが対で作られていくため、これまで積み重ねてきた機能が意図通りに機能しているか、テストコードを動かすことで自動で確認できます。

これを機能を増やすたびに行っているため、既存の機能を壊してしまってもどこで壊れたかCI(Continuous Integration)ですぐに分かります。一気に作ってテストする進め方だと、作り込んでしまった後にミスに気づいて手戻りが大きかったり、原因を探すのに時間がかかったりしてスピードが落ちがちですが、TDDだとすぐに気づいて修正できるのでスピードが落ちません。

もう1つはペアプログラミング。2人単位で開発を進めていくため、個人のスキルがチームに伝播するのが特徴的です。

開発メンバーはネイティブアプリやサーバーサイド、フロントエンドなどそれぞれ強みを持っています。しかし毎日ペアを変えて開発に取り組むことで、それぞれが得意な分野以外のコードも書けるようになり、メンバーのスキルも向上していきます。このことが開発スピードを落とさないことに繋がっていると実感しています。

また個人的に、ペアプログラミングは1人でコードを書くより効率がいいと感じています。1人で進めていると思い悩んだり調べたりと時間がかかるところを、ペアプログラミングならパートナーに聞いてすぐ解決できるためです。

Sync Upのエンジニアは全員フルリモートで開発を行っていますが、だからといってコミュニケーションに問題を感じたことはなく、これにもペアプログラミングが良い効果をもたらしていると思っています。

――ペアプログラミングのペアを毎日変えることにはどのような理由がありますか?

後から引き継ぎなどする必要がなく常にコードレビューを行っているようなものだからです。例えばしばらく時間が経ってから何を変更したかを言語化して伝えるのは結構大変だったり、たった1週間でも自分の知らないことが増えたりしてしまいます。

1日単位なら、今のコードがどうなっているかはすぐキャッチアップできますし、誰も触れないコードがない状態で作り続けられるんです。

事業に共感し、顧客の想いに寄り添える人と働きたい

画像3

――伊藤さんはどのような方に『Sync Up』開発の仲間になってもらいたいですか?

一番重要視しているのは事業への共感です。ものを作りたいからコードを書くのではなく、顧客の要望を実現したいからコードを書く人であってほしいと考えています。

顧客に使ってもらって初めてサービスとして成り立つので「顧客はなぜこの機能がほしいのだろうか」まで考えて実装する人と一緒にサービスを発展させたいですね。

またペアプログラミングを採用しているので、1人で黙々と集中するタイプより「これどうやって実装するの?」「こっちの書き方がいいんじゃない?」など、コミュニケーションをとりながら進めるのが好きな人の方が向いているのかなとは思います。

一定のペースで走り続け、柔軟に前進したい

――『Sync Up』チームの今後の目標を教えてください。

とにかくベロシティ(速度)を維持することを指標にして顧客に価値を提供し続けていきたいです。先ほどもマラソンに例えましたが、一時的に速く走ってもその後にペースダウンしてしまうと当然ライバルに抜かれてしまいます。競争環境で生き残っていくためには、常に改善し続けトップ集団にいなければなりません。

一方でベロシティの変動は開発メンバーの負荷も大きくなるので、一定のペースで開発し続けることがチームとして良い健康状態だと考えています。キープするのが1番大事、且つ、大変ですね。

――伊藤さんご自身として、今後の展望はありますか?

引き続き開発をきちんと続けていくことが一番重要ですが、仮説検証専門のチームをパーソルイノベーションの中で作れたら面白いですね。

私は仮説検証が好きなんですよ。こういう機能が必要だろうと仮説を立てて作り、リリースして検証し、また仮説を立てる……というサイクルをずっと回すことを得意としています。それを組織として実現できる環境を作れたら興味深いですね。

今のチームがそれに近いと思うのですが、前職のようにいろいろな人たちと組みながらサービスを作っていくこともそのうちできたらいいなと。とはいえ、固まったイメージがあるわけではありません。1年後には状況が変わって別のものを必要とされる可能性もあるので、大まかな方向性を持ちつつ柔軟に前進し続けていきたいですね。

====
パーソルイノベーションでは一緒に働く仲間を募集しています。少しでも興味をお持ちの方は、ぜひこちらからエントリーください!
https://hrmos.co/pages/persol-innovation/jobs

====
パーソルイノベーション タレントブランディング室では、Twitter・Facebookをはじめました。サービスの情報をはじめ、採用情報などを配信していますので、ぜひフォローいただけると嬉しいです。
Twitter:@saiyo_pino
Facebook:https://www.facebook.com/PERSOLINNOVATION.HR
====

この記事が参加している募集

オープン社内報

みんなにも読んでほしいですか?

オススメした記事はフォロワーのタイムラインに表示されます!