Bashプログラミング
 Computer >> コンピューター >  >> プログラミング >> Bashプログラミング

GTDで生産性をマスターする――「やるべきこと」を成し遂げるための完全ガイド

GTDで生産性をマスターする――「やるべきこと」を成し遂げるための完全ガイド

好きなことに使える時間がもっとあればいいのに、と思ったことはありませんか?当然ありますよね。エンジニアや技術好きな人ほど、取り組みたいプロジェクトが山ほどあるのに、時間が足りないのが実情です。

私は長年、さまざまな時間管理術や生産性向上システムを試してきました。どれも確かに成長の助けになりましたが、自分の働き方や思考スタイルにどうしてもしっくりこない部分がありました。

ところが数年前、デビッド・アレンの『Getting Things Done(GTD)』に出会った瞬間、「これだ」と感じました。今ではGTDなしの生活は想像できません。

重要なのは、GTDは「どのソフトウェアやツールを使えば生産的になれるか」を教えてくれるものではないという点です。GTDはあくまで生産性のためのフレームワークであり、自分の働き方に合わせて自由にカスタマイズできることが最大の特徴です。

GTDがおすすめできる理由

  • 「システムの言う通りにだけ動け」というやり方は受け付けられない人も多いはず。GTDは硬直的なシステムではなく、あくまでフレームワークです。骨組みとなる構成要素を提供し、それをもとに自分が最適だと考える方法を構築できます。これこそが、技術者にGTDが最適である第一の理由です。
  • 技術好きな人は細部までこだわります。GTDはハイレベルな枠組みを示すだけでなく、その実践方法についても緻密に設計されたアプローチを詳細に解説してくれます。
  • もうタスクに「高・中・低」(またはA・B・C)の優先度をつける必要はありません。完了したい順に並べ替える必要すらありません。GTDでは、「状況(コンテキスト)」「使える時間」「使えるエネルギー」に基づいてタスクを進めます。

GTD(Getting Things Done)とは、このような生産性を実現するためのフレームワークなのです。

GTDの基本概念:「Stuff(未整理の情報)」

デビッド・アレンによれば、注意を向けるべきあらゆるものは「Stuff(スタッフ)」と呼ばれます。食料品店で牛乳を買うといった些細なことから、数百万ドル規模プロジェクトの提案書作成まで、頭の中(RAM)を占めているものはすべてStuffです。

すべてのStuffがすぐに実行可能なわけではありません。しかし、すべてのStuffは収集・処理・整理・実行という流れで適切に扱われる必要があります。

GTDの5つのフェーズ

1. 収集(コレクション)フェーズ

収集は常に続いています。直接目の前に届くものもあれば、バックグラウンドで勝手に溜まっていくものもあります。たとえばメールは受信箱に自動的に蓄積されますね。加えて、処理が必要なものを放り込んでおくための物理的な受信箱を用意するのが効果的です。

私が実際に使っている受信箱は次の4つです。

  1. 会社のメール受信箱
  2. 個人用メール受信箱
  3. オフィスの物理的受信箱(トレー)
  4. 自宅の物理的受信箱(トレー)

受信箱にどれだけ溜まっても、私はもう気にしません。表示されたその場で処理しないためです。また、PCの前にいないときにプロジェクトのアイデアが浮かんだら、スマホから自分宛てにメールを送り、後で処理できるようメール受信箱に集めておきます。

2. 処理(プロセッシング)フェーズ

受信箱の中身は頻繁に処理しましょう。ただし最重要ポイントとして、「処理」は「実行」ではありません。この段階では処理以外のことは一切行いません。

私の処理スケジュールは以下の通りです。

  • 会社のメール:1日3回。ただし携帯電話に届く重大なシステムアラートは対象外です。それらは即時対応が必要だからです。
  • 個人用メール:1日1回。以前は1日に何度もチェックしていましたが、現在は寝る前に1回だけ確認します。(これは「新しい習慣を30日間試す」という私自身の30日習慣開発プロジェクトの一環として達成できたことです。)
  • オフィスの物理的受信箱:1日1回。退勤前。
  • 自宅の物理的受信箱:週1回。毎日処理していましたが、自分の働き方なら週1で十分だと気づきました。

受信箱を処理するときの心得は次の3つです。

  • 上から下へ順番に。一番上のメールから順に、物理的受信箱なら最初のアイテムから順に進めます。
  • 一度に1つのアイテムのみ。
  • 一度手に取ったアイテムを受信箱に戻さない。

具体的な処理方法

  • 受信箱から1つ取り出し、「このアイテムに対して何かすべきことはあるか?」と自問します。答えがYesなら、「次にとるべきアクション(Next Action)は何か?」を明確にします。最初は難しく感じますが、慣れれば数秒で判断できるようになります。
  • アクション不要なら、捨てるか、参考資料として保管するか、インキュベーション(Someday/Maybe)リストに入れます。
  • アクションが必要なら、2分以内でできるものはすぐ実行するか、誰かに委任するか、適切なコンテキストリストに入れて先送りします。
  • メール受信箱の処理は10〜15分程度で終わります。繰り返しますが、処理とは受信箱内の全タスクを完了させることではありません。

3. 整理(オーガナイズ)フェーズ

先送りしたアイテムは、適切な「次のアクション・コンテキストリスト」に入れます。GTDには優先度という概念が存在せず、あるのはコンテキストだけです。

たとえば「銀行でお金をおろす」は重要度の高いタスクかもしれませんが、仕事中には実行できません。仕事中は仕事関連のタスクを、外出中は買物などの用事を、データセンターのサーバールームにいるときは、コンソールやサーバーの前でしかできない作業を、それぞれ行うべきです。

すべてのタスクは、実行する場所・状況(コンテキスト)ごとに整理します。従来のやり方とは異なるかもしれませんが、一度慣れればほとんど努力不要となり、生産性は劇的に向上します。私は次のアクションリストをシンプルに保っています。

  • @Home – 自宅にいるときにしかできないアクション
  • @Work – 職場にいるときにしかできないアクション
  • @Call – 電話をかけられる状況でできるタスク。携帯は常に持ち歩いていても、いつでも電話できる時間やエネルギーがあるとは限りません。
  • @Errands – 外出時にまとめてこなす用事。銀行での入金、牛乳の購入など。
  • @DataCenter – データセンターのサーバー前に物理的にいるときにしかできないタスク。

以前は10個ほどのコンテキストリストを持っていましたが、上記の必要最小限に絞り込んだところ、とてもうまく機能しています。

コンテキストリストに加えて、以下のリストも用意します。

  • プロジェクトリスト(仕事) – 仕事関連の全プロジェクトのマスターリスト。1つの次のアクションでは完了できないプロジェクトは、ここで管理します。例:「開発サーバーのセットアップ」はプロジェクトとして仕事のプロジェクトリストへ。一方、その次のアクションである「DVDからRed Hat OSをインストール」は、@DataCenterのコンテキストリストに入れます。
  • プロジェクトリスト(家庭) – 家庭関連の全プロジェクトのマスターリスト。例:「娘の水泳教室」はプロジェクトとして家庭のプロジェクトリストへ。その次のアクション「YMCAのサイトで子ども向け水泳クラスの日程を調べる」は、@Homeリストに入れます。
  • Someday/Maybeリスト – いつかやりたいけれど今は重要でないアイテムのマスターリスト。私のリストには100件以上あります。例:「スペイン語の学習」はいつか挑戦したいので、ここに置いておきます。

整理の際には、さらに次の2つも活用します。

  • カレンダー – 特定の日時に行う必要がある次のアクションを登録します。カレンダーは厳格に扱いましょう。曖昧で漠然としたタスクは入れず、「その日・その時刻に必ず完了するアクション」だけを入れます。
  • 日付指定リスト – 時刻ではなく日付だけが決まっているタスク専用のリスト。日付指定の項目をカレンダーの特定時刻に紐づけないこと。両者は必ず分けて管理します。

GTDで生産性をマスターする――「やるべきこと」を成し遂げるための完全ガイド

図:GTDのワークフロー

4. 実行(Do It!)フェーズ

実行の時間になったら、「そもそも何をすべきだったか」を思い出そうとしたり、やるべきことを探してメールを開いたり、優先度付きの長大なTo-Doリストを眺めて悩んだりしてはいけません。

代わりに、現在のコンテキストに応じて対応するリストを開き、素早くやることを決めるのです。職場にいるなら@Workリストを、運転中で電話する余裕があるなら@Callリストを確認します。

コンテキストリストには複数の次のアクションが並んでいます。では、どれを選べばいいのか?優先度は設定されていないため、次の2点を目安に判断します。

  • 今あるエネルギー:集中力を要するタスクは、エネルギーが十分にあるときに。「新サーバールームの論理ネットワーク図の作成」のようなタスクは、エネルギーが低下しがちな午後4時ではなく、朝のうちに片付けましょう。
  • 今ある時間:会議まで10分空いたなら、@Workリストから「10分で完了できるアクション」を拾って実行します。

