事例紹介:ANAアプリ開発を振り返る

ウォーターフォール型開発からリーン・アジャイル式開発にシフトするまで

ここでは、Pivotal Labs が ANA システムズ株式会社様と共に、2016年9月から2017年6月にかけて ANA アプリを開発した当時の様子をインタビュー形式で振り返り、従来のウォーターフォール型開発からリーン・アジャイル型開発に切り替えるまでのチャレンジについてお伺いしました。Pivotal Labs について興味のある方は以下の記事もおすすめです 😆


話し手は左から:Satoshiさん(PM)、Misakiさん(Designer)、Takeshiさん(Dev)、Kentaさん(Dev)、Ryoさん(Dev)

ーー僕は2016年6月入社のためはじめは知らなかったのですが、Takeshiさんはプロジェクト開始前にトライアル期間として数ヶ月、Pivotal Labs と一緒に仕事をしていたと聞きました。

Takeshiさん:はい。僕はトライアルで、2ヶ月ぐらいここにいました。トライアルの時は D&F (注:ユーザーインタビューやユーザーテストを通じて問題発見→価値探求→問題解決までの一連の検証プロセスの総称 Discovery & Framing の略)をやっていなくて、いきなりコーディングでトライアルでアプリ作るみたいな感じだったんで。ぺアプロ(注:ペアプログラミング)はいいなという手応えはありつつ、開発をどんどん進めていました。当初は右も左も分からずにやっていましたことを覚えています。トライアルの時は XP 開発のみでした。

そしてトライアルが終わり、空白の7ヶ月があってからの9月スタートですよ。

ーートライアル期間中の第一印象はどうでした?

Takeshiさん:当時 Pivotal Labs Tokyo の立ち上げから関わっていたエンジニアが、やたら知識を持ってるなっていう印象は最初っからありました。凄かったです。知らない事を一杯知っていて、やたらコードを書くのも早くてびっくりしました。そんな感じでしたね、当時は。その印象は9月からプロジェクトがはじまった時もありました。

ーー9月からプロジェクトをご一緒したメンバーは…

Satoshiさん:私と Takeshi、そして Misaki さんですね。

ーープロジェクト開始時の印象はどうでした?

2017年に新しく生まれ変わった ANA アプリ(ios / Android)

Satoshiさん:まず、初日にキックオフがあって、その流れでシナリオをとことん書いたんですよね。もう何か初日からへとへとでした(笑)

Takeshiさん:覚えてます。次の日も朝からそれやってましたね。

Satoshiさん:初日からそんなんだったんで、頭がもうパニックでへとへとで、最後まで持つのかなっていうのが最初の印象でしたね。役割としては、そもそも決められたプロジェクトの期間の中に、ちゃんとモノを作ってリリースして、且つやり方を学んで持ち帰らなければいけないという2つの使命があったんです。でも初日からハードだったので、これは結構この先キツいな、と思いながら始まったのが最初の印象でしたね。

D&F は、最後にプロダクトの提供価値、バリュープロポジションみたいなの作る所までが一つの流れなんですけど、その一つのサイクルを一から最後まで進めるまでに、この後何が起きるんだろうって不思議に思いながら、ドンドン進んでいってましたね。最後にこう言う事だったのねっていうのが、最後に繋がるときに全容が見えたっていう感じだったんで、とにかく必死な思いでやってたっていうのが最初だったですね。開発に入る前は。

ーーMisakiさんはどうでしたか?

Misakiさん:はじめに Pivotal Labs のプロダクトデザイナーってどういうデザイナーなんだろう、って何にも分からないまま来ていました。ただ、やる事はユーザー中心の、ユーザーにとって価値のあるプロダクトを作ることに違いはありませんでした。そのユーザーにとって価値のあるプロダクトをつくるという考え方はもともとあったんですけど、それと Pivotal Labs でこれから学んでいくことが何が違ってくるんだろうなって思っていました。そして実際、ペルソナとかシナリオとかっていう言葉の捉え方が全然違くて、そこからリセットするところから大変でした。

ーーもともとペルソナやシナリオには馴染みがあったんですか?

