システム開発においては、単に要件を満たすだけでなく、お客様のシステム開発の目的や真のニーズを実現するための「要件以上の開発」が求められます。AI INOVATIONは、要件以上の開発を実現するには3つのポイントがあるという。「モダンな開発技術を活用し圧倒的な開発スピードを実現」、「AIツールの活用で開発効率を上げる」、「顧客コミュニケーションに必要な人間力」。技術力と人間力を駆使し、モダンな技術と密なコミュニケーションで本当に価値のあるシステムを開発するという同社の取り組みと展望について、代表取締役である遠藤 皇士氏に詳しくお話を伺いました。
「要件以上の開発」とは
―― 御社は「技術力×課題解決力」で「要件以上の開発を実現する」ことを強みとされています。「要件以上の開発」とは、具体的にはどのようなことでしょうか。
AI INOVATION 遠藤氏: 「要件以上」という言葉の意味合いですが、これは「お客様が示された要件」、「お客様との間で合意した要件」の範囲にこだわらない、「その要件の範囲を超えて」ということです。
システム開発の現場では、よく「要件定義」や「システム要件」といった用語が使われますが、要件とはそのシステムに必要な機能や求められる条件のことです。システム開発の最初の段階で実施される要件定義とは、システムに必要な機能や求められる条件を明確にする工程のことですが、この要件定義が意外に難しいのです。とくにお客様がITやシステムについてあまり詳しくない場合、システムを作り始める前に必要な機能を全て洗い出しておくことなんて、なかなかできないでしょう。最初に決めた要件だけにこだわってしまうと、「要件を満たしただけのシステム」を作ることはできても、「本当にお客様のためになるシステム」を作ることはできないのです。
そこで、「その要件の範囲を超えても、本当にお客様のためになる、お客様にとって使いやすいシステムを作ろう」ということ、その気持ちを「要件以上」という言葉に込めているのです。
―― たしかに、システムを作り始めてから初めて気がつくことも意外に多いでしょうね。そもそも最初に全ての機能を決めなくてはならないというのも、正直、無理があるのでは? とお感じになるお客様もいらっしゃると思います。
遠藤氏: じつは、当社の創業メンバーの中にも、こうした経験をしたことがある者がいます。そのメンバーは別の会社に在籍していたとき、他社にシステム開発を依頼したのですが、エンジニアではないこともあって細かい要件を詰め切れなかったのです。出来上がったシステムは、確かに要件の通りに作ってあるのですが、明らかに使いにくい、現場の業務に照らし合わせるとおかしいところがあったのです。ところが、そのことを伝えても「要件には示されていませんでした」と修正対応してくれなかったのです。
そのときに「システム開発とは、そもそもお客様の課題解決が目的のはずなのに、お客様の課題解決を実現できていないことも多いのではないか」と感じ、そうした経験が、今の当社のシステム開発に関する考え方のベースになっています。
お客様が気づかないところ、お客様が要件で示していないところ、いわば「目に見えない部分」にもしっかりと目を向けて、おかしなところは一つひとつ丁寧に「このままお作りすることもできますが、その場合はこういった操作になってしまいます。よろしいでしょうか」と確認するようにしています。
正直、どこのシステム会社に頼んでもそれなりのシステムはできあがると思います。それでも、やはり使いやすいシステムとそうではないシステムが明らかにありますよね。それは「要件定義」がきちんとできるかどうかによると考えています。だからこそ、当社は要件定義と「要件以上の開発」にこだわっているのです。
要件以上の開発を実現する、モダンな技術による圧倒的なスピード
―― 要件定義を丁寧にして、そのうえで「要件以上」のシステムを作り上げる、ということですね。お話を伺っていると非常に説得力があり、お客様が本当に「要望通りのシステム」を手に入れられそうな感じがしました。ただ同時に、この「要件以上」を実践するのは、そう簡単ではないな、とも思いました。きちんと実践するために心がけていることはあるのでしょうか。
遠藤氏: 大切だなと考えていることは、お客様のご担当者様との「コミュニケーション」です。これが、本当に大切です。コミュニケーションが密であればあるほど、お客様はシステム開発に直結しないことでも、お困りごとをいろいろとお話をしてくれるようになります。そうなると、要件定義のときに見えずに隠れてしまっているものが見えてくるようになり、「要件の取りこぼし」が少なくなります。お客様のご担当者の方との間に信頼関係がしっかりと築ければ、「(お客様は)そうおっしゃいましたが、本当はこうじゃないですか」、あるいは「こういった機能が必要なのではないでしょうか」というシステム開発会社側からの提案もしやすくなります。
もうひとつ。当社が得意とする開発手法であるアジャイル開発を実践することで、見えなかった要件が浮かび上がってくることも多くあります。当社は、システムのある一部分を作ってはお客様に実際に触っていただき、操作感や画面遷移などを確認していただいています。現場での業務フローと照らし合わせて、修正点があればフィードバックをいただき、直してまたご確認いただくというサイクルを回しながら開発を進めます。
アジャイル開発をスピード感を持って回していく中で、お客様も当社も最初は見えていなかったけど重要な要件に気がつくことがよくあります。アジャイル開発をスピーディにできるかどうかは、とても重要だと考えていて、そのために当社は、「モダンな開発技術を活用し、圧倒的な開発スピードを実現する」ことにこだわっています。
―― なるほど。少し整理しますと、まず「要件以上の開発」がとても重要で、お客様が気づいていない重要な要件を見落とさないためには、アジャイル開発が効果的な手法のひとつである、と。そして、アジャイル開発をスピーディに回すには、モダンな技術の採用がポイントになり、御社はそのモダンな技術に豊富な知見がある、それらが御社の強みとなっているということですね。
遠藤氏: スピード感を持ってプロダクトをつくり上げることで、そのプロダクトが「要件通り」だったとしても、使ってみると不便だったり機能が足りていなかったりがわかってくるのです。そこもまた、スピード感を持って修正するということです。
同時にAIツールの活用で開発効率を上げる、スピードを上げることにも取り組んでいます。このAIツールとは、自社サービスとして開発したエンジニアのサポートツールです。具体的には、AIを活用してシステム開発のコードを自動生成したり、修正したり、書き上げたコードをレビューしたりできるものです。こうした作業は、エンジニアやプログラマが手作業で書くよりも、AIツールを活用したほうがはるかに速く、人間の手で一から開発していくのとはもう比べものにもならないくらいになっています。
使い方としては、開発に使用する言語やフレームワークを選び、どういうシステムを作りたいのかを選ぶイメージです。しかも、生成AIを活用しているので、どんなシステムにするかといった指示は、「話し言葉のような」プロンプト、例えば「会員向けのログイン画面を作ってください」などと入力するだけで、生成AIが読み解いてくれます。このAIツールは現在、当社のエンジニアが全員、活用して開発スピードのアップを図っています。
現在は自社のエンジニアも使っていますし、SaaSで提供して外部のエンジニアの人たちにも使っていただけるようにしています。まだ若手で駆け出しのエンジニアは技術力が不足していることがありますが、このAIツールを活用することで、いわば「C級エンジニアがA級エンジニアになれる」のです。このようなかたちでAI活用をすることで、開発のスピードアップを図っています。2024年中には、自社サービスとして、販売開始する予定です。現状はまだ無料でお使いいただき、さまざまなエンジニアの方々からフィードバックをいただいています。ただし、ここが重要なのですが、このAIツールの活用でも「見落としてはいけないポイント」があるのです。
生成AIでシステム開発がさらに高速に、だからこそ「人間力」が重要に
―― 「見落としてはいけないポイント」とは、どんなことなのでしょうか。
遠藤氏: これを活用するエンジニアには、人間力といいますか、コミュニケーション能力が極めて重要になるということです。AIの弱点とも言えるかもしれませんが、使う側が把握していて、プロンプトとして入力されないことには対応しない、できないのです。つまり、要件としてもともと見落とされてしまっていたことを、「これが足りていないのではないですか」と提案してきたり、判断してくれたりする機能はまだまだ弱いのです。
わかりやすく言うと、こちらが把握している要件をプロンプトとして入力することで初めてシステムを生成できるのです。となると、やはりお客様が見えていない要件、把握していない要件を聞き出して、明らかにするためのコミュニケーション力、言ってみれば「人間力」が、とても重要になります。お客様とコミュニケーションをとって、そこから本当に必要な要件を定義していくのは、まだまだ「人間の仕事」で、そこには人間力が必要なのです。AIや生成AIが活用されれば活用されるほど、反対にそこが重要になってくるような気がしていますね。
AIや生成AIの進化を考えると、この先、システムを作るところ、要件定義以降の工程はどのシステム開発会社でもAIツールを活用していくことで「ほぼ差がなくなる」ようになるのではないかと思っています。そうなればなるほど、要件定義の重要性、要件定義のところで取りこぼさないことが大切になると考えています。きちんとお客様とコミュニケーションをとって、お客様の本当の課題や目的をきちんと言語化して、それをAIや生成AIに伝えていく、それが人間には求められるということです。人間にしかできないところで、人間力やコミュニケーション力が求められ、それを発揮できるシステム開発会社が必要とされる、そんな時代になるのではと考えています。
エンジニアの人たちは、コミュニケーションが苦手とはよく言われることですが、当社では「不器用でもお客様に信頼していただけるようになろう、そんなコミュニケーションを心がけよう」と、エンジニアみんなで話し合っています。
例えば、当社が手がけた発達障害児童施設の支援システムの開発では、非常に多くの要件があった中でお客様と本当に密接にコミュニケーションを取らせていただいたことで、ご満足いただけるシステムを開発できた事例です。この事例がユニークなのは、お客様が示された数多くの要件、本当にまったく見落としがないくらいの多くの要件を「網羅する」のではなく、「そぎ落とした」のです。
つまり、「このログイン画面での顔認証の機能、本当に必要でしょうか」、「アプリをお作りになりたいとのご要望ですが、アプリをインストールするのを面倒に感じる利用者も多くいらっしゃいます。本当にアプリが必要でしょうか」というように、お客様と「本音で」お話しを直接にさせていただき、そぎ落として「本当に必要なものだけに要件を絞って」開発しました。当社の若手のエンジニアとお客様とで密にコミュニケーションが取れていて、本当に信頼関係ができていたからこそ、「そぎ落とす」といった逆提案ができて、それが成功の要因になりました。
―― 御社の社名は、「AI INOVATION」で、社名からもご実績からも、先進的なテックカンパニーというイメージが湧いてきます。ところが、よくよくお話を伺ってみると、大切にされていることがコミュニケーションや人間力であり、それをもとに丁寧に要件をお聞きし、「要件以上の開発」を実践されています。そこがとても印象的です。最後に今後の展望をお聞かせください。
遠藤氏: 2つの方向性を考えています。受託開発では、よりスピードを上げてお客様の要件を満たすようなシステムを作っていきます。とくに、先進的な技術を活用することで社会課題の解決に貢献できるような、そんなシステムの受託開発案件に積極的にアプローチしていきたいと考えています。
もうひとつは、国内のシステム開発会社の多くが直面している課題、例えば工数ありきの見積もりからの脱却、開発の効率化とスピードアップ、エンジニアのスキル不足など、それらを解消できるようなツール、先ほどご紹介したAIツールなどを作り、ご提供することで日本のIT業界全体の底上げ、レベルアップにつながるような方向性での取り組みです。その取り組みも最終的には、お客様が本当に必要としていたシステムを開発してご提供することにつながると考えています。
■関連リンク