アジャイル開発の特徴、メリット・デメリット、DXとの関係など
agile
アジャイル開発の特徴、メリット・デメリット、DXとの関係など
アンドエンジニア編集部
2021.02.20
この記事でわかること
アジャイル開発とは何か?ウォーターフォール開発との違い
アジャイル開発のメリット・デメリット
アジャイル開発はDX推進の切り札になる

アジャイル開発とは

Water Fall

従来、システム開発やソフトウェアの開発手法は、ウォーターフォール開発が一般的でした。2000年代以降は、アジャイル開発という開発手法が注目されています。アジャイル(Agile)sとは「素早い」を意味する英語です。まさにその意味の通り、アジャイル開発は、大まかなシステムの仕様が決まったら、「手直しを前提に、まずは作ってみる」という考え方にのっとり、極力少ない工数で、短期間で開発をする手法のことです。

ウォーターフォール開発とは

アジャイル開発が一般化する前は、「ウォーターフォール開発」がシステム開発手法の中心でした。ウォーターフォール開発は、システム開発の際に、最初にプロジェクトの要件定義や綿密な設計をしてから開発に取り掛かる手法です。「システム分析→システム設計→システム開発→システムテスト→保守」というシステム開発の一連の工程を、一斉に最初から順番に実行していくため、滝のように上から下に水が落下するイメージからウォーターフォール開発と呼ばれています。

ウォーターフォール開発はメインフレーム(汎用コンピューター)で主に用いられた伝統的な開発手法ですが、ダウンサイジングやクラウド、モバイルといった新しい技術が主流となり、日進月歩で技術が進展する中、ウォーターフォール型の開発手法は時代にマッチしなくなってきました。

【保守・運用】仕事内容や将来性、必要なスキルについて徹底解説!

アジャイル開発の流れ

ウォーターフォール開発よりもはるかにシステム開発の期間短縮が可能なアジャイル開発の基本的な流れについて触れておきましょう。

■リリース計画 仕様やユーザー要求の取りまとめ過程を、アジャイル開発では「リリース計画」と称します。「リリース計画」は開発における方向性を示したもので、厳密さは求められません。開発の過程で、当初の「リリース計画」ではなかった仕様やユーザー要求が追加されるのは当たり前にあるという前提に立っています。

■イテレーション リリース計画が決まると開発に着手します。アジャイル開発では各機能単位で「要件定義→設計→実装→テスト」のサイクルを短期間で繰り返します。これをイテレーション(反復)と称します

アジャイル開発の手法

このように、時代の変化にそぐわなくなってきたウォーターフォール開発に代わって、仕様変更に柔軟に対応できるアジャイル開発が主流となってきましたが、アジャイル開発にもいくつかの手法が存在します。ここでは代表的な3つの手法について簡単にご紹介します。

1.スクラム開発 スクラム開発のスクラム(Scrum)とは、ラグビーのスクラムが語源です。ラグビーの様にチーム一丸となって、システム開発を進めるフレームワークです

スクラム開発とは?エンジニアが知っておきたい情報をまとめました!

2.エクストリーム・プログラミング(XP) エクストリーム・プログラミング(Extreme Programming)は「XP」と略され、技術者、とくにプログラマーを重視した開発手法です。仕様変更、要求変更、機能追加を当然のこととして想定し、プログラマーが常にペアで相互チッェクをしながら開発を行います。

3.ユーザー機能駆動開発(FDD) ユーザー機能駆動開発(Feature Driven Development)は「FDD」と略され、ユーザー(顧客)の機能価値(feature)という視点に重きを置いた開発手法です。初めにユーザー機能一覧を作成し、短い間隔で反復 (イテレーション) を繰り返しながら、ユーザー機能を実装していきます。

アジャイル開発のメリット・デメリット

image

アジャイル開発はウォーターフォール開発に苦手な部分をカバーし、システム開発の生産性を高める優れた手法ですが、アジャイル開発にも弱点は存在します。その弱点、デメリットを理解した上で、適切な手法を選択していくことが重要です。

アジャイル開発のメリット

