Computer Weekly製品ガイド
「モダンなソフトウェア」とその「開発チーム」の条件
モダンなソフトウェアとは何か。それを開発するチームには何が必要なのか。今そして今後のソフトウェア開発に求められる条件を紹介する。
モダンなソフトウェア開発は、データ駆動型のビッグデータ分析を取り入れ、AI(人工知能)を内蔵すると論じることもできる。主にサービス中心でWeb拡張可能なものと分類する考え方もある。そうした開発者は、サービスバックボーンを横断して導入できるコードを開発する。再利用可能なコンポーネントやフレームワークの構築に力を入れるソフトウェア開発者もいる。
企業向けソフトウェア市場には自らをアプリケーションモダナイズのスペシャリストと定義する専門分野がある。多くの場合、この分野のツールプロバイダーはレガシーアプリケーションやメインフレーム、クラウド以前のアプリケーションからの移行に重点を置き、マイクロサービスや仮想マシン、コンテナ、「Kubernetes」を推進している。
モダンなソフトウェアアーキテクチャ
Volterraはマルチクラウドやエッジを横断してアプリケーションとデータの導入、接続、セキュリティ対策、運用を行う分散型クラウドプラットフォームを提供する。同社CEOで創業者のアンクール・シングラ氏は、マイクロサービスがアプリケーション開発の直近の未来に果たす役割はますます増大するだろうと話す。同氏はKubernetesの急激な普及を理由として、マイクロサービスは2020年以降、一層主流化すると予測した。
「マイクロサービスはKubernetesのDNAの一部であり、Kubernetesを使ってアプリケーションを開発・導入するための主な方法だ。Kubernetesの台頭に伴い、IT企業はそれを導入できるようにするためのオープンソースツールキットやフレームワークを公開している」
シングラ氏は、例としてMicrosoftが最近立ち上げたオープンソースプロジェクト「Dapr」を挙げた。MicrosoftはDaprを移植可能なイベント駆動型ランタイムと形容する。Daprはクラウドとエッジで運用可能で、多様な言語と開発フレームワークに対応する耐久性の高いマイクロサービスアプリケーションを簡単に構築できる。
クライアントを選ばないこと
オープンソースWebサーバ企業のNginxによると、モダンなアプリケーションは「React」(JavaScriptライブラリ)をベースとするユーザーインタフェースであろうと「Android」や「iOS」で実行されるモバイルアプリであろうと、APIを介してバックエンドアプリケーションに接続するアプリケーションであろうと、マルチクライアントに対応する。
「モダンなアプリケーションは、任意のクライアントでデータやサービスを利用できることが前提とされる」。Nginxの最高アーキテクト兼マイクロサービスエンジニアリング担当上級ディレクターのクリス・ステットソン氏はそう語る。「モダンなアプリケーションは、データとサービスにアクセスするためのAPIを提供する。このAPIは一貫性があり、そのアプリケーションにアクセスするクライアント専用ではない。GUIやCLI経由で利用可能な全機能へのアクセスを提供する」
Webスケールビジネスが新しいソフトウェアを原動力とする製品やサービスを開発できる能力に目を向けると、モダンなソフトウェア開発が高度な実験や反復によって特徴付けられることが分かる。これはソフトウェア開発の過程で顧客やユーザーのフィードバックを増やす必要があることを意味し、UX(ユーザーエクスペリエンス)に対する感度をDNAに組み込んでアプリケーションを開発していることを示唆する。
モダンなソフトウェア開発の目標は、価値を実現するまでの時間にますますフォーカスが絞られつつある。IBM Cloud Pak for Applicationsのクラウドネイティブソリューション担当主席アーキテクトを務めるクリス・ベイリー氏によると、ソフトウェアを迅速に開発できる能力だけでなく、ソフトウェアが確実にユーザーや企業に真の価値をもたらすことが重視される。
開発チーム
ベイリー氏の考えでは、ソフトウェア開発チームは自己完結性を強め、他チームへの引き継ぎやスケジュール調整を減らす必要がある。ユーザーのニーズや品質条件を満たすソフトウェアを基本とするために、行動駆動型開発やテスト駆動型開発を採用しなければならない。
ベイリー氏によると、ソフトウェア開発チームは継続的インテグレーションを活用して速度を速め、開発プロセスの一貫として品質チェックを徹底させている。リスクを制限し、耐久性を継続的に検証して徹底させるため、カナリアリリース(訳注)のような継続的デリバリーを利用する傾向もある。
訳注:一部のユーザー向けにリリースして問題がないかどうか確認してから全体に展開すること。
ソフトウェア開発は、変更管理や幅広い人材の多様な考え方を取り入れることと関係する。ソフトウェアが汎用(はんよう)的なビジネス機能を果たすために開発されていた時代は、全てが単一のモノリシックアプリケーションの中にあって、中央のシステムで動作し、ダム端末経由でしかアクセスできなかった。現在では高度にコンポーネント化され、個々の部品が別々のサーバやコンテナで実行されたり、複数のクラウドをまたいで分割されたりすることさえある。
フロントエンドアプリケーションはどんな端末でも動作する必要があるだけでなく、エンドユーザーを引き付けるユーザーインタフェースの創出が奨励されている。ユーザーから見ると、フロントエンドアプリケーションもバックエンドアプリケーションも優れたユーザーエクスペリエンスを実現する必要がある。
どんな企業でも最高の開発ツールやサービスを組み立てることは可能だが、それが必ずしも成功を保証するとは限らない。そう語るのはDomoの最高製品責任者兼エンジニアリング担当執行バイスプレジデントのキャサリン・ウォン氏。Domoはクラウドベースのビジネスインテリジェンスツールやデータ仮想化、データインテグレーションを専門とする。
「事がそれほど単純ならば、成功する新興企業はもっとずっと多いはずだ」とウォン氏は言う。当然ながら、ソフトウェアの構築と拡張が困難な理由はいくらでもある。
「ソフトウェア開発はチームスポーツだ。われわれのチームには長い間、エンジニアや専門分野のアーキテクト、プロダクトマネジャー、品質保証担当、デザイナー、プロジェクトマネジャー、技術ライターなど、はっきりと定義された役割があった。それらは今も有効だが、思考と経験の多様性をどう実現するか、さらには共感を高めてチーム内のコミュニケーションを向上させるための横断的トレーニングをどう行うかが、他のどんな職種よりも重要性を増している」(ウォン氏)
Copyright © ITmedia, Inc. All Rights Reserved.
Computer Weekly日本語版
この記事の著者
関連記事
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
「Excel至上主義」の終わらせ方 丸2日の手作業地獄から情シスと現場を救うには
-
2
急増する「AIはこう言ってる」マン 判断を狂わせる「AI忖度」を防ぐには?
-
3
取手市がVDIと決別した理由 更改費用「4倍超」を約1.7倍に圧縮
-
4
221人調査で分かった「情シス最大のストレス」は?
-
5
「データストレージの活用方法」に関するアンケート
-
6
「AI時代の統合基盤・エンタープライズAI管理」に関するアンケート
-
7
自宅のWi-Fiが「遅い」「途切れる」本当の原因は? Dellが推奨する鉄則
-
8
100億円の「Linux更新」を回避 みずほ銀行が選んだ“おきて破り”のRHEL延命策
-
9
本当に安いPCで十分か? “すぐ重くなる”を防ぐノートPC選びの絶対条件
-
10
Claudeの不可視透かしに批判殺到 著作権消失や誤判定に潜む企業リスク
ホワイトペーパーランキング PR
-
1
年収2000万「クラウドセキュリティのプロ」になれる資格とは
-
2
セキュリティソフトをすり抜ける標的型攻撃メール、不審メールの見破り方とは?
-
3
Windows Updateの通信集中で回線が逼迫、ネットワーク刷新事例に学ぶ解決策
-
4
財務を戦略的組織へ進化させるAI活用術、4つの主要な障壁と解消方法
-
5
「NAS」「SAN」「DAS」は何が違う? いまさら聞けないストレージの基礎
-
6
“あのファイル転送”で暗躍するノーウェアランサム
-
7
標的型攻撃メールを見破るには? サンプル文面を例に傾向を解説
-
8
商用利用の安全性を確保し大量のコンテンツを高速で生成する、AI活用の秘訣
-
9
マンガで解説、1日で生成AI環境を構築できるワークショップの中身とは?
-
10
Dark AIが台頭する時代の新発想、「より高度なAIで対抗する」具体的方法とは?
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー