The Clean Coder ch9 Time Management

The Clean Coder勉強メモ

出典: 


Time Management

  • 8時間は短くて貴重な時間
  • ボブおじの仕事術

    • 15分単位
    • その日の最初の3時間(午前)は予定で埋める

      • タスク間は15分あけて、割り込みタスクに充てる
      • 午後はどうせめちゃめちゃになるから予定をたてない

Meetings

  • ミーティングは1人1時間あたり200ドルのコスト
  • ミーティングは…

    • 必要
    • とても時間を食う
  • 緊急で有意義でない限り積極的に出席を拒もう

    • コードを書いてスケジュールに間に合わせないといけないので

Declining

  • ミーティングに出過ぎるのはアンプロフェッショナル

    • 時間管理はミーティング開催者ではなく参加者自身の責任
  • 取捨選択

    • 今やっている仕事に寄与しないが興味深いミーティング
    • 今やっている仕事に寄与しないが他のプロジェクトの助けになるミーティング
  • マネジャーの一番重要な仕事は、あなた(プロ)をミーティングに出させないこと

Leaving

  • ミーティングは必ずしも予定どおり運ばない
  • つまらなければ退出せよ

    • 時間管理はあなたの責任
    • 期をみて尋ねよ

      • 自分がいる必要があるか
      • 議論をはかどらせるすべはあるか
      • アジェンダをシャッフルできないか
  • 時間の無駄なミーティングに居続けるのはアンプロフェッショナル

    • 雇い主の時間と金を消費しているのである
    • 退出交渉はアンプロフェッショナルではない

Have an Agenda and a Goal

  • 議題と時間の割り当てと目的が明確であること

    • 明確な答えが得られなければ、参加を丁重にお断りしよう
  • 時間割どおりに進まない場合は、従うようにリクエストする

    • 改善しなければ丁重に退出しよう

Stand-Up Meetings

  • アジャイルのやつ
  • かわりばんこに一人ひとり3つの問いに答える

    • 昨日何をしたか
    • 今日何をするか
    • 目標達成の障害は何か
  • 20秒そこらで終わるよね

Iteration Planning Meetings

  • 難しいミーティング

    • うまくやらないと時間をくう
  • 次のイテレーションでやるべきバックログアイテムの選定が旨
  • やらないこと

    • 見積もり

      • 済んでる
    • ビジネス価値の評価

      • 済んでる
      • 良い組織なら、受け入れ・コンポーネントテストが書かれているはず
  • 1つのバックログアイテムあたり高々5-10分で

    • 長くかかるものは別途時間を割く
  • 経験則

    • イテレーションの工数の高々5%程度まで充てる

      • 1週40hのイテレーションならば2h

Iteration Retrospective and Demo

  • やること

    • 振り返り

      • うまくいった/いかなかったこと
    • ステークホルダに新機能のデモを見せる
  • 時間泥棒になりがち
  • 45分枠

    • 20分: 振り返り
    • 25分: デモ
  • 1,2週に1度

Arguments/Disagreements

「5分で解決しない議論は、議論によっては解決しない」 (Kent Beck)

  • 長くかかるのは、明確なエビデンスがないから

    • えてして政治的

      • 事実に基づいて、ではなく
  • データがないと、短時間で合意に至ることはない
  • アンチパターン

    • 叫び声、横柄な態度、見下すような態度などで合意を勝ち取ろうとする

      • 意見の押し付け
      • 意見の不一致の解決として長く続かない
    • 受動的攻撃行動

      • 議論を終わらせるためだけに合意し、以降まったく協力しないやつ
      • 絶対にやめろ
      • 合意したからには従事せよ
  • どうやって決める

    • 実験
    • シミュレーション、モデリング
    • コインで決める
  • トラブったら別の道を検討する

    • 道を選ぶ際、やっぱりやめる基準も設けておくとよい
  • 議論を真に解決するためには、最後に15分程度かけて投票する

Focus-Manna

  • 【補】MP的な
  • プログラミングをするうえで、集中力は貴重なリソース
  • 集中しないことで回復する
  • ミーティングでも消耗する

    • ミーティングで枯渇したらプログラミングできなくなっちゃう
  • 心配事や気が散ってしまうことでも消耗する

    • 配偶者と喧嘩した
    • フェンダーに傷がついた
    • お金を納付し忘れてた

