foo-x

今週学んだこと TOC/vimで連番生成 他 #1

『世界一速く結果を出す人は、なぜ、メールを使わないのか グーグルの個人・チームで成果を上げる方法』

重要な箇所が強調されていて、比較的読みやすい。 前半は具体的な話が多く、後半は抽象的な話が多い。 学んだことは以下の通り。

  • なるべく持ち帰らずにその場で決める
  • メールで往復するのは持ち帰りにつながって効率が悪い
    • 資料の更新であればファイルの共同編集を使う
    • 日程調整であればカレンダーの共有機能を使う
    • 認識合わせであれば直接会うか電話をする
    • テキストでのやり取りならチャットを使う
  • なるはやのタスクやアイディア出しだったとしても期限を決める
  • 10%増という目標は仕事量を増やすだけになりがち
    • 10倍を目標にすると違うやり方を考えやすい
  • 要件を確認するときはドラフト・プロトタイプを短時間で作って見せる
    • 言葉だけよりも認識齟齬を減らせる
  • 部下だけでなく上司もマネジメントする
    • 上司に欠点があるのであれば気づいてもらえるようにする
    • 気づいてもらえないときは自分でやる
      • たとえば上司が打ち合わせのアジェンダを作らないのであれば自分が作るなど
  • 部下と1対1のミーティングを少なくとも月に1回以上は行う
    • 部下が主体になるようにする
    • トピックも部下が取り上げたいものを扱う
  • 参加者が多いミーティングでは、以下の仕組みで参加意識を高める
    1. 匿名の掲示板を用意する
    2. 掲示板に質問を書いたり、質問に他の人が投票できるようにしたりする
    3. 得票数が多いものをミーティング内で回答する

TOC

TOC (Theory Of Constraints: 制約理論、制約条件の理論) というものを知った。 『ザ・ゴール』に書かれているらしい。 だいぶ前に買って、まだ読んでいなかった。

TOCはプロジェクトの制約(ボトルネック)に集中して改善することで、最小の努力で最大の効果をあげようとする手法。 CCPM(クリティカルチェーンプロジェクトマネジメント)は知っていたが、TOCの一部であることは知らなかった。

今週はTOCの中でも因果ループ図と抵抗の階層についての記事を読んだ。

因果ループ図

因果ループ図は、変数の間にあるループの因果関係を表現した図のこと。 mermaidに追加する図の候補として提案されていたことで知った。 https://github.com/mermaid-js/mermaid/issues/177#issuecomment-1426505267

自己強化型のループがあると、変数は増加し続け、好循環または悪循環になる。 バランス型のループがあると、変数の増加が止まる。

好循環を作りたいのであれば自己強化型のループを強めて、バランス型のループを弱める施策を打つ。 逆に悪循環を止めたいのであれば自己強化型のループを弱めて、バランス型のループを強める施策を打つ。

参考

抵抗の階層

抵抗の階層は、人間が変化に対して本能的に抱く抵抗を階層で表現したモデル。 6階層のものと9階層のものが有名で、以下は9階層のほう。 9階層と言いつつ10階層ある。

  • 何を変えるか (Problem)
      1. 問題は存在しない
      1. 問題はそれではない
      1. 問題は大きすぎて扱えない
  • 何に変えるか (Solution)
      1. 解決策の方向性に反対だ
      1. 解決策の詳細に反対だ
      1. 解決策には悪影響がある
  • どのように変えるか (Implementation)
      1. そのやり方はできない
      1. そのやり方の詳細に反対だ
      1. そのやり方にはリスクがある
  • 社会的・心理的な壁
      1. 私はそう思わない

各階層の抵抗を取り除くことで合意を得たり、行動に移したりできるようになる。

参考

vimで連番生成

https://github.com/Foo-x/til/blob/d76cc1392a72e999ebb280efa1911c74ab6aae68/os/linux/vim/%E9%80%A3%E7%95%AA%E7%94%9F%E6%88%90.md

たとえば10行分コピペしたあとに各行の数値を連番にしたいときなどの手順。 各行の数値を選択して g<C-A> を入力する。 なお、Linuxのvimかつコピペする必要がないときは :r! seq 1 10 などでシェルのコマンドの結果を挿入するほうが楽。

MySQLのシェルで画面クリア

https://github.com/Foo-x/til/blob/d76cc1392a72e999ebb280efa1911c74ab6aae68/middleware/mysql/%E7%94%BB%E9%9D%A2%E3%82%AF%E3%83%AA%E3%82%A2.md

Linuxのシェルでは Ctrl-L か clear コマンドで画面をクリアできる。 MySQLのシェルでは Ctrl-L か \! clear コマンドで可能。

CSSで文字列の折り返し

https://github.com/Foo-x/til/blob/be7d12ecc75eb37b5fa1d26fb6e00ce94252af14/language/css/%E6%96%87%E5%AD%97%E5%88%97%E3%81%AE%E6%8A%98%E3%82%8A%E8%BF%94%E3%81%97.md

文字列の折り返しに関するCSSプロパティが細かく分かれていたのでまとめたもの。