【ITエンジニア】(10)開発手法について

システム開発とは

システム開発とは …

そもそも「システム」とは、コンピュータやネットワーク、サーバなどの情報機器やプログラムで出来たものだけを指す言葉ではない。
特定の目的を達成するための手段や体系化された手順を意味し、企業にとっては「業務の仕組み」そのものである。

システム開発とソフトウェア開発の違い

「ソフトウェア開発」とは、ユーザー(最終的にそのソフトウェア製品またはシステムを使用する人・団体)のニーズやマーケティング上の目標をソフトウェア製品に変換する作業である。

ビジネスにおけるシステム開発の位置付け

1つのシステムが生み出されるまで

一般的なシステム創出のフロー(外部のシステム開発案件を請け負いリリースするまで)

1つのシステムが生み出されるまでの、一般的なフローについて図にしたものがこちら。

そしてこの範囲が、一般的なシステム開発の範疇になります。

余談ですが … 開発後のフェーズである「保守・運用」とは何か?

運用」とは

開発されたシステムが正常に動作しているかを監視し、トラブルが起きないよう管理すること。

保守」とは

システムの一部を変更したり、新たな機能改善を施すことなどを指す。
バグなどの障害発生に対し、原因究明や改修、新規プログラムの導入を行う。
システムだけでなく、ネットワークやサーバの問題に対しても適切な環境整備の対応を行う。

代表的な開発手法

ウォーターフォール開発

ウォーターフォールのV字モデル

製品リリースまでの一連の流れと、開発/テストの関係性を表したもの

開発体制

開発チームのよくある体制図の例

アジャイル開発

アジャイル開発手法とは

アジャイルは、「明確な開発ルールのもとに、イテレーション(短い反復)を回しながら効率的に開発を行う手法」のことを言います。

アジャイル全体で、おおよそ共通的な考え方が、このイメージ図です。
ある程度決まったスパン(期間)の中で設計からテストまで行い、成果物を都度公開していきます。

ウォーターフォールと比較するとわかりやすい

ウォーターフォール型開発と比較すると少しイメージしやすいでしょう。
アジャイル開発では、そんなに規模も大きくないためウォーターフォールに比べて少人数になりやすく、そのため全員がある程度オールマイティーに開発できるようになることを求められます。

それぞれの開発手法は万能ではない

開発手法とは、時代や状況によって、必要に応じて生まれている背景があるので、手法自体に優劣があるわけではなく、それぞれ得意分野が違います。

例えば、ウォーターフォールやスパイラルは規模の大きな開発が得意ですが、お金も時間もかかります。

アジャイルやプロトタイプは大規模なシステム開発は得意ではありませんが、スピーディーで柔軟な開発ができます。
しかし、システム開発は、原則、予算と契約範囲の中でしかできないため、必ずしも商品やサービスの機能だけで手法を決める訳ではありません。

まとめ

システム開発とは業務の仕組みの開発

システムを開発する方法には様々なものがあるが、最終的な目的は、「開発されたシステムによって業務に価値や効果をもたらすこと」であることを忘れない。

規模や予算によって向き不向きがある

開発手法は、「何を作るか」だけでは決められず、予算と契約内容にも大きく影響される。

現実は教科書通りではない

開発手法には、それぞれルールや特徴があるが、実際の現場では、他の開発手法のやり方が多少入り混じったり、現場特有のやり方などもあったりするので、基本概念を理解した上で、現場の開発文化に各自が慣れていくべし。

※最新の情報の取得・更新に努めておりますが、掲載内容については、その正確性、完全性、有用性、最新性等についていかなる保証もするものではありません。

タイトルとURLをコピーしました