゜フトりェアの「アゞリティ」ず「品質」をトレヌドオフにしない、プロダクト開発の理想型Tably及川卓也×Autify è¿‘柀良

゜フトりェア開発においおも重芁なキヌワヌドずなっおいる「アゞリティ」。激しい垂堎倉化ぞの察応力、機敏性を意味する蚀葉だ。あらゆる産業で゜フトりェアを䞻䜓ずしたビゞネスぞずシフトするなか、その「アゞリティ」ず「クオリティ」をどう䞡立するか。そのためのプロダクト開発の理想型ずは Tably及川卓也氏 Ã— Autify è¿‘柀良氏の特別察談をお届けする。

゜フトりェアの「アゞリティ」ず「品質」をトレヌドオフにしない、プロダクト開発の理想型Tably及川卓也×Autify è¿‘柀良

プロフィヌル
▌及川卓也写真巊

倧孊卒業埌、倖資系コンピュヌタヌ䌁業に就職。゜フトりェアの研究開発に埓事する。その埌、倖資系IT䌁業にお、プロダクトマネヌゞャヌや゚ンゞニアリングマネヌゞャヌずしお勀務の埌、スタヌトアップを経お、独立。2019幎1月、テクノロゞヌにより䌁業や瀟䌚の倉革を支揎するTably株匏䌚瀟を蚭立。著曞『゜フトりェア・ファヌストあらゆるビゞネスを䞀倉させる最匷戊略』日経BP、『プロダクトマネゞメントのすべお 事業戊略・IT開発・UXデザむン・マヌケティングからチヌム・組織運営たで』翔泳瀟

▌近柀良写真右
日本、シンガポヌル、サンフランシスコにお、10幎以䞊、゜フトりェア開発に埓事。DeNAにおOSSのゲヌムフレヌムワヌク、党米No.1ずなった゜ヌシャルゲヌムの開発に携わり、シンガポヌルのVikiに入瀟。プロダクト゚ンゞニアずしお補品開発をリヌド。その埌、サンフランシスコぞ移䜏、珟地スタヌトアップに初期メンバヌずしお参画。2016幎に退瀟し、Autify, Incを米囜にお創業。2019幎1月米囜トップアクセラレヌタヌAlchemist Acceleratorを日本人で初めお卒業しおいる。

0 1

アゞリティがなければ、もはや勝負にならない。

゜フトりェア開発の珟堎でも重芁なキヌワヌドずなっおいる「アゞリティ」。激しい垂堎倉化に察応する力、機敏性を意味する。䞀方でアゞリティを远求すればするほど、それたで基準ずしおきたクオリティの維持も難しくなっおいく。このゞレンマをいかに解消しおいくか。察談は「アゞリティ」に察するそれぞれの捉え方からスタヌトした。

及川
近柀さんは日本でも海倖でも゜フトりェア゚ンゞニアずしお働かれおきた経隓をお持ちですが、そもそも「アゞリティ」に぀いおは、どのような捉え方をしおいたすか

近柀
たずビゞネスの文脈での「アゞリティ」でいうず、本圓にここ10幎、20幎ほどで垂堎の倉化がどんどん激しくなっおいたすよね。わかりやすいずころで、iPhoneが登堎し、新たな垂堎も立ち䞊がり、䞖界をリヌドするテック䌁業がどんどん誕生した。

倉曎ができ、環境倉化にも匷い゜フトりェアを䞻䜓ずするビゞネスが増え、ドラスティックな進化を遂げおいお。そう考えるずアゞリティがなければ、もはや勝負にならないわけですよね。圓然、゜フトりェアにもアゞリティが求められる。日本の倧䌁業でも、倚くの人がアゞリティが持おおいないこずに危機感を抱いおいる珟状だず思いたす。

及川
日本䌁業でいうず、ほんの数幎前たで海倖のテック䌁業に察しお「圌らず我々は違う」ず線匕きする颚朮もありたしたが、もはやビゞネスにおいお身近な脅嚁になっおいたすよね。

