今回はタスク管理についてです。
システム開発(に限らないけど)の仕事をしていると、やらねばならないタスク(仕事)がたくさん出てきます。
人間はシングルコアなので、並列処理は擬似的なタイムスライシングによって実現されます。
しかし、人間のメモリは揮発性が高いため、機械的な補助がないと再開されないスレッドが出てきてしまいます。
そんなわけで、タスク管理術というのがビジネス本ではぼちぼち存在するのですが、
せっかくIT業界人なのですから、タスクの管理をするシステムはどのようなものか考えて見ましょう。
システムを設計するには
システムの設計というと大仰ですが、コツを掴めばそれほど難しくはありません。
業務でやっている人だと要件定義という話からしがちなのですが、そのまえに決めておくことがあります。
システムの目的です。
システムというのは目的があって作られるんですね。XXができるようにしたい、とかXXの不便を解消したいとか
そういう思いがまずあるはずなのです。
そこが不明なプロジェクトはうまくいきません。システムは手段であって目的ではないのですから。
目的を失ったシステムは路頭に迷ってしまうのです。
今回の場合、第一の目的はタスクを忘れずに記録し、作業漏れをなくすということです。
しかし、これだけだと既存のシステムで十分なのでもっとこうだといいのになぁ、
という方向で想像を逞しくしてみましょう。
- 直近の作業だけを管理するのではなく、ガントチャートのような作業計画を作れるようにして未来の作業も管理したい
- タスクごとに費用と時間の概算値や実績値を入れることで、工数管理ができるといいなぁ
- 設計フェーズ、開発フェーズ、テストフェーズ、運用フェーズとすべてに対応できないものか
- バージョン管理システムとの連携はぜひやりたい
なんだか、日ごろの怨み辛みをを吐き出しているかのようですね。
しかし、システムとはこういった目的にどう応えるかという形で生まれ来るもですからこれでいいのです。
優先度をつける
やりたいことはあったとしても、作るのには人でもかかりますし時間もかかります。
何が優先課題なのか、優先度をつけなくてはなりません。
優先度をつけて、まずは最小構成で形にしたいところですね。
さて、ここまで来ると、具体的な要件を洗い出していけます。
目的を達成するための手段を考えていく工程ですね。
要件は降って沸いてくるものではありません。
いや、現実にはクライアントから降ってくるものだったりはするのですが、
そういう横槍で本来の目的が失われないように、先に目的を決めたのです。
要件は注意深く探り出し、決定していかねばなりません。
これは訓練されたプロの仕事となります。ですから、近年では要件開発という
用語を打ち立てたりしていますね。
システムとしての構成などを考慮に入れず、目的も半ば忘れて
適当にクライアントが言った言葉が要件なのではないのです。
要件開発というのは目的達成のための手段を探るロジカルな作業なのです。
そんなわけで私の脳みその中にあるシステムを具現化する話は続きます。
投稿日時 : 2007年9月6日 0:25