アプリ開発、デザイン、両チームの役割分担が容易に明確化できる
続くセッションには、野村総合研究所の飯島千絵氏が登壇。NRIにおけるAngularに関わる取り組みを紹介した。現在、NRIでは自社の開発プロジェクトに対するAngularの適用を積極的に進めている。その背景については、本稿第一部で詳しく述べた通りだが、このセッションで飯島氏は、NRIがAngularJSに関し、大規模開発への適正性について評価・検証した際の具体的な結果についても紹介している。
それによれば、オフショアの開発メンバーに同じアプリケーションを、jQueryとAngularJSのそれぞれで開発を依頼したところ、jQueryを使った場合はプログラムの多くの部分が複雑化し、高いスキルを有するエンジニアでなければ実装できなかったが、AngularJSを使った場合はプログラムを単純化することができ、標準的な技術者でほとんどの部分を実装できた。この結果について飯島氏は「要するに、AngularJSのプロジェクトでは、画面とロジックの分離が容易となり、標準的な技術者で対応できる領域が大きく広がるという成果が得られたわけです」と解説する。
さらに飯島氏は、Angularを採用した開発プロジェクトにおいて、UIコンポーネントを活用するケースが増えていることに言及。グレープシティの提供する「Wijmo」およびモバイルアプリ向けのAngularベースのCSS/JavaScriptライブラリである「Ionic」を活用した自社での取り組み事例を紹介した。「アプリ開発チームとデザインチームの役割分担が明確化されて、操作性や動きについての認識合わせが早い段階で可能になり、最終的にUIに関わるお客様の満足度が高まっています」と飯島氏は語る。
フロント要件がますます高度化するWebアプリケーション開発で威力
この日3つめの講演の壇上には、野村総合研究所の見上敬洋氏が登り、Angularを採用した大規模開発における留意点について、自ら標準化チームのリーダーとしていくつかのプロジェクトに参画した経験を踏まえて解説した。
具体的には、NRIがオフショアに委託した、大手コールセンター運営会社のオペレータ支援システムの外部設計から結合テストに至る開発フェーズの事例を取り上げた。その開発フェーズには、開発会社2社、4チーム体制で、ピーク時で100名以上の開発者が関わるというもので、これら各チームが独立して開発にあたり、成果物については、性能、耐久性、ユーザビリティ、保守性に関わる厳しい品質基準をクリアすることなどが求められていた。
「こうした要件を満たすために講じた施策としては、まず難易度の高いコンポーネントを部品化して、オフショア開発者のスキルに依存せず、適切な工程で開発できる体制を整備。あわせて、UIコンポーネントの提供によるUIの標準化も行いました。さらにExcelベースの画面設計書を入力してTypeScriptのプロジェクト構成を出力する雛形生成ツールなども用意しました」と見上氏は紹介する。そのほか、バグが作り込まれるリスクの高いポイントを洗い出して、標準化ルールの策定によってそうしたリスクを排除するといった取り組みも行ったという。
「Angularを採用した大規模開発においては、以上のような開発統制を効果的に実現していくためのさまざまな工夫が必要。そうした押さえるべき点をしっかり押さえることができれば、Angularは業務アプリケーションのフロント要件がますます高度化するエンタープライズWebアプリケーションの開発において大きな威力を発揮するはずです」と見上氏は強調する。