現実社会でのソフトウェアと理想的な開発の進め方

私達は、コンピューターは無くてはならない程に、高度に発達した社会に暮らしています。
例えば自宅から明日の朝に乗る新幹線のチケットを予約するシステムを例に挙げると、インターネットを通じて目的のチケットを予約して、当日に窓口で入手する事が出来るでしょう。



これは、WEBブラウザーを利用して、所定の手続きを行うソフトウェアが実行される事によって実現出来る事になります。

今度は、もっと身近な例を出して見ましょう。

Nutanixの仕組みの専門知識を身につけましょう。

例えばあるメーカーの自動車は、およそ700万ステップという膨大なソースコードにより開発されています。
しかし、ソフトウェアを作成するのは人間ですから、間違いを100%回避する方法は今の所見つかっていません。

NAVERまとめの特徴をご紹介するサイトです。

もし、自動車の駆動系等を制御しているソフトウェアに問題が発生すれば、運転中に事故を引き起こし兼ねません。ですから、人間が出来る事はバグを出さない努力をするのでは無く、バグが出たとしても直ぐに問題箇所を特定し修正出来るプログラミング言語や、コンパイルやデバッグ等を効率的に行える環境を整えてから開発を始めるべきなのです。

当然ですがコーディングに移る前には少なくとも要件定義を明確にして、基本設計を済んでからコーディングに取り掛かりましょう。

理想としては詳細設計等まで行うべきかも知れませんが、中小企業の場合ではそこまでやっている時間的猶予が無いというのが実際の所でしょう。


しかし、そうするとクライアント側の認識と開発側の認識にズレが生じる可能性があり、場合によってはほとんど全てを作り直しとなる事もあるかも知れませんので、クライアントとのコミュニケーションを十分に採る必要があるでしょう。