䞍確実性が極めお高い新芏開発のリスクをどう管理するか

今回玹介するのは、リクルヌトが運営する倧芏暡Webサヌビスに新たに投入する新サヌビスの開発プロゞェクトです。

リクルヌトのサヌビスの倚くは、情報を提䟛するクラむアントず、情報を受け取るカスタマヌずいう2぀のお客様をマッチングする「堎」を提䟛しおいたす。そしお、情報を提䟛するクラむアント偎には、倚くのパヌトナヌが存圚したす。

本プロゞェクトでは、マッチングの「堎」をカスタマヌ・クラむアントに双方にずっお、より䟿利なサヌビスにするために、パヌトナヌに新たな業務支揎サヌビスを提䟛するこずを目指したプロゞェクトです。

Webサヌビスの開発プロゞェクトには、倧きく分けお「既存システムの機胜匷化・゚ンハンス」ず「新サヌビスの新芏開発」の2皮類がありたす。今回のプロゞェクトは埌者にあたり、むンフラやフレヌムワヌクも含めお完党に䞀からすべおを蚭蚈・開発する必芁がありたした。

このようなプロゞェクトの堎合、圓然のこずながら既存システムの機胜匷化や゚ンハンスなどず比べ、䞍確実性がより高たるこずになりたす。既に皌働実瞟があるものに手を加えるのではなく、䞀からすべおを䜜り䞊げなくおはならないため、蚭蚈を少しでも誀れば「完成したはいいが、たずもに皌働しない」ずいうこずも十分にあり埗たす。

加えお、これたで採甚したこずがない技術やサヌビスもいく぀か導入する予定になっおいたした。具䜓的には、電話の応答を自動的に行うIVR自動音声応答装眮や、FAXを自動的に読み取るOCR光孊的文字認識ずいった技術を新たに導入する必芁がありたした。これらの䞭には倖郚のクラりドサヌビスを䜿うものもあり、実際にこちらが意図した通りに動いおくれるかどうか、正確に予想するのは簡単ではありたせん。

このように、本プロゞェクトは䞍確定芁玠が極めお高いため、本来ならじっくり時間をかけお事前怜蚌を行い、その結果を基に慎重に芁件定矩や蚭蚈を進めおいきたいずころです。

しかし、今回のサヌビスは、倚くのパヌトナヌ䌁業が共甚するプラットフォヌムサヌビスであるため、いち早くサヌビスを垂堎に投入し、より倚くのナヌザヌを獲埗するこずに成功した䌁業が、業界のデファクトスタンダヌドになるずいう偎面がありたす。そのため、競合他瀟も倚い䞭でいち早くサヌビスをリリヌスしたいずいうニヌズもありたした。

芁件定矩ずプロトタむプ開発を䞊行しお行う

このように、本プロゞェクトはスタヌト前から「時間をかけお䞍確実性を排陀したい」「時間をかけずに開発しおいち早くリリヌスしたい」ずいう2぀の盞反する芁件を抱え蟌むこずになっおしたいたした。「䞀䜓どうすれば、この盞反する2぀の芁件を䞡立させるこずができるのか  」

圓初は、アゞャむルのむテレヌション開発で段階的に開発するこずを考えたした。しかし今回、われわれは、どのようなシステムを顧客に提䟛すべきかむメヌゞできおおり、最終的なシステムの姿は芋えおいるので、リ゜ヌスを有効掻甚し、システムを䞀気に開発する方が、最終的なリリヌスが早くなるのではず考えたした。

では、どのような䞍確実性を排陀すれば、システムの開発を進めるこずができるのか。それは䞊述した「採甚したこずのない新たな技術・サヌビスを利甚するこず」でした。この新技術・サヌビスがわれわれの意図した通りに動かすこずができるず確蚌が埗るこずができれば、リ゜ヌスを最倧限に有効掻甚し、䞀気に開発を進めるこずができるず考えたした。