Misakiさん:はい。元々あって、プロジェクトの開始前にペルソナの整理とかは少しチームでやって、そういうものがこの先出てくるであろうっていう事はちょっとお話はしてました。ただ、とりあえず元々の知識をリセットして、Pivotal Labs の捉え方や定義っていうのを一回受け入れるとこでかなり最初ギャップがあったな、っていう印象は当初ありました。これはこれ、それはそれっていう切り換えがありました。ここでやっているこの要素が、ゆくゆくは開発を始める前のプロダクトのバリュープロポジションになるみたいな所は少しずつやりながら理解し始めていました。ただ、これを ANA に持ち帰るっていった時に、この知識って私たちが持ち帰るのかと思って、何だか事の重大さにだんだん気付き始めて死に物狂いで色々勉強してた気がします。

Satoshiさん:ノート取りまくってましたもんね。

Misakiさん:めちゃくちゃもう(笑)あれはバイブルですね。

ーーここに来てからギャップがあったってお話がありましたけど、どのようなギャップを主に感じてました?

Misakiさん:やはりウォーターフォールの脳でいたので、一通り作ってその中の主要の基盤から作るやり方に慣れていました。ですけど、Pivotal Labs に来て、Pivotal Labs での生活だったり、リーンスタートアップやXP開発の概念を始めてここで知って、凄い衝撃を受けたというか、そんな風にプロダクトが作れるのかっていう…そんなバカなと思って。

Takeshiさん:そんなバカな(笑)

Misakiさん:思ったんですけど、実際に半信半疑だったんですよ。とはいえとはいえみたいな。実際にエンジニアが、D&F でやってる時に横でこれから開発するプロダクトの基盤というか、ベースを作っていてその様子を見たら、え、もう?ってなってちょっと焦りもありました。

ーーTakeshiさんはその時の様子を覚えていますか?

Takeshiさん:確か技術検証だったかな。一ヶ月くらいは、既存のコードのテスト追加とリファクタリングを行いました。このプロジェクトでは iOS と Android の両方を開発していて iOS が少なくとも一ヶ月ぐらい先進んでたんですね。なので後にジョインする Ryo と Kenta が来る頃には基盤はもう出来上がっていました。

最初の頃はでも D&F に関わる割り合いが多くて、結構半分ぐらいだった気がします。一日の時間の七割ぐらい D&F に参加していたかな。それ以外はそれこそ API の調査などをしていた気がします。ユーザーインタビューは全部は参加してないけれども、他のは全部行っています。

Misakiさん:そうですよね。

Takeshiさん:デザインスタジオとかも参加しているし、アイディアとか機能の優先順位をチームで決める時とかも全部参加しているので。

ーーD&F に参加してどう思いました?

Takeshiさん:いわゆるウォーターフォールとやり方が全然違っていました。凄い違う事にちょっとびっくりしながらも、この進め方で本当にモノを作れるのかなみたいな感じでした。疑問というか、ここからどうやって開発に繋がるんだろう、というのを不思議に思いながら一個一個理解しながら進めていました。

Misakiさん:Takeshi さんはシナリオの優先度を決めるところから入っていましたよね。ユーザーシナリオのどれが一番このプロダクトにとって重要そうか、っていうのを整理していましたよね。各シナリオごとに番号を割り振って、重要そうなシナリオから仮説を出していた気がします。それがインタビューの元になっていました。なので最初のインタビューは 2x2 を使って右上にある優先度が高いシナリオから検証を進めていきました。これがめちゃくちゃ良かった。

Satoshiさん:良く覚えてらっしゃる(笑)

Misakiさん:一生忘れないですね。

優先度を決める 2x2 のフレームワーク。写真は縦軸にビジネス価値、横軸に実現可能性を設定してユーザー課題をマッピング。

Satoshiさん:僕の場合は、2x2(写真を参照) って結構衝撃的でした。例えば、左下のやつは優先度が低いからもう1回捨てちゃうっていう考え方が。今までの僕達の仕事のやり方って、とにかく広く色んな考えをすくわなきゃみたいな考えで、色々やっていたんですね。やはり、すべてを一度でできないという前提のもと、今何を最低限やらなければならないのかっていう所にフォーカスするっていうのは、頭の中では分かってても、本当にそれだけでいいのかなっていう葛藤は当初ありました。それでも、やりながら、実感していったっていう感じですね。結局アイディアを出すダンプ・アンド・ソートもそうで、書いたもののいらないアイディアを破って捨てても、本当に大事なものは、後からもし必要だったら出てくる。これは捨てられないなっていうのが結構あるんだけど、もういいやって最後の方慣れて来ましたね(笑)これは今までに無かった概念というか考え方なんで。そうしていく事によって、価値のあるものとか、本当に今必要な物っていうのが作られていくんだろうなっていうのは、全体を通して最後で理解しました。