私が本当に何かに取り組んでいるときは、必ず次のどちらかです。

  • コンテキストリストに基づいてタスクを実行している
  • リストに基づいていないときは、計画を立てている。つまりプロジェクトを深く考え、次のアクションを定義している

絶対にしないのは、「降ってきた物事をその都度こなす」ことです。それは大抵の場合非効率で、本来最も重要なタスクに取り組めなくなります。

5. レビュー(Review)フェーズ

システム全体は週に1回見直します。私は毎週金曜日の夕方に行っています。週次レビューでは、次のようなことを行います。

  • プロジェクトリストを見直し、各プロジェクトに必要な次のアクションを定義する
  • 仕事とプライベートの両方の目標を見直し、必要に応じて新しいプロジェクトを立ち上げる
  • 今週のカレンダーを振り返り、過去の会議のメモを処理する
  • 来週のカレンダーを確認し、適切な次のアクションを計画する
  • すべてのコンテキストリストを見直す
  • 「マインドスイープ(頭の中の総点検)」を行い、頭にあるものをすべて受信箱に吐き出す(時間があれば、その後に処理する)
  • Someday/Maybeリストを見直し、着手したいプロジェクトがないか探す
  • 週次レビューの締めくくりに、すべての受信箱を処理する絶好のタイミングにもなる

以上が、私のGTD実践方法です。

ぜひ一度、Getting Things Done(GTD)を試してみてください。失うものは本代金くらいのものであり、それであなたの物事の進め方が劇的に変わるなら、安い投資と言えます。

おすすめのGTD関連リソース

  • 『Getting Things Done(GTD)』 – デビッド・アレンによる原典。まずはこれを読むべき一冊。
  • 『Ready for Anything』 – 仕事と人生のための52の生産性原則を収録。GTD本編との重複もありますが、実践的なヒントが豊富です。
  • 『Making It All Work』 – 仕事と人生というゲームに勝つためのサブテキスト。GTD本編の補完として有用です。
  • GTD® Workflow Map with Coaching DVD – ワークフローを映像で学べる教材。
  • GTD Weekly Review(オーディオCD 3枚組) – 週次レビューを音声で学べるセット。

GTDフレームワークを理解するには、多少の時間をかけてください。そして慣れてきたら、自分の働き方に合わせて自由に調整していきましょう。GTDは特定のソフトウェアやバインダーを必要としません。ペンと紙一枚あれば今日から始められます。柔軟なフレームワークだからこそ、誰にでも合うのです。

最後に忘れないでください。生産性を左右するのは、どんなツールを使うかではなく、実行に向けた姿勢とアプローチです。

2002年に原書が刊行されたときにこの手法を知っていればよかったと、今でも思います。私は2007年後半から使い始めました。「人生が変わった」と呼べるものはそう多くありませんが、これは間違いなくそのひとつです。プロジェクトの進め方が根本から変わり、もう他のやり方では働きたくありません。

あなたはどうやってタスクを管理していますか?ぜひコメントで、あなたの生産性のコツを共有してください。

  1. Linuxファイルシステムを完全マスター:/bin、/sbin、/usr/binなど主要ディレクトリの役割を徹底解説

    「なぜあるコマンドは /bin にあり、別のコマンドは /sbin や /usr/bin、/usr/sbin に配置されているのだろう?」と疑問に思ったことはありませんか。 たとえば less コマンドは /usr/bin ディレクトリ配下にあります。なぜ /bin や /sbin、/usr/sbin ではないのでしょうか。これらのディレクトリには一体どんな違いがあるのでしょうか。 本記事では、Linuxファイルシステムの構造を俯瞰しながら、各トップレベルディレクトリの役割と意味をわかりやすく解説します。Linuxのコマンドやシステム管理を学ぶうえで、この知識は確実に役立つはずです。 1. /

  2. Cockpit(コックピット)で実現するWebベースのLinuxサーバー管理 – インストールから使い方まで徹底解説

    Cockpitは、GNU/Linuxサーバー向けの軽量で直感的に操作できるリモート管理ツールです。Webブラウザ経由で対話型のサーバー管理インターフェースを提供し、ライブのLinuxセッションをそのまま操作できます。 RHEL系およびDebian系を中心に、Ubuntu、Linux Mint、Fedora、CentOS、Rocky Linux、AlmaLinux、Arch Linuxなど、幅広いディストリビューションで動作します。 Cockpitを活用すれば、コンテナの起動、ストレージ管理、ネットワーク設定、ログの確認といった日常的なシステム管理タスクを、管理者が簡単かつ確実に実行できるように