【備忘録】初めてのシステム開発で学んだこと、反省点

コラム

初めてシステム開発を行ったときの反省点を備忘録的にまとめます。

プログラムのバージョン管理

始めの方はよかったのですが、修正したり、元に戻したりしているうちにどれが最新版か分からなくなってしまうことがありました。
さらに、2台のパソコンで開発していたので、なおさらバージョンが分かりづらくなりました。
ファイルの保存場所と命名規則を決めて、バージョンを管理する必要があります。
1人ならまだしも、2人以上で開発することも考えたら、GITなど、バージョン管理ツールの使用も要検討です。

使用する環境(サーバーやデータベース)の仕様確認

WEBシステムでは、レンタルサーバー等を借りて、開発していくことになると思います。
今回は、レンタルサーバー上で動作するデータベース(MySQL)を使ったのですが、「データベースやテーブルを作成するコマンドが使えない仕様」になっていることに、開発中に気づいて焦りました。
大きな問題にはなりませんでしたが、開発前にシステムの要件に合わせて、ハード・ソフトの仕様をきちんと調べてから使用する必要があると感じました。

プログラムのフローチャート

プログラムの流れを表すフローチャートを書いておくと、後から流れを把握したり、デバッグしたりするときに役立つと感じました。
どこまで細かく書くかが悩みどころですが、とりあえずコメントも入れまくって、流れが分かるようにしておけばいいですかね。
フローチャートがあると、他のコーダーさんにレビューをお願いするときにもスムーズです。

モジュール単位の仕様をまとめる

自分の書いたプログラムを後から修正するときに、1からプログラムを読んで、意味を理解しなきゃいけなかったので、ムダに時間がかかりました。
プログラムのモジュール(一連の処理)ごとに仕様をまとめておくと、プログラムを修正するときに役立ちます。
誰が見ても分かるプログラムを書ければいいのですが、いきなりはそうもいかないので「何をしてるプログラムなのか?」が分かるようにしておくといいです。
フローチャートとあわせて作成しておくと、コーディングのときにラクになります。

開発中に起きたできごとは些細な事でも全て記録

システムの仕様変更や、お客様の要望など、開発中に起きたできごとは、時間が経つと忘れます。
すると「ここのプログラムはなんで修正したんだっけ?」のように、後から混乱してしまいます。
1つの案件だけに集中できればいいのですが、たいていは他の仕事や用事などを併行している場合が多いと思います。
そういった場合にも、きちんと内容を把握するためにも、どんな些細な事でも全て記録しておくべきです。