スパイラルに学ぼう




私の環境だけかもしれませんが、成長することについて、「スパイラル」とか「繰り返し」「アジャイル」「テスト駆動」とかいう言葉をよく聞いたり、言ったりすることが多くなったような気がします。

■ウォーターフォール開発


私の専門で言うと、ソフトウエアの開発プロセスは、昔は

 ウォーターフォール

という開発方法でした。

これは、

 要求→仕様→設計→製作→評価→納品

という開発のプロセスを一歩づつ正確に刻んでいくことで、ソフトウエアを開発するプロセスです。

同様に、学生時代の勉強もこれに近いものでした。

 1年生で足し算を学ぶ
 2年生で引き算を学ぶ
 3年生で掛け算を…
 4年生で割り算を

みたいに、順番に高度化していくのですが、それぞれのレベルは下位のレベルを下敷きにしているので、下位のレベルが理解できていることが前提です。もし、下位のレベルが理解できていないままとか、何かにつまづいてしまうと、その上位のレベルの勉強は理解できません。

いわゆる「落ちこぼれ」の一丁上がり。

ソフト開発でも、設計をしている時に、仕様に欠陥があると、間違った仕様に従って作られたソフトは、正しい動作をすることはありません。ですので、それぞれの段階で徹底したレビューをして欠陥ゼロの状態で下流に渡さないといけないわけなのですが、所詮人間が作るものです。欠陥ゼロなんて現実にはありえません。

私が書いているこの記事も、いつも欠陥だらけで、一応見なおしてはいるのですが、公開してからで誤字脱字や論理矛盾・欠落に気がつくなんてのは日常茶飯事。

■スパイラルに学ぶ


そこで使われるようになったのが、「スパイラル開発」という開発手法です。
アジャイル」とかいろいろな呼び方がありますが、考え方は似たようなもので、

 行きつ戻りつして開発する

という開発手法です。

テスト版を作成してみて、実際に使ってみて、利用者のイメージに合っていればそれをもうちょっと強化したバージョンや、機能を増やして実装したものを使ってみる、ちょっと違うようならそこを修正してみて、もういちどユーザに確認してもらう。

なんども開発→納品を繰り返しているうちに、高度なシステムが完成していきます。

先の足し算から割り算にいたるようなプロセスでも、掛け算でつまづいたら、もういちどちょっとだけ足し算に戻ってやりなおす、みたいな感じ。

つまづいたら、躓く前のところに戻って、もういちどやり直してみると、前に勉強した時には気付かなかったことや、誤解した所を修正して再度高度なことを勉強すると、その前提となっている基本事項に精通してきて、高度なこともちゃんと理解できるようになるわけですね。

だからといって、下敷きになる部分をいい加減にしておいて、上位のことを勉強しても理解は出来ません
ちゃんと段階を踏む必要が有ることも確か。

どこまでやれば上位に進んでいいかどうかは、確認テストをしながら、自分で判断するしかないです。
学生なら先生や学習システム(期末テストとか)が判断してくれるはずですが。

極論を言えば、上位のことを学んでみて理解できなかったら、下位のことに戻って勉強しなおせば、無駄なく勉強できます(すでにわかっていることをもう一度勉強する必要がないため)。
ある種の勉強方法は、そういうやり方を勧めているものもあります。



posted by 管理人 at 04:38 | Comment(0) | TrackBack(0) | 知的生産術 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:


この記事へのトラックバック

広告


この広告は60日以上更新がないブログに表示がされております。

以下のいずれかの方法で非表示にすることが可能です。

・記事の投稿、編集をおこなう
・マイブログの【設定】 > 【広告設定】 より、「60日間更新が無い場合」 の 「広告を表示しない」にチェックを入れて保存する。


×

この広告は180日以上新しい記事の投稿がないブログに表示されております。