たた、近柀さんが「DX」や「IT」ではなく、「゜フトりェア」ず蚀われたのも重芁だず思っおいお。「通信技術」ず「゜フトりェア」の進化は、あらゆる産業が倧きな倉化をもたらしおいお。

なぜ、海倖のテック䌁業がここたで成功したのか。もちろんさたざたな芁因はありたすが、アゞリティ、ベロシティを最も重芁芖しおきた。぀たり、提䟛するサヌビス、゜フトりェアにおいお、アップデヌトがかけられる前提で「確実に倉化し続けおきたこず」が、倧きな成功の芁因だったのではないかず思っおいたす。

近柀
先日、トペタが「゜フトりェアファヌスト」を掲げおいお、それこそ及川さんが出された著曞ず同じキヌワヌドですよね。ハヌドりェア領域でもその重芁性に぀いお盛んに議論されおいお。自動車でいえば、゜フトりェアを頻繁にアップデヌトしおいくテスラも象城的ですよね。

ミニりォヌタヌフォヌル化する、アゞャむル開発の眠

アゞリティの高さが、優䜍性ずなる時代。゜フトりェア開発における方法論ずしお「アゞャむル開発」には陥りがちな眠があるずいう。

及川
いかにアゞリティを高めおいくか、ここは非垞に重芁なわけですが、もしかするず「アゞャむル開発をすれば、アゞリティが確保できる」ずいった勘違いが生たれおいるケヌスもあるず感じおいお。このあたり、どう思われたすか

近柀
誀解のレベルはさたざたあるかなず思うのですが、圓然、アゞャむルの方法論だけでは、開発は早くはならないわけですよね。どこたでのクオリティを担保するか。そのためのテストをどうするか、そこにた぀わる芁件定矩、意思決定を誰がやるのか。そもそもベンダヌ䟝存䜓質になっおいたら、内補開発ぞのシフトが必芁だったりもしお。本来は考えるこずがたくさんあるのかなず思いたす。

及川
倧䌁業でもアゞャむル開発の「認知」は䞊がっおいお、取り入れやすくはなったず思うのですが、ベストプラクティス的なプロセスが「儀匏」化しおしたうケヌスは倚いですよね。そしお起こる問題が、本来の目的から離れお「アゞリティ」ず「クオリティ」をトレヌドオフで考えおしたうこず。

芁するに「アゞャむル開発によっおアゞリティは高たったが、クオリティを䞋げおリリヌスする」のか、もしくは「品質基準を倉えないたた、アゞャむルの方法論にだけ囚われお突き進む」のか、この二者択䞀で考えおしたう。

クオリティを䞋げればいいずは党く思わないのですが、本圓の意味での「必芁なクオリティ」を確保するためにはやるべきこずがある。

もずもず、補造業、通信事業、蚭備産業など、日本の䞻力産業においお「品質」は重芖されおきたしたし、実際、ずおも重芁なものでした。ただ、あらゆる産業が「サヌビス」を提䟛するサヌビサヌにシフトしおいるなかで、いわゆる「圢あるモノにおける品質」ず、「サヌビスにおける品質」は、定矩を倉えないずいけない。ここを同じ定矩でやっおしたうず「手戻りできない、倉曎ができないもの」が前提になっおしたう。

近柀
そうですね。手戻りさせるのが、アゞャむルのいいずころでもありたすよね。たずアゞリティずクオリティにおける「トレヌドオフ」の考え方、そのものを倉えないずいけないず思いたす。ここは䞡立ができるもの。

前提ずしお完党にバグがない状態で゜フトりェアを出すこずは理論䞊䞍可胜に近い。䞀定のラむンで諊めなきゃいけない。その前提に立ち、どこを絶察に守るのか、どこたで蚱容するのか。定矩ずバランス、党おをセットで考えおいくこずが理想だず思いたす。

及川
ただ、実際にどう動かすのかが、すごく難しい。「クオリティ」は絶察的な尺床だず思われがちですが、じ぀は事業のステヌゞ、ナヌザヌによっお求められるものが異なり、盞察的に倉化したう。それがわからないたただず、品質基準だけが独り歩きしおしたう。

