ソフトウエア開発の経験が全くない素人集団を率いて、100%外注に頼っていた、基幹業務を支えるソフトウエアを内製に切り替えるプロジェクトに取り組んだ。よいと言われる方法は色々試したが結局は「作業日報」を使う原始的なやり方が一番効果的であった。ソフトウエアの世界は日進月歩であるが、事業の根幹を支えるソフトウエアをきちんと作るには、オーソドックスに開発実績をきちんと把握することが基本である。内製化プロジェクトを通じて編み出したソフトウエア開発のポイントをまとめてみた。


 ソフトウエアの特質およびソフトウエア開発に求められる要件についてポイントを整理してみた。いずれも、かつて筆者がゼロからソフトウエア開発に取り組んだ結果、得たものである。まずOS(基本ソフトウエア)といわれる「システムソフトウエア」と、直接顧客が利用する「アプリケーション(応用)ソフトウエア」に大別し、その要件をまとめておく。

 システムソフトウエアについては、運転の連続性とトラフィックの変動に対する処理能力の耐性が極度に求められる。このため、バックアップ処理や競合処理に対する十分な目配りをするとともに処理スピードや記憶容量などコンピュータのハードウエア面についても配意する必要がある。さらにサービスの拡張などに伴う機能追加が実行しやすいプログラム構造に絶えずリファインしていく努力も求められる。

 一方、アプリケーションソフトウエアは、そのシステム導入の狙い、業務運用コストやスピードなどの目標を明確にし、投資効果についての目配りを怠らないこと、そのシステムの購入者あるいは最終利用者の満足度について配意すること、が重要となる。

 どちらも次の4点は必須である。
・運転の連続性を確保するため、新旧バージョン間の互換性について十分配意する
・機能追加の要求とその実行を管理するシステムを確立しておく
・厳重なセキュリティー対策
・開発における分かりやすいスケジュール管理とコスト管理