まずは、アジャイル開発のメリットを理解しておきましょう。アジャイル開発手法の強み、メリットを整理すると以下のようになります。

1.仕様変更にスムーズに対応することが可能 仕様変更が当たり前だという前提で、あまり細かく仕様を決めないため、逆に仕様変更に対応しやすくなります

2.開発スピードが早い 仕様変更を前提とした開発手法のため、ウォーターフォール開発のような大きな手戻りが発生しにくくなります

3.顧客の要望を満たしやすい 開発途中で顧客の要望(=仕様変更、仕様追加)に柔軟に対応できるため、顧客の要望を満たせる確率が上がります

4.UI(User Interface)重視のシステムに強い 途中で仕様変更が発生しやすいWEB開発、WEBアプリ、スマホアプリの開発には対応しやすいのもメリットと言えます。

アジャイル開発のデメリット

良いことずくめに見えるアジャイル開発ですが、実は次のような弱点、デメリットもあります

1.開発の方向性や目的がぶれてしまうことがある 現状調査や分析、要件定義のフェイズを大きく省略するため、仕様変更を繰り返している内に当初のシステム開発の目的から外れてしまうことがあります

2.全体の進捗管理がしづらいことがある アジャイル開発では、開発スケジュールを詳細に決めず、進捗状況を把握するための物差しが明確ではないことから進捗管理がしづらくなることがあります

3.要件が定まっているプロジェクトには向かない 汎用系やレガシー系システムのリプレイスなど、要件が定まっており、途中での仕様変更が発生しにくいプロジェクトではウォーターフォール開発が適しています

 

スクラム開発手法のメリット・デメリットと失敗から学ぶ成功の秘訣

IT人材の枯渇とアジャイル開発

image

日本ではIT人材の枯渇が国家的な問題として指摘されています。一方で経済産業省が警鐘を鳴らす「2025年の崖」問題があり、このギャップ解消を図らなければ、日本経済は致命的な損失を被るとされています。その解決手段がDX(テジタル・トランスフォーメーション)と言われています

アジャイル人材の確保

世界ではソフトウェア開発の生産性向上にアジャイル開発が当たり前になっていますが、日本ではいまだにウォーターフォール型の開発が主流であり、世界との格差が顕著になっています

日本が世界に追いつくためには、アジャイル人材の育成や確保が急務なのです。では、アジャイル人材にはどのような知識、スキルが求められるのてしょうか?

アジャイル人材に求められる知識

■アジャイル開発の原理・原則の理解 アジャイル開発を担ううえで、アジャイル開発に関する原理、原則の理解が欠かせません。アジャイル開発の原理、原則を理解するには、「アジャイルソフトウェア開発宣言」を知っておく必要があります。「アジャイルソフトウェア開発宣言」は2001年にソフトウェア開発の将来について議論をするために、17人の著名な有識者が集まり、その議論の結果を宣言としてまとめたものです。 この宣言ではアジャイルソフトウェア開発がもつ4つの特徴と価値を明らかにしています。

◆“プロセスやツール”よりも「個人と対話を」 ◆“包括的なドキュメント”よりも「動くソフトウェアを」 ◆“契約交渉”よりも「顧客との協調を」 ◆“計画に従うこと”よりも「変化への対応」 を価値とする。

すなわち、『”左記の事柄”に価値があることを認めつつ、「右記のことがら」により価値をおく』として、この他にも12の原則を示しました。 これらが、今日のアジャイル開発における礎(いしずえ)となっているのです。

アジャイル人材に求められるスキル

アジャイル開発のメンバーには、ソフトウェア開発の基本スキルに加えて、次のスキルが求められます。

■技術スキル アジャイル開発の参加メンバーには、ソフトウェア開発に関する基本スキルと合わせ、以下のような技術スキルが求められます。

●ペアプログラミング ●テスト駆動開発 ●テスト自動化 ●継続的インテグレーション

■チーム運営スキル アジャイル開発はスクラムと呼ばれるチームで進めることが多くなりますが、そのスクラムの成否はスクラムマスターと呼ばれるリーダーの手腕にかかっています。スクラムマスターがメンバーの力を最大限に引き出すには、次のようなチーム運営ノウハウを押さえておくことが必要です。