Misakiさん:毎日一緒にオフィスで生活しているからこそ出来るなっていう事はいっぱいありました。大事なものは必要であればまた出てくる、というような「また」がちゃんと担保されてるから、捨てる勇気が持てました。これが、週に一回しか集まらないミーティングだと、今日しか集まれないから、あれも決めてこれも決めて、次いつ集まるか分かんないからこれも一応ちょっと取っとこうってなっちゃうんです。こうやって毎日顔を合わせて、 小分けにしてやるから、その中で優先順位を決められるんだなって思いました。同じ空間に一緒にいるって良いなと思いましたし、次に必要なものは次にやればいいみたいな割り切りがあるからこそ、本当にいま必要なことに取り組めた気がします。

ーーウォーターフォールと何か違うってお話がさっきありましたけど、どういう所でそう思いました?

Takeshiさん:そもそも僕は、ユーザーの要件が決まっていて、元々、それに対してどう設計してどんなコードを書くかみたいな事やってたんで、そもそもどういうものを作るべきかみたいなのを一緒に考えるとか、ボク初めてだったんで、そこからエンジニアとして関われるというのは凄く嬉しかったですね。そういう事をやった事無かったですし。開発の立場にいるけれど、そういう場にも自分も立てるんだというのが大きかったです。

Misakiさん:そこの意味でいうと、アイディアが出た時点で実現可能性の観点で優先順位をエンジニアと一緒に決められることが凄い良かったです。 普段、デザイナーっていかに飛躍させるかみたいな仕事が多くて、そこにあんまり地に足着いてる感が無くて、凄い空回りして結局、身にならない事が多いんです。確実に必要そうで、且つ作れるものからっていう、その意見をちゃんとエンジニアから貰えたのは凄い、決めがいがあるっていうか、気持ち良かったです。なんかスっと、これよみたいな。

ーーKenta さんと Ryo さんがプロジェクトに入ったのはいつ頃でしたか?

Ryoさん:2016年10月ですね。

Kentaさん:僕はちょっと遅れて2016年11月ぐらいでした。

Satoshiさん:D&F がもう終わった頃か?

Misakiさん:終わって、本格的な開発を始める前のインセプション(注:開発前のキックオフの位置付けで、D&F の成果をステークホルダーや途中から参加するエンジニア向けに共有する会)からでしたよね、確か。

ーー第一印象はどうでした?

Ryoさん:第一印象は、凄い綺麗なオフィスだなって思いました(笑)あと、実はその日は夜勤明けでインセプションに参加したんで、とても眠かったんです(笑)僕は英語がそんなに得意じゃないんですが、都度、通訳とかもしてくれて、都度、質問ありますか?とか聞いてくれて、凄い親切な所だなあと思っていました。そんな感じで一日がすぐ終わったことを覚えていますね。次の日から普通に、トラッカーのユーザーストーリーをもとに開発を進めました。毎日、替わりばんこでペアを組みつつ、一か月半ぐらいはそもそも Swift とか全く触った事なかったんで、かつ英語も時々使うことがあったので最初は正直辛かったです。

開発中の様子。左が Satoshiさん、右が Takeshiさん。

ただ、一ヶ月半経って、書き方とかも分かってきた辺りから、やっと、このやり方を学ぶっていう余裕が出できました。たまにデザインスタジオにも参加させてもらい、凄い楽しかったです。でも、エンジニアがデザインを考えるって、何かすごいぶっ飛んでいるなっていうのが、最初にデザインスタジオをやった記憶です。自分の思った様に、好きな様に書いて、別にダメ出しされる訳でもないんで、自由にやれて、自分のアイデアが制限なく出せるっていうのは凄い嬉しかったですね。僕、元々デザインとかに興味もあったので。

Kentaさん:そうなんですか?

Ryoさん:はい。凄い楽しかったです。最初の一ヶ月半は少し辛かったですが、その後は最高でしたね。

Kentaさん:僕も Ryo と同じ気持ちでしたね。今新しく入ってきた人にここで学んだことを教えているんですけど、最初の一ヶ月、二ヶ月ぐらいは、僕と同じ気持ちだと思うんで、僕が期待した通りに出来なくても、僕もこんな感じだったから大丈夫だって言える気持ちて、やっていますね。二ヶ月以上経ってから、ムチを入れるようにしています。

Takeshiさん: Kenta 先生怖いな(笑)

Misakiさん:ムチを入れてるんだ。

Ryoさん:僕はしかも新人研修明けて最初に来たのがここだったんで…。

Misakiさん:そうだ!本社を知らない。

Ryoさん:ウォーターフォールを知らない、ペアプロ以外のプログラミングは研修などで学んだ事がなかったんです。

Misakiさん:染めやすい。

Takeshiさん:他を知らない。 それで今日に至るんですよね?

Ryoさん:ずっとこのチームでいるんで、まだウォーターフォールの余計な所とか知りません。

Takeshiさん:最高じゃないですか(笑)

Ryoさん:あと印象的だったのはやっぱりデザインスタジオでした。新人研修中にずっと、自分の作りたいものを作れるのは研修中だけだからって言われてきたので。

Satoshiさん:間違ってんな。

Ryoさん:ホントそうなんですよ。自分が今後コードを書いて、何かモノを作る時は、自分の意思は入ってない、上から降りてきたものを作るんだっていう気持ちで挑んだら、いきなり一緒にデザインを考えてみようみたいな事を言われて考えて、実際にユーザーインタビューでユーザーがそのアイディアを触っているのを見れる機会がありました。あ、自分がちょっと考えたアイディアが出てるって思って、それを実際にコーディングで作ったりするとやっぱ楽しいなって。自分でアイデアを出して、自分で機能を作り込んでっていうのは、やりがいがもの凄くて。逆に、会社に戻った時にどうなっちゃうんだろうな、とか他のプロジェクトは出来ないかもなって思いました。もうウォーターフォールに帰れない、って思っていました。

デザインスタジオの様子。プロダクトマネージャー、プロダクトデザイナー、エンジニア全員が参加します。

ーーここにいる間はエンジニア同士で必ずペアして開発をしていますが、戻られてからも続けているんですか?

Takeshiさん:メンバーの出入りなどはありましたけど、新しい人と組んで教えながら、ちゃんとコーディング、ペアプロしてますね。

ーー戻った後もやってみてどうですか?

Takeshiさん:最初はやっぱきついですよね。多分、何を書けばいいかも分からないし、ペアして意思疎通というのは最初は凄く難しいですね。自分が考えてる事が、口に出しながらコードを書いていくのって、なかなか最初は凄く難しいと思いますけど、戻ってから2ヶ月ぐらい経ってくると、だんだんそれが出来る様になってきているという印象を僕は持ってますね。

Satoshiさん:なので、ここからが勝負だと思っています。


インタビューにご協力いただいた ANA のみなさま、ありがとうございました!僕も今回、プロダクトマネージャーとして非常に多くを学ぶことができました。また、気軽にオフィスに遊びにきてください👍


ANA アプリについて

ANAアプリは、航空券の予約・購入からスムーズな搭乗までをサポートするANA公式アプリとして iPhone/Android に提供しています。2014年に予約機能を中心としたアプリとしてサービスを開始し、2017年にスムーズな搭乗までをサポートするアプリとして生まれ変わりました。ANAマイレージクラブ会員でご予約をお持ちのお客様であれば、手持ちのスマホから予約情報をダッシュボード形式で簡単に確認することができ、運航情報の通知や保安検査場までの締切時間をタイムリーに連携しています。

また、マイレージ関連機能とも連携しており、日常の生活をサポートする機能として充実したサービスを提供しています。ダウロードはこちら


Pivotal Labs では、定期的にワークショップ型イベントを開いたり、ブログでプロダクト開発やチームビルディングなどについて紹介していきます。

イベントの最新情報:
Meetupグループに参加すると、いち早く案内が届きます😎📩

公式ブログ:
Product Runも是非フォローお願いしますっ🙌🏻🗒