システム開発にかかるトータルの時間は、それほど変わらないかもしれません。でも初心者にとっては、この順番が非常に大事です。
○ 全体 → 細部
× 細部 → 全体
ここで言う「全体を作る」とは、システムが最低限の基本的な動きができる状態のことを指します。エラー処理や、入力チェックなどは、省いた状態でかまいません。
正しいデータを入力した時に、正しく処理を行ない、正確な結果が出るなら、OKとします。
システムを一旦作り上げてから細部にこだわるのと、開発の途中で細部にこだわるのとでは、心理的な負担が全く違います。★重要
プログラミング初心者は、システムの全体像が見えていないのと、あとどれくらい時間がかかるのか、検討がつきません。そのため締め切りが近づくと焦ります。
でも一度作ってしまえば、心理的に楽になり、余裕ができます。プログラマーは余裕があれば、良いアイデアが浮かびやすいものです。
プログラムのソースコードは、簡単にバックアップできます。細部にこだわった結果、もしプログラミングに失敗しても、元に戻せばいいだけです。
プログラムが動いていた時点のソースコードに戻すだけなので、失敗を恐れずに、何度でも改良することができます。
プログラミングをする人と、システムを使う人(ユーザー)が異なる場合は、予想外のデータを入力することがあります。
安定したシステムを作るには、ちゃんとエラー処理をプログラミングしなければなりません。実はエラー処理がメインの処理より長くなってしまうことがよくあるのです。
また、ユーザーがシステムを使いやすいように、テキストボックスではなく、コンボボックスから値を選択できるようにするなどの改良が必要になってきます。
これらがプログラミングで手間のかかる部分です。
基本的な動きは2割の時間で出来たのに、その他の部分で8割も時間がかかってしまうことがあるほどです。
そのため、システム開発の途中で細部にこだわると、道に迷う状態になりやすいので、注意してください。
大事なのは、とりあえず基本的な動きができる状態まで作り上げることです。
ただし、プログラミングに慣れ、システム開発の経験を重ねるうちに、途中でも「あと○○時間くらいかかりそうだ」という感じで、全体像が見えてきます。
自分の現在位置を俯瞰することができるようになると、焦らなくなるので、順番は気にしなくてかまいません。
また職業でプログラミングを行なっているプログラマーは、仕様書にしたがってプログラムを書きます。
そもそも大きなシステムの一部分しか担当しないこともあるので、必ずしも全体像を把握できるとは限りません。
でもプログラミング初心者が上達するには、とりあえず全体を作り上げてから、細部にこだわるという順番をおすすめします。
そのほうが絶対プログラミングの上達が早いからです。