するず、衚面䞊はアゞャむルでも、りォヌタヌフォヌル的に现かくステヌゞゲヌトを蚭け、品質を確認しながら突き進み、砎綻しおしたいたす。

近柀
アゞャむルがミニりォヌタヌフォヌル化するパタヌンですよね。単に期間を现かく区切っただけで、結局はチェックリストそのものは芋盎せおいない。そのリストに沿ったテストに膚倧な時間を費やしおしたう。そうならないために、いわゆるシフトラむトなアプロヌチも考えおいくべきだず思いたす。

及川
この「䞀郚はリリヌスしおからテストする」ずいう考え方は、日本だず少し前たでずんでもない話だったんですよね。「お客さんを䜕だず思っおいるんだ」ず。確かにその通りなのですが、むしろ“サヌビスずしお䟡倀あるものが提䟛できおいるかずいう意味での品質の刀断を自瀟だけで党お行なえる”ず考えるほうが傲慢だず蚀える時代になっおしたった。実際に䜿えるものか、ある意味、お客様にも確認しおもらいながら巻き蟌んで開発しおいく。それが本圓の意味で「顧客のこずを考える」に぀ながっおいくずも思いたす。

高たる、E2E End to Endテストの重芁性

「アゞリティ」ず「クオリティ」をトレヌドオフで考えるのではなく、䞡立を目指しおいく。その時に課題ずなるのが、どうしおも劎働集玄的になっおしたうテストの工皋だ。いかにこの課題を解決しおいくか―。

及川
『Autify』の話に぀なげるわけではないですが、アゞリティずクオリティを䞡立しおいこうず考えるず「テスト自動化」は避けお通れないテヌマですよね。

近柀
そうですね。もう前提ずしお考えなければいけないものだず思いたす。たずえば、Netflixでいえば、1日に1,000回、デプロむしおいるず蚀われおいお。自動化を前提にしないずたずできたせん。

圓然、アゞリティだけがビゞネスの競争力を高めるわけではないですが、テストは自動化でき、劎働集玄から脱华できる領域。なので、やるべきですし、本来はプロゞェクトの途䞭ではなく、立ち䞊げる時から考えなければいけないテヌマだず思いたす。

及川
もう「䜕床もリリヌスしたしょう」ずいうのは「事業の仮説怜蚌を玠早く回したしょう」に等しいのでしょうね。ビゞネスのアゞリティを远求するず、自ずず開発のアゞリティが必然的に出おくる、ずいう話でもありたすね。

近柀
SaaSが台頭しおきお、するずSaaSのお客様のなかには「ロヌドマップが共有されおいお、アップデヌトが頻繁にあるから契玄を決めた」ずいう方もいる。品質を保蚌し぀぀、継続的にアップデヌトがかかるこずに䟡倀が生たれ、ナヌザヌに遞ばれおいくのだず思いたす。

及川
少しテストの話に戻るのですが、改めお、゜フトりェアにおけるテストに぀いお党䜓像ず、自動化が進んでいる領域など解説をお願いしおもいいでしょうか。

近柀
たず゜フトりェア開発のテスト領域は倧たかにUnitテスト、Integrationテスト、E2E End to Endテストの3぀から構成されおいるずいっおいいず思いたす。

2

こういったピラミッド型で衚珟されるこずが倚く、図ではよりわかりやすいように、E2E End to Endテストのなかでも、自動化しおいる「Automated E2E」ず、手動で行う「Manual E2E」に分けおいたす。

このピラミッドの䞋にあるテストほど「量ずしお倚く揃えたしょう」ずいうのが、業界党䜓の共通認識にあるず思いたす。

Unitテスト、Integrationテストは、いわゆるホワむトボックステスト。コヌドがどう構成されおいるかがわかる、゚ンゞニアがメむンで曞くテストです。

そしお、ピラミッドの䞊にあるE2E End to Endテストは、いわゆるブラックボックステストず呌ばれ、コヌドや䞭身がわからなくおも曞けるテストです。わかりやすいずころでは、ナヌザヌが実際に觊っお動くか、UIが絡むテストなどを指したす。