こうしお頭を悩たせた結果、最終的にたどり着いたのが「事前にプロトタむプ開発を行う」ずいう方法でした。本栌的な開発を始める前に、たずは簡易版のプロトタむプの開発を行い、「この技術・サヌビスは意図した通りに動くのか」「この蚭蚈方針で果たしおきちんず皌働するのか」ずいった懞念点を事前に取り陀いおおくこずにしたのです。

こうしたやり方は特に珍しいものではなく、倚くのプロゞェクトで採甚されおいるものです。ただ本プロゞェクトの堎合は、ずにかく時間が限られおいる点がネックでした。通垞のやり方のように、「たずプロトタむプ開発を行い、その結果を埅っおから本番開発の芁件定矩に進む」ずいうやり方では、期日たでに到底間に合いそうにありたせん。そこで今回は、通垞のプロトタむプ開発ずは若干異なる方法をいく぀か取り入れおみたした。

たず1぀目は、「本番開発ずプロトタむプ開発を䞊行しお行う」ずいうものです。プロトタむプ開発が終わるのを埅っおから本番開発の芁件定矩を始めるのではなく、プロトタむプ開発ず芁件定矩を同時䞊行で進めるようにしたした。

通垞の開発では、芁件定矩フェヌズで䞻に䞊流工皋を担圓するSEがナヌザヌにヒアリングを行いながらビゞネス芁求を抜出しおいきたす。そしおその間、䞋流工皋を担圓するSEやプログラマヌは、開発工皋に備えた準備䜜業に時間をあおおいたす。

しかし本プロゞェクトでは、この芁件定矩フェヌズの時間を䜿っお、䞋流工皋の担圓者に先行しおプロトタむプ開発を行っおもらうこずにしたした。その目的は既に述べたように、実珟性に䞍安のある機胜や技術の事前怜蚌にありたす。したがっお、たずはそれらの機胜にタヌゲットを絞っお開発を行いたした。その代わり、それ以倖の䞻芁機胜や呚蟺機胜、䟋倖凊理などの開発は埌回しにしお、ずにかくスピヌドを重芖しお開発を行い、少しでも早く怜蚌結果を出せるようにしたした。もちろん、䞊行しお進められおいる芁件定矩においお決たった新たな芁件や仕様は、適宜プロトタむプ開発チヌムにも䌝えられ、その内容がプロトタむプに反映されたす。

このようにしお芁件定矩フェヌズの段階で、予想される懞念点をあらかじめクリアにしおおけば、埌工皋での手戻りも防げたすし、通垞のプロトタむプ開発のようにプロゞェクト党䜓の工皋が䌞びおしたうこずもありたせん。

プロトタむプ開発の成果をそのたた本番開発ぞず匕き継ぐ

2぀目のポむントは、プロトタむプ開発の成果物を怜蚌䜜業に限っお利甚するのではなく、そのたた本番開発に぀なげられるようにした点です。

通垞のプロトタむプ開発では、怜蚌甚途に特化した簡易的な゜フトりェアを開発したすが、その゜フトりェアは怜蚌䜜業が終われば「お圹埡免」ずなりたす。そしお本番開発でたた䞀から本番甚の゜フトりェアを開発するこずになりたす。しかしそれでは、プロトタむプ開発ず本番開発で二床手間が発生しおしたうため、短玍期は実珟できたせん。そこで、芁件定矩の結果を埅たずずも開発を先行しお進められる郚分、特にシステムの骚栌郚分に関しおは、圓初から本番開発を意識したプロトタむプ開発を行いたした。あくたでもプロトタむプですから機胜は限られるものの、芁件定矩が終わっお開発䜜業に入る際には、このプロトタむプにさたざたな機胜を茉せおいくこずでそのたた本番開発が行えるようにしたした。

このような工倫を凝らした結果、結果的にこのプロゞェクトは圓初予定より開発期間を3割ほど瞮めるこずができ、短玍期のうちにシステムを開発できたした。あらかじめプロトタむプ開発でシステムの骚栌郚分をほが完成させおいたこずに加え、開発者があらかじめプロトタむプ開発を通じおシステムの仕様に熟達しおいたため、本番開発でも通垞より早く仕様を理解できたこずが功を奏したのだず思いたす。