●スプリント計画、推進 ●日次ミーティング ●タスクかんばん ●バーンダウンチャート ●振り返り

■ヒューマンスキル アジャイル開発にはヒューマンスキルも重要な要素です。これは自ら体得していくしかありませんので、アジャイル開発に参加し、失敗を経験し、試行錯誤で悩みながら、身に付けていくしかありません。例としては次のようなものがあります。

●継続的改善 ●コーチング ●ファシリテーション ●サーバントリーダーシップ

以上、学ぶべきことが多いというよりは、それらの概念を理解した上で自ら獲得していくものが大半です。これらの体得には不断の努力が求められますので、自らのステップアップ計画と連動させ、ぜひアジャイル人材を目指してください。

 

アジャイル開発はDX実現の切り札となる!

image

アジャイル開発においては、テクノロジー面も必要ですが、何よりも行動変容が求められます。アジャイル組織、アジャイル人材が求められています。一方、経済産業省が提唱しているDX(:Digital Transformation)も、単にデジタル化ということではなく、行動変容を通じて組織を変え、人を変え、ビジネスモデルの変革することを目的としています。そうした意味では、アジャイルとDXは表裏一体の関係にあると言っても過言ではないでしょう。

DXのタイムリミットは2025年、余すところ4年もありません。この間に、企業は大転換を迫られています。一方で冒頭に述べたように、IT人材の不足は深刻化しています。この限られた時間の中で、システム開発のスピード、生産性を飛躍的に向上させる必要があるからこそ、スピード開発に強いアジャイル開発が求められるのです

DXとは?その意味と日本の現状、DX推進の障壁となる要因を分かりやすく解説!

 まずは行動変容

今や、ペーパーレス、印鑑の廃止、ワークフローやSFAが当たり前になっています。一方で、古い組織や、古いやり方をなかなか打破できないのも事実です。その原因は人です。だからこそ行動変容が必要なのです。過去の成功体験は捨てましょう。頭をまっさらにして、まずは自分を変えることです。意識が変わらなければ行動は変わりません

 DX推進はアジャイルで

今、DXを実際に推進する多くの企業では、DX推進の有効なアジャイル開発の検討や適用を始めています。アジャイル開発の普及や成功が、企業の競争優位を獲得する重要なバロメーターになってきます。

しかしアジャイル開発は、IT部門だけの問題ではありません。トップも含めて企業全体にアジャイルの導入や定着が必要です。マネジメントそのものもアジャイル思考に変えなければなりません。

ウォーターフォール型の組織や開発手法を全面否定する必要はありません。ウォーターフォールが適した業務やシステム開発はあります。これまでウォーターフォールで培ってきた考え方は理解し、必要な部分は活かし、企業や組織の目的、方針や戦略に合わせた、それぞれのアジャイルを志向すべきでしょう。いずれにしても、今変わらなければ、未来はありません。DX推進の鍵はアジャイルにあるといっても過言ではないのです。

DXの取組事例に学ぶDX成功のポイントとITエンジニアへの期待
気になる人のXをフォローしよう!
アンドエンジニア公式LINEでは
新着記事やエンジニアに役立つ情報をお届け!
日々のキャッチアップをお手伝いします!
マイナビITエージェント

編集部オススメコンテンツ

Sponsored
【無料個別転職相談会】アプリケーションエンジニア向け!リモート・在宅勤務で働きたい方へ
マイナビITエージェント
Sponsored

アンドエンジニアへの取材依頼、情報提供などはこちらから

お問い合わせ・情報提供
はじめて転職される方へ
SE・システムエンジニア(IT/通信/インターネット) 求人一覧

編集部おすすめコンテンツ

Sponsored
【無料個別転職相談会】アプリケーションエンジニア向け!リモート・在宅勤務で働きたい方へ
マイナビITエージェント
Sponsored

アンドエンジニアへの取材依頼、情報提供などはこちらから

Powered by マイナビ AGENT