S
Smarter Business

「高速アプリ開発」を可能にするエンジニアの必携ツールはこれだ

post_thumb

高度化する技術、高速化する開発

世界中で起こる破壊的イノベーションが、産業の壁を飛び越えて新たな顧客体験を提供する時代。各産業とも、より早いビジネスの変革スピードを求められ、それを支えるアプリケーション開発にもますます高度で高速な対応が求められるようになってきました。

いまやIT環境はオン・プレミスに加えてマルチ・クラウドも加わり、システムにはAIが活用され、要求レベルも顧客対応の自動応答や自動運転など、非常に高度になっています。ITの適用範囲はかつてないほどに広がり、事前に用意するテストデータやその組み合わせだけでも膨大になってきています。もはやエンジニアが人的リソースや従来のツールに頼るだけでは、品質を維持しながらアプリケーション開発のスピードを高速化することが困難になってきました。

次世代のエンジニアは、高度化・複雑化するIT技術を組み合わせて、高速にアプリケーションを開発し、品質も維持するという、非常に難しい命題に応える必要がありますが、どのように解決すれば良いでしょうか?

 

プロジェクト全体の高速化がカギ

アプリケーション開発のプロジェクト全体を見ると、リスクが発生するのは、後の工程に多大な悪影響を及ぼす仕様や設計の整合ミス、変更を加えたときの影響範囲のシミュレーション作業等であると考えられます。多くのプロジェクトではこれまで、このリスクを取り除くために膨大なノウハウを蓄積し、それをプロジェクト間で共有し、さらに経験豊富なエキスパートがプロジェクト全体をレビューすることで高品質を維持してきました。これは品質を維持しつつも、大変な負荷がかかるタスクでした。

さらに、IT技術がますます高度化し、その適用範囲も広がり、プロジェクトのリスクを人的リソースや旧来のツールで事前にすべてシミュレーションして準備することが、極めて困難になってきています。

これまで、アプリケーション開発の速度を高める努力は主にソフトウェアのコード生成やテストのステージに注がれてきましたが、開発プロジェクト全体の速度を上げるためには、他の工程も含めた全体の高速化が必要です。しかも、新しいIT技術に対応したノウハウや自動化機能を、すみやかに提供できる体制・能力が必要です。

これらの課題を解決するためには、プロジェクト全体を高速化するという俯瞰的な視点に立った、エンジニアを支援する次世代のアプリケーション開発ツールが必要であると考えます。これからのエンジニアは、そのような次世代ツールを使いこなしてアプリケーション開発を高速化してゆく必要があります。

 

次世代の開発ツール

私たちIBMは、これまでのアプリケーション開発に関する膨大な資産とノウハウをもとに、AIやクラウド時代に最適なツールを研究してきました。その成果により、これからのエンジニアはさまざまな産業の変革スピードを支えることができるのではないかと考えました。

 

ノウハウは既にある

アプリケーション開発のスピードを向上しにくい要因は次のような点だと言及してきました。

  • 後の工程に多大な悪影響を及ぼす仕様や設計時の整合ミスの確認
  • 変更を加えたときの影響範囲のシミュレーション作業
  • 高度なビジネス要件に対応するためあらゆるテストシナリオやデータを用意する作業

上記に共通する特性を見てみると、仕様、設計、テストシナリオはドキュメントでやりとりされています。プロジェクト管理も全工程にわたってドキュメントを使用します。そして、ソフトウェアのコードもテストデータも、コンピュータ向けではあるものの、「文書」です。これらの文書の蓄積は間違いなく過去数十年のプロジェクトのノウハウであり、過去に不具合などの突発事項を発生させたとすればその履歴も記載されていて、まさにプロジェクト運営のためのノウハウのかたまりと言えます。

また、ドキュメント間の関連やその結果得られたものを調べれば、どのような作業が不具合を招くかという示唆を導き出すこともできるはずです。これを高度なナレッジデータベースとして使うことができれば、プロジェクト管理のエキスパートと同じレベルのノウハウを即座に得られるのではないでしょうか。

 

AIは最適なツールだった

そこで、われわれは考えました。AIが使えるのではないかと。

蓄積された膨大なドキュメントをAIに学習させ、そこからさまざまなノウハウや示唆を瞬時に得ることができれば、それはあらゆるテストシナリオを事前に描き、リスクを予測することにも活用でき、突発的にプロジェクトが長引く要因をすばやく防ぐことができるのではないか。人間系のノウハウを得る代わりに、24時間365日、いつでもAIというエキスパートに問い合わせができるのではないか?

幸いなことに、私たちにはIBM WatsonというAIがありましたので、実験を重ねてみたところ、実に劇的な効果を得られることが分かりました。そして、この解決策を世界初の「IBM Watsonを活用した次世代超高速開発ソリューション」として体系化し、世に問うことを決意したのです。

もちろん、AIがすべてを解決するわけではありません。AIはあくまでも人間に示唆を与えてくれるだけで、最後は人間が判断しなければなりません。ただ、これまで膨大なノウハウや知恵を人間で得てきたのに対し、それらをAIに学習させ、瞬時に示唆を得られるように運用すれば、品質をこれまで以上に維持しながら、アプリケーション開発工程全体の速度をも劇的に向上させることができるでしょう。そして、この学習済みAIは新しいIT環境におけるプロジェクトのノウハウを学習することでさらに進化し、より多様なプロジェクトに示唆を与えることができるでしょう。

その結果、エンジニアはより先端的な技術を学ぶことに多くの時間を費やし、さらに創造的な提案をお客様にしてゆくことができ、エンジニア全般の「働き方改革」にも繋がってゆくのではないかと思います。そしてまた、このソリューションは技術継承といった課題も解決してくれる可能性をも持つのではないでしょうか。

photo:Getty Images

 

「IBM Watsonを活用した次世代超高速開発ソリューション」については下記のリンク先をご覧ください。