明電商事のオススメ!アジャイル開発とは?

明電商事では既存のICTサービスの販売に加えて様々なシステム開発も請け負っています。
そこで明電商事が選ばれる理由として「アジャイル開発」によるシステム開発を行っていることが強みとなっております。
今回はアジャイル開発について紹介させて頂きます。
1.アジャイル開発とは
先ずアジャイル(agile)という言葉を直訳しますと「素早い」「俊敏な」となります。
そして「頭の回転が早い」というニュアンスも含まれます。
アジャイル開発(アジャイルソフトウェア開発)は、
システム開発(ソフトウェア開発)におけるプロジェクト開発手法のひとつです。
システム開発を大分類で開発工程を分けると「計画→設計→実装→テスト」となりますが、
アジャイル開発では優先度の高い要件から小単位で実装とテストを繰り返して開発を進めていきます。
また、概念として「プロジェクトに変化(変更)はつきもの」
という前提で進めていくので仕様変更に強く、
プロダクトの価値を最大化することに重点を置いた開発手法と言えます。
因みに従来からシステム開発の主流である「ウォーターフォール開発」ですと
初めにプロジェクトの要件定義や設計を細部まで煮詰めてから開発を進めるので、
先ず要件定義の段階で多くの時間を割かれます。
また、その後に開発されて「思ったものと違った」ということがあっても
簡単には修正出来ませんし、さらに時間と開発費用がかかってしまいます。
アジャイル開発では優先度の高い重要な機能から着手できるため、
素早くリリースしてからブラッシュアップしていくことが可能です。
アジャイルの言葉通り、サービスインまでの期間を短縮することができ、
システムの運用開始時期を早めることができます。
発注側のメリットとしては
・従来の開発手法に比べて開発期間が短縮される
・初期コストを抑えることが可能
と言えます。
また、完成後もシステムの「改善開発」を行っていくことで
ユーザーの「理想のシステム化」を行っていくことが可能です。
2.アジャイル開発のメリット・デメリット
明電商事ではアジャイル開発をお薦めしていますが、
そうはいっても開発によって向き不向きもあります。
ここではアジャイル開発のメリットを改めて紹介した上で、デメリットも紹介させて頂きます。
アジャイル開発のメリット
アジャイル開発のメリットは、先ず「素早い」の言葉通り
臨機応変に柔軟な対応が可能で開発スピードが速いことになります。
ウォーターフォール開発の場合だと
要件定義で決定した設計・計画に沿って開発を行っていきますが、
思ったものと違うといった場合に、開発部分によっては
修正にかかる時間や開発コストが膨大になる可能性があります。
しかし、アジャイル開発は機能単位で設計→開発→実装→テストを繰り返し行っているので
リリースのタイミングが早く、思ったものとの齟齬や不具合が発生したとしても
修正にかかる工数が少なくて済みます。
また、開発途中もコミュニケーションを取りながら
テスト(フィードバック)を行っていくので、
利用者の要望に沿った開発ができるのも大きなメリットになります。
アジャイル開発のデメリット
アジャイル開発のデメリットは
仕様・要件ごとにスケジュールを設定して開発に臨むため、
全体スケジュールのコントロールが難しいことだと言われています。
発注者の「やりたいこと」を聞いていく上で、
予定していた要件から「夢のシステム開発」になってしまい
要望がどんどん広がっていくことも・・・ 。
また、コミュニケーションを取っていく中で、
発注者のイメージが固まらず次へ進めなくなってしまうといったケースもあります。
3.明電商事がアジャイル開発をお薦めする理由
明電商事でアジャイル開発をお薦めする理由を紹介させて頂きます。
システム化は、業務効率の効率化やお客様の新しい付加価値創造のための
投資であることは間違いないと思います。
しかしながらシステムは稼働するまで時間を要するものです。
新しいシステムが出来上がるまでは従来のシステムを使って
低い生産性の中で業務を回すしかありません。
アジャイル開発では、システム化投資の効果のあるところ(価値のあるところ)から、
システム化を行い、反復開発を行う手法です。
つまりアジャイル開発は、システム化メリットを早く享受するプロセスと言えるのです。
また、アジャイルでは動くプログラムを正とします。
もちろん開発途中で必要なドキュメントは作成しますが、中間成果物的なドキュメントは極力廃止し、
動く画面、プログラムを見ていただきながら、仕様齟齬を回避し開発を進めます。
従来型のシステム開発では、中間成果物を作成するために時間とコストを費やしてしまいますが、
アジャイル開発では価値の生まないドキュメントは作成せず、
プログラム開発にリソースを向けるため、高いコストパフォーマンスでのシステム開発を実現します。