ソフトウェア工学
情報屋さんが関係するジャンルの一つに、ソフトウェア工学と呼ばれるものがあります。
これは非常に大雑把に言うと、ソフトウェアを作ることそのものではなく、ソフトウェアをどのように作ったら良いか、すなわちその作り方を考えようとする学問分野です。
そこには様々な考え方がありますが、大抵は、闇雲にソフトウェアを作り始めるようなことはしてはならない、という立場を取ります。
闇雲にではなく、体系的な作り方を定めてからそれに沿って作ろうとします。
その結果、製品の完成までにかかる期間が短くなったり、その期間を予め見積もることが可能になります(可能にすることを目指します)。
ところで、ここには一つ前提があります。
その前提は、「そんな面倒なことを考えている暇があったら、闇雲でも何でもどんどん製品を作り始めればいいじゃないか」との大きな疑問に対する回答になります。
それは、作成するソフトウェアが、非常に大きな規模であり、それに伴ってとても一人の人間が全体像を把握できないほどの複雑さを持っているということです。
この点において、「先のことはわからないけどとにかく作ってみよう!」といったアプローチでは、現実的には製品を完成させることができないのです。
タスク管理
ここまでの話は、特に私が改めて言及するまでもないことです。
ちなみに、ここは少し重要で、先述したことは十分に研究されていることであり、異議を唱える余地はまずないだろうことを確認しておきます。
さて、ここで持ち出したいのは、タスク管理のことです。
タスク管理を非常に大雑把に言えば、タスクをこなす前に「どのようにタスクをこなしていくべきか」を考えることになると思います。
(もちろんそれだけではないはずです。)
ここまで言えばもう察せられるでしょうが、タスク管理について、「そんなことを考えている暇があったら、一つでもタスクをこなした方が早い」といった批判は当たらないのです。「そんなことを考えている」方が早いわけです。
タスクとソフトウェア
もちろん、上記のことはタスクとソフトウェアが似た性質を持っていることが必要になりますが、私は以下の点で適当だと考えます。
- 作業するのは人間
- (闇雲にやると)所要時間の正確な見積もりが不可能
- 複数回行った際、毎回同じことをしているようで、その実毎回創造的な作業が必要
タスクが多い
以上から言えることがあります。
やはりソフトウェアの話からタスク管理を捉えなおすと、タスク管理に価値が出てくるのは、タスクの量が非常に多く闇雲ではとても終わらないような状況においてとなります。
よく「忙しいときほどきちんとタスク管理を行うべきだ」といった話を見かけますが、それどころではなく、そもそも忙しいときのためにタスク管理があるのです。
他方で、数学的には、タスクが十分に少なければどんなに闇雲に取りかかっても全て完了させられるとも言えるわけです(もちろん「数学的には」なので、実際には違います)。
裏側と勇気
実は(というほどではありませんが)、タスクをこなすことには別のアプローチもあります。この点において、タスクをこなすことはソフトウェア作りほどは複雑でないと言ってもいいでしょう。
こちらの記事が参考になります。非常に素晴らしい記事です。
苦しいときはタスク管理システムをシンプルに戻すことも選択肢の1つ
内容は記事タイトルがよく表していますので引用はしませんが、すなわちタスクをこなす際に「とりあえずやってみる(に近い)」方法でも、何とかなるのです。
もちろんタスク管理をしっかり行った場合よりはいろいろと無理も出てくるでしょうが、何とかはなります。
これは非常に勇気の出る事実です。
あまりにタスクが多い場合には、もちろんしっかりとしたタスク管理手法を用いるのが良いです。
しかし、もしそれで苦しくなってしまっても、今度は「とりあえずやってみる」アプローチを採ることが可能です。そして「とりあえずやってみる」内に、再びしっかりとタスクを管理したいと思うようになったのなら、またタスク管理手法を持ち出してくれば良いのです。
いずれにせよ、タスクを進めることだけはできるわけです。
終わりに
やはり二つでした。