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日本語版
この記事の著者
関連記事
新着ホワイトペーパー PR
-
製品資料
[o9ソリューションズ・ジャパン株式会社] 「改正物流効率化法対策」徹底解説 総物流費を抑制するサプライチェーン戦略 -
製品資料
[o9ソリューションズ・ジャパン株式会社] 「サプライチェーン最適化」実践ガイド:効果的な意思決定を実現する秘訣とは? -
製品資料
[株式会社リンプレス] 非デジタル/IT人材を「自走するDX推進者」に変えるための育成ロードマップ -
市場調査・トレンド
[ワンアイルコンサルティング株式会社] AI時代の組織設計:「判断と責任」を人に残すための2つの原則とは? -
技術文書・技術解説
[ワンアイルコンサルティング株式会社] システムの保守がモダン化を阻む? 「変えない判断」から脱却する方法とは
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
1200万円のSaaS導入を回避 スギ薬局「運用費10万円」のAIエージェント構築術
-
2
ソフトウェア開発生産性向上に取り組む企業は4割 調査で学ぶ「停滞」の正体
-
3
「完璧な設計」なのに3000万円溶けた AWSの失敗事例から学ぶ3つの教訓
-
4
クラウド資格コレクターは評価されない? 年収1000万を分ける“OSの理解度”
-
5
無料の「Apple Business」で十分? 情シスが陥りがちなポイント
-
6
100億円の「Linux更新」を回避 みずほ銀行が選んだ“おきて破り”のRHEL延命策
-
7
【お知らせ】「サーバ仮想化導入に関するアンケート調査」結果リポート
-
8
「配信に1カ月」の代償 カルビーがLINE運用で外部依存を断ち切った理由
-
9
【お知らせ】「クラウドインフラに関するアンケート調査」結果リポート
-
10
【基本情報技術者試験】「デュプレックスシステム」と「デュアルシステム」の違いは?
ホワイトペーパーランキング PR
-
1
インシデント対応工数を約3割削減、東京ガスの事例に学ぶ監視体制刷新のコツ
-
2
JR西日本ITソリューションズが「監視業務の属人化」を解消した方法とは?
-
3
「Google Workspace」活用事例34選、先進の生成AIによる組織変革の全貌
-
4
DX/AI投資の壁を突破、現代の最高財務責任者が直面する課題と克服のヒント
-
5
「人員を増やす」という選択肢はない 情シスが負の連鎖から抜け出すには?
-
6
Windows PCとMacの選択制で生産性向上 LINEヤフーが実践する運用管理方法とは
-
7
生成AIで文書活用を進めるには? 効率化と安全性をどう両立する
-
8
「問題が深刻化しやすいプロジェクト管理」から脱却する方法とは?
-
9
Linuxのスキルを証明する“激推し”の認定資格はこれだ
-
10
NTTドコモが実践したクラウド統合監視 業務量2倍でも残業削減を実現できた理由
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー