ソフトウェア開発の流れ

ソフトウェアって、どうやってできるの? – ソフトウェア開発の具体的な流れ

今回はソフトウェア開発の
具体的な流れ
について
お伝えしたいと思います。

自分達の会社で IT 事業を
立ち上げたい・・・

もしくは、

どこかに外注して
自分達の独自の
ソフトウェアやシステムを
開発したい・・・

だけど、

ソフトウェアの開発って
具体的に
どうやってやれば
いいのだろうか?

今回は、その様な疑問に
お答えする内容に
なっています。

まず、ソフトウェアの開発は
大きく、4つのステップに
分かれます。

要件定義

何を作るか決める。

あまり知られていない部分かも
しれません。

ユーザーがやりたい事を、
ソフトウェアとして
どの様に実現するかを
考えるのもエンジニアの仕事です。

ですから、依頼者側は実は
「ソフトウェアで何をやりたいか?」
までを決めておけば十分で

「どんなソフトウェアを
作りたいか?」
まで決めておかなくても、
それでソフトウェア開発を
進める事は可能です。

下請けを専門としている企業等では
この「要件定義」に
対応できないところもあります。

設計

どうやって、作るか決める。

ソフトウェアは建築と同様で、
作ると決めてから、
そのまま作り始める事が
できる訳ではありません。

どの様な構造で作っていくのか?
それをこのフェーズで
決めていきます。

実装

実際に作る。

ソフトウェアを作る時には
プログラマーが
プログラミング言語を使う・・・

という事を何となく聞いた事が
あるかもしれませんが、それが、
この「実装」フェーズに当たります。

テスト

作ったものが実際に動くか確かめる。

ここのフェーズは非エンジニアが
対応する事もあります。

 

つまり、

何を作るか決めて、(要件定義)
どうやって作るか決めて、(設計)
実際に作って、(実装)
きちんと動くか確認する・・・(テスト)

言ってしまえば、
ただ、それだけの手順になります。

ですが、
この4つのフェーズの回し方は
組織やプロジェクトで
大きく異なります。

まず、従来からある
「ウォーターフォール型」
呼ばれる開発モデルでは、

要件定義、設計、実装、テストを
順番通りに1回ずつ行なっていきます。

ウォーターフォール型

これは、工業製品の
製造モデルをそのまま
ソフトウェアに持ってきたものです。

一番最初に開発計画を立てて、
後はその計画通りに勧めます。

しかし、この開発方法は、

「要件定義」フェーズが
終わってしまうと、
依頼者 (クライアント) は
後はできあがるのを待つだけ・・・

その結果、想像と違うものが
出来上がってしまった・・・

等といった問題点が
出てくる様になりました。

 

そこで、現在
広まってきているのが
「非ウォーターフォール型」
(アジャイル型とも呼ばれます。)
と呼ばれる開発モデルです。

非ウォーターフォール型

これは、ウォーターフォール型では
「要件定義」「設計」
「実装」「テスト」
を何度も回していく・・・

そして、「テスト」が終わった
段階でクライアントに見て頂き、
フィードバックをもらって
それをソフトウェアに
反映させていく・・・

これを繰り返して
ユーザーにとって
「価値の高い」ソフトウェアを
作る事を目的としています。

 

非ウォーターフォール型の
開発は、数年前から
海外で急速に広まってきた
開発方法です。

国内では、
これまで工業製品で目覚ましい
発展を遂げてきた事もあり

従来のウォーターフォール型の
開発から
なかなか抜け出せられないところも
多かったのですが、

それでも、近年では
少しずつ広まってきました。

 

ウォーターフォール型は
言ってしまえば、
最初に作るものを決めてしまえば
後はエンジニアに
任せっぱなし・・・

そして、まだまだこちらが主流なのですが

最近は、
エンジニアとクライアントが
一緒に協力して開発を進めていく
非ウォーターフォール型の
開発も徐々に広まってきています。

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

お知らせ

プロフィール

田中 聡

Trans-IT [トランジット] 代表

Mass++ ユーザー会 代表

略歴
1998年 東京工業大学理学部情報科学科卒業。2000年 北陸先端科学技術大学院大学情報科学研究課卒業。
塾講師 (高校数学・物理) を経験した後、2001年に IT 業界に就職。 主に研究者を対象とした実験データの表示・解析ソフトを開発する。2015年4月にフリーランスとして独立。Trans-IT [トランジット] を立ち上げる。現在は栃木を拠点にソフトウェア開発を行なう傍ら、ホームページ作成やプログラミング講師、専門学校非常勤講師といった業務も行なう。主な実績は こちら
得意分野
数値計算、2次元・3次元の表示機能の開発、
変更や拡張に強いソフトウェア設計
趣味
トライアスロン
PAGE TOP