Sleep

  • MP回復のために重要
  • 重要性を強調してもしすぎることはない

Caffeine

  • 適量を

    • とりすぎると集中力が明後日の方向を向いてしまったりする

Recharging

  • 集中しないことでMP回復

    • 歩いて回る
    • 友人と話をする
    • 窓の外を眺める
  • 他の方法

    • 瞑想
    • パワーナップ(昼寝)
    • ポッドキャストを聴く
    • 雑誌に目を通す
  • MP切れ状態でコードを書いても、後日書き直すはめになる
  • 一日台無しにするくらなら0.5-1hくらいかけて回復したほうがマシ

Muscle Focus

  • 体を動かすタイプの集中をすることで、精神的な集中力が回復する

    • 精神的な集中力の最大値が上がるまである
  • ボブおじの推し: 自転車
  • 手を動かすのが良いという人もいる

    • 日曜大工、ガレージキット、ガーデニング等々

Input versus Output

  • ソフトウェア開発はクリエイティブなアウトプット
  • クリエイティブなアウトプットはクリエイティブなインプットから

Time Boxing and Tomatoes

  • ポモドーロテクニックのススメ
  • 生産性をはかるのに使える

    • いい日は12-14トマト/日
    • 悪い日は2-3トマトくらいしか働けなかったりする
    • プロットしてみる
  • ポモドーロテクニックの真価は、25分間は割り込みをブロックできること

Avoidance

Priority Inversion

  • 優先度がもっと高いことがあるのに、それを先延ばしにするために別のことをしちゃう

    • おっかない
    • つまらない
    • やりたくない
  • 【補】試験前日に勉強じゃなくて部屋の掃除をしちゃうやつ

    • より緊急なこと(試験対策)があるのに
    • 自分自身に嘘をついている
  • プロとして優先度順に仕事せよ

    • 私情を挟まない

Blind Alleys

  • 「穴」の法則

    • 自分が穴の中にいる事に気づいたならば、掘るのをやめよ
  • 引き返す勇気
  • プロは、特定のアイデアに肩入れしすぎることを避ける

    • さもないと方向転換できなくなる

Marshes Bogs Swamps and Other Messes

  • 袋小路より始末が悪い

    • 歩みは遅いが、進めてしまう
    • 引き返すよりはマシな気がしてしまう(その実、引き返したほうがよい)
  • 変曲点

    • あとで「設計がしくじったなぁ」とか気づくことがある
    • 引き返すチャンス
  • プロは袋小路よりも散らかりを恐れる

    • 常に目を光らせて、可及的速やかに取り除く
  • 自覚しながら泥沼に突っ込むことは、もっともたちの悪いの優先度逆転現象

    • 自身、チーム、会社、顧客を騙す行為

Conclusion

  • プロは時間と集中力を管理するために絶えず努力する
  • プロは優先度逆転の誘惑をはねのける
  • プロは特定のソリューションに肩入れしすぎない

    • 方向転換できなくなるから
  • プロはコードが散らからないように目を光らせる

    • 気づき次第可及的すみやかに掃除する

英語

  • hectic

    • 非常に忙しい
  • keep one’s head above water

    • 溺れないでいる、かろうじて困難な状況に対処する
  • outweigh

    • …よりまさる
  • pet peeve

    • 人をイラつかせるもの
  • expedite

    • はかどらせる
  • rule of thumb

    • 正確ではないが実用に足る大まかなやり方
    • 意訳: 経験則
  • profound

    • 心からの、深い
  • stratosphere

    • 成層圏
    • 最高段階、トップクラス
  • go off into

    • 突然…になる
  • forge

    • 考え出す
  • in your face

    • 横柄な
  • condescending

    • 見下すような
  • devastating

    • 破壊的な、痛烈な
  • grab a nap

    • 昼寝をする
  • thumb through a magazine

    • 雑誌にざっと目を通す
  • regimen

    • 療法
  • the gist of

    • …の要旨
  • blind alleys

    • 袋小路
  • vested

    • 帰属する
  • wilderness

    • 未開の地
  • prudence

    • 用心深さ、思慮分別
  • inflection point

    • 変曲点
  • on the lookout for

    • …に目を光らせて
  • diligent

    • 絶えず努力する、勤勉な
  • slogging

    • 重い足取りで進む