QSPで完成度を高めようとすると作った後で仕様変更を行うことができない(一からプログラムを作り直す必要がある)ため事前に明確な仕様を決めておく必要がありますが、制限のない普通のプログラムならばある程度は柔軟に対応できます。 初心者が陥りやすいのは「最初に考えた仕様書通り作って完成させなければならない」と考えてしまうことです。 最初に考えた仕様書の段階で間違っているというのは良くある話です。 「仕様書通り作ったのにちゃんと動作しない」という場合はその仕様書を疑う必要があるでしょう。 それだけではなくお絵かきソフトなどのツールを作る場合は作った後で機能の追加をしたくなることも多いと思います。 そういう時のために変数名やラベル名や自作関数名などに自分の中での法則性を持たせておくと後から自分が見ても分かりやすいため便利です。