ホワむトボックステストに぀いおは、曞いお圓たり前ずいった䟡倀芳が日本でも浞透しおおり、自動化が進んでいるず思いたす。ここはTDDTest-Driven Developmenttdd的なアプロヌチで盎したり、゚ンゞニアの責務で行うこずがほずんどかず思いたす。

E2E End to Endテストに関しおは、手動でやるのも、自動でやるのも、すごくコストがかかるずころ。『Autify』はここの課題を解決しようずしおいたす。

そもそも、E2E End to Endテストは、コストがかかるので「可胜な限り枛らしおいくもの」ずしおピラミッドの䞊にあり、領域も小さい。ですが、本圓にナヌザヌが恩恵を受けられるか、怜蚌のためには最も重芁なテストでもありたす。このコストを䞋げられれば、ピラミッド型そのものを芋盎しおもいいず考えおいたす。

及川
あえお極端に蚀うず、E2E End to Endテストを充実させれば、カバレッゞが高くなかったずしおも、ホワむトボックステストで担保すべき品質もカバヌができるず

近柀
それでいうず代替するわけではないので、䞡立は必芁だず考えおいたす。ですが、今たでE2E End to Endテストに費やしおいたコストを枛らすこずができれば、Unitテストなども改善しやすくなる。「ピラミッド型」が、もっず「四角型」に近づくむメヌゞかなず思いたす。

もうひず぀、逆にいわゆるアンチパタヌンずしお「アむスクリヌムコヌン型」になっおいるケヌスも倚いず思いたす。

3

Unitテストが無さすぎお、E2E End to Endテストでカバヌするしかない。じ぀は倚くの䌁業で芋受けられるケヌスなのですが、いきなりピラミッド型にするのは難しい。それであれば、1番䞊にある「Manual E2E」をたずは自動化し、埐々に䞋っおいくなかで改善しおいくのはどうかず私たちは提案をしおいたす。

E2E End to Endテストのコストが䞋がれば、ピラミッド型である必芁はないですし、カバレッゞが高く担保できれば、お客様に䟡倀が届けられおいる蚌明になるず思いたす。

及川
Unitテスト、Integrationテストでいえば、Webでも、スマヌトフォンでも、100%ではないですが、ほが自分たちでコントロヌルできる領域でもありたすよね。ですが、E2E End to Endテストになるず、ただただブラりザは耇数あるし、OSも耇数あり、自分たちではアンコントロヌラブル。にも関わらず、いろいろな䞍具合に察凊しなきゃいけない。ここもE2E End to Endテストを充実させなきゃいけない理由の䞀぀ですよね。顧客からすれば、問題は問題なので、どこで起こるかは関係がないわけで。

近柀
そうなんですよね。それこそ、SaaS間の連携が前提になるず、自瀟コヌドだけ参照するホワむトボックステストではサヌビス党䜓の品質の担保が難しくなるため、E2E End to Endテストで品質を担保しおいく必芁がありたすよね。もはや自分たちで党おの゜フトりェアを぀くる時代ではないので、今埌さらに顕圚化しおくる課題だず思いたす。

組織ずしお「テスト自動化」を戊略に組み蟌めるか

E2E End to Endテストの重芁性が高たるなか、いかにテスト自動化を組織ずしお戊略に組み蟌めるか。そもそもどういった組織のパタヌンがあるのか。話は展開されおいった。

近柀
たずアメリカのトップテック䌁業でいえば、テスト自動化専門の゚ンゞニア、たずえば、SDETSoftware Development Engineer in Testず呌ばれるような人たちがいるケヌスがありたす。圌らは仕様を決めるずころから入り、開発ず同時にテストの自動化コヌドも曞いおいく。スクラムでいうDefinition of Done完了の定矩のなかに自動化コヌドが党お入っおいる状態にする。ここはコストがかかる郚分でもあるので、トップテック䌁業が頑匵っおるずころだず思いたす。これができれば理想だずは思いたす。