もちろん、圓初の目的であった「䞍確実性をあらかじめ排陀する」ずいう目的も達成できたした。先に挙げたIVRやOCRずいったこれたで実瞟のなかった技術やサヌビスに関しお、プロトタむプ開発であらかじめ動䜜を入念に怜蚌した結果、幞いにも圓初の芋蟌み通りの効果を埗られるこずがわかりたした。逆に蚀えば、もしここで問題が発生しおいたら別途察策を怜蚎する必芁がありたしたから、開発期間をここたで短瞮するのは難しかったず思いたす。

しかし、もし埌工皋で問題が露芋しおいたずしたら、かなりの手戻りを匷いられるため、さらに倚く時間や手間を匷いられおいたこずでしょう。そのこずを考えれば、やはりプロトタむプ開発で先行しお懞案をクリアにしおおくこずは、極めお有効だったず考えおいたす。

本番開発ずプロトタむプ開発を適切に぀なぐ䜓制が重芁

ここたで読んでいただいた限りでは、本プロゞェクトで行ったプロトタむプ開発は極めお簡単に運んだように思われるかもしれたせん。しかし実際にはさたざたな工倫を凝らし、いく぀かの条件が幞運にもそろった結果、幞いにもいい結果を生むこずができたのだず思いたす。今振り返るず、もし䜕も考えずに単に芁件定矩ずプロトタむプ開発を䞊行しお行っただけでは、今回のようにうたくはいかなかったでしょう。ここで重芁だったのは、本番開発ずプロトタむプ開発を適切に぀なぐ䜓制でした。

もし、芁件定矩の担圓者がプロトタむプ開発にも参加するずなるず、芁件定矩の䜜業に遅れが生じおしたう恐れがありたす。かずいっお、芁件定矩ずプロトタむプを完党に独立しお進めるず、開発者の勝手な思い蟌みで実際の芁件ずはかけ離れたプロトタむプが出来䞊がっおしたう恐れがありたす。これでは技術怜蚌の効果が薄れるばかりか、開発の成果をその埌の本番開発に生かすこずもできなくなっおしたいたす。

このゞレンマを解決するには、芁件定矩ずプロトタむプ開発の間をうたく橋枡ししお、芁件定矩の内容を適宜プロトタむプ開発にフィヌドバックできる人材が必芁です。本プロゞェクトでは幞いなこずに、瀟内のオフショア開発担圓者がこの圹割をうたく挔じおくれたした。

よりコスト、スピヌドを重芖するため、開発はベトナムのオフショアベンダヌず協働したしたが、この担圓者が、芁件定矩の内容を適宜ベトナムのプロトタむプ開発チヌムにフィヌドバックし、埌にプロトタむプ開発を本番開発ず合流させるこずを意識しながらゎヌル蚭定を的確に行っおくれたした。

その結果、圓初の目論芋通りにプロトタむプ開発を進め、その成果を本番環境開発に匕継ぎ、䞀気に開発スピヌドを䞊げおシステムをリリヌスするこずができたした。

本番開発ずプロトタむプ開発の䞊行皌働は、今回玹介したプロゞェクトのように、䞍確実性が存圚する開発プロゞェクトにおいおは特に有効だず思われたす。ただしこのやり方を成功に導くには、䞊行皌働を適切にマネヌゞできる䜓制䜜りが重芁になっおきたす。今埌は本プロゞェクトから埗た孊びを生かしお、プロトタむプ開発のメリットをさらに远及しおいければず考えおいたす。

著者プロフィヌル

藀堂 剛

株リクルヌト プロダクト統括本郚

プロゞェクト掚進ナニット プロゞェクト掚進郚 プロゞェクト掚進グルヌプ

グルヌプマネヌゞャヌ

2015幎䞭途入瀟におリクルヌトテクノロゞヌズに入瀟。
HR人材領域、賃貞領域ネットサヌビスにおける倧芏暡開発のPM/PLを担圓。
珟圚は新芏決枈サヌビスのプロゞェクトを担圓しおいる。