ソフトウェア開発の手法には非常に多くのものが提案され、 開発 の現在で採用されています。
これら一つ一つについて発注者側が理解することは現実問題として、非常に困難です。
しかし、主だった 開発手法 にはどのようなものがあり、どのような特徴があるか理解しておくことで、
自社の 業務システム の導入の進め方の参考になります。

そこでこの記事ではソフトウェアの 開発 で多く採用される
 ウォーターフォール型 と アジャイル型 の 開発手法 について解説します。

 業務システム の主な 開発手法 とは?
 業務システム に限らず、ソフトウェアの 開発手法 には様々なものがあります。
その代表的なものとして ウォーターフォール開発 と アジャイル開発 があります。

一般的にソフトウェアの 開発 は

設計->実装->テスト->リリース->運用

のステップで進行します。

 

 ウォーターフォール型 の 開発手法 とは?

想定しているすべての機能を一度にリリースすることを前提に 開発 を進める手法を
ウォーターフォール型 と言います。
上流工程から順にひとつずつ、タスクを完了させながら進行するため、直感的でイメージしやすい 開発手法 です。
完成時のイメージもしやすいため、導入後の運用方法もあらかじめ検討しやすいメリットがあります。

小規模なシステムであれば、比較的計画通りに 開発 を進めることができます。

しかし、規模が大きくなると設計段階で検討事項も多くなります。
そのため、実装中に設計段階での検討すべき内容が漏れていたりすると、
部分的にであっても設計を修正する必要が出てきます。

このようなことは設計に限った話ではなく、テスト段階になって実装漏れに気づく、
リリースしてからテスト漏れ、実装漏れに気づく、と言ったことが発生します。
そのようなことが起こると、作業の手戻りも増え当初の計画よりも日程遅延や開発費用の増大につながります。
システムの規模が大きくなるとこのようなリスクはより大きくなる恐れがあります。

そのため、 ウォーターフォール開発 は
小規模なシステムか、設計期間が十分に確保できるシステムに向いていると言えます。

 

 アジャイル型 の開発手法とは?

 ウォーターフォール型 の 開発手法 では一度にすべての機能を搭載するため、
システムが大規模化すると設計段階で検討漏れが発生しやすくなり、
開発日程の遅延や開発費の増大につながることをご説明しました。

そこで、何度かに分けてリリースすることを前提に、実装する機能に優先順位を付け、
その優先度順に段階的に機能追加していくような手法を アジャイル開発 と呼びます。

それぞれの 開発 では

設計->実装->テスト->リリース->運用

の順に進める点は変わりませんが、 アジャイル開発 では、
リリース後、運用中に次の機能の設計を行います。

ひとつずつの開発規模が小さくなり、これを繰り返して完成に近づけていきます。

これにより検討漏れのリスクが小さくなり、計画的に制作を進めることが可能となることがメリットです。
また、当初作成した機能追加の内容よりも優先すべき課題がリリース後にユーザーの反応から出てきた場合なども、
そのことに柔軟に対応できる点もメリットのひとつです。

そのほか、小規模な機能で短期間で市場投入できるため、
ユーザーからのフィードバックを早期に得ることができ、
特に業務システムにおいては、ユーザー=社員となるため、フィードバックをこまめに集めやすく
より重要なフィードバックが出た際も比較的早く対応できます。

 業務システム は主に社内で使われるため、
運用開始時点では欲しい機能が未実装だったとしても、
機能追加計画を事前に関係者へアナウンスしておくことにより、スムーズな導入が期待できます。

そのほか、制作会社側の事情ではありますが、機能追加することを前提としてシステムが構築されるため、
開発の区切りの良いところで制作者を交代したり、
増減したりと言ったことが ウォーターフォール型  の開発 よりも柔軟に行えることもメリットです。

 

 

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

必要な機能に絞って運用を開始でき、運用開始後もユーザーからの要望の強い機能を優先的に追加できるなど、
 アジャイル開発 は万能に思えるかもしれません。

しかし、この手法のデメリットもあります。
その一つが全体の開発計画が見通せない、というものです。

柔軟に対応できることの裏表ではありますが、どうなれば機能追加が完了するのか、
ユーザーの声への対応が収束するのか見通しづらいということが挙げられます。
そのため、開発費、開発日程を開発初期の段階で見積ることが非常に困難です。

そのほか、これも柔軟に対応できることの裏表ではありますが、
ユーザーの声を積極的に取り入れるため、場当たり的、なし崩し的に見えてきて、
 開発 するシステムの目的、目標にブレが生じる懸念があります。
機能追加の優先順位の付け方の基準も不明確となり、声の大きい人の言いなりになりがちです。

 

まとめ

この記事ではソフトウェア開発の主な 開発手法 として
 ウォーターフォール開発 と アジャイル開発 があることについて解説しました。
発注する側の方は用語を覚えていただく必要はございません。

しかし、異なる 開発手法 があり、それぞれに特徴があることを理解しておくことで、
自社の 業務システム開発 を依頼する際、どのように進めるのが良いのかイメージしておくことで
社内の主要関係者の意見調整やリリース計画の作成、制作会社とのコミュニケーションがスムーズに進みます。
是非、参考にしてみてください。

SIA では 業務システム 開発 のご依頼を承っております。
少数精鋭ならではの小回りが利く体制で
お客様のご要望にスピーディにスムーズに対応いたします。
さまざまな規模のシステム開発に携わった経験から、
プロジェクトごとに適切な 開発手法 のご提案も行います。
ぜひお気軽にお問い合わせください!

Accessibility Toolbar