ただ、倚くの䌁業はSDETを採甚するような採甚力はないので、E2E End to Endテストも含め、開発゚ンゞニアが自動化コヌドを曞くケヌスが倚い。そのなかでもQAチヌムがあったり、なかったり、さたざただず思いたす。

たた、りォヌタヌフォヌルからアゞャむルが䞻流になるなか、QAチヌムの圹割も倉わっおきたように思いたす。埓来のQAチヌムは「品質における最埌の砊」でしたよね。もし品質に問題があったらQAチヌムの責任ですが、䜜るのは開発チヌムなので、敵察する構造がよくあっお笑
ですが、アゞャむルでリリヌスサむクルを早めおいくずなるず、QAチヌムを「最埌の砊」にするこずは無理がある。そうなるず、QAチヌムは「品質のあり方を決め、道筋を決めおいく圹割」ぞずシフトしおいる気がしたす。

及川
先ほど、理想型ずしおアメリカのトップテック䌁業がSDETを採甚し ずいうお話がありたした。採甚力もそうですが、仮にコヌドが曞ける゚ンゞニアがいお、雇う偎はテストよりプロダクトコヌドを曞かせたいですし、゚ンゞニア自身もテストよりプロダクトコヌドを曞きたい人のほうが倚く、党䜓的にもニッチで。特に日本でぱンゞニアは奪い合いが起こっおいる。そういったなかで、いわゆるロヌコヌド、ノヌコヌド的なずころを掻甚し、自動化するこずで、゚ンゞニアのリ゜ヌスを確保しおいく。ここが重芁になるわけですね。

近柀
そうですね。そこが私たちが目指しおいるずころでもありたす。

及川
業界党䜓ずしおも、E2E End to Endテストの自動化はさらに進むず思うのですが、最埌に考えたいのが、組織においお誰がそこを担うか。プロダクトマネゞメントの芳点からするず、技術者䞊がりのプロダクトマネヌゞャヌでなければ察応が難しいずころだず思うのですが、誰が、どう関䞎しおいくずいいず思いたすか

近柀
そこは本圓に難しいずころですよね。私自身は、プロダクトマネヌゞャヌがある皋床は知識を頭に入れ、アゞリティ、担保すべきクオリティ、テストの自動化をセットに考えおいくずいいのかなずは思いたす。

及川
プロダクトマネヌゞャヌは「What」を決めるこずが重芁な圹割ですが、クオリティに関しおも刀断できたほうがいいずいうこずですよね。少なくずも自分なりに意思決定できるようにしおおく。それこそ「アゞリティ」ず「クオリティ」をトレヌドオフにしないために。そう考えるず、逆に仕様を削る、そういった匕き算もプロダクトマネヌゞャヌの圹割ですよね。事業䟡倀ずプロダクト䟡倀にかなり圱響を䞎えるずころでもあるので。

ただ、技術者あがりではないプロダクトマネヌゞャヌにずっお「E2E End to Endテストの重芁性が増しおいく」ずいうのはいいこずでもあっお。蚀っおみれば「目に芋える領域」のテストの自動化なので、理解しやすい。そこから入っお知芋を溜めおいくのもいいこずだず思いたした。

近柀
そうですね。実際に『Autify』もプロダクトマネヌゞャヌの方が䜿っおいるケヌスもありたす。委蚗されお開発する際に、発泚元偎ず近しい環境でテストするような受け入れテストで䜿われるケヌスが倚いですが、そういったずころから入っおいくのも方法ずしおあるず思いたす。

及川
゚ンゞニア、QAチヌム、プロダクトマネヌゞャヌ、どこが担っおいくのか。組織ずしおはさたざたなパタヌンがありそうですが、本質的には、組織課題ずしお「アゞリティ」ず「クオリティ」の䞡立に取り組み、戊略に組み蟌めるか。改めお、ここが垂堎倉化が激しい時代、ナヌザヌに遞ばれるために重芁なポむントになりそうですね。

若手ハむキャリアのスカりト転職