Google Homeを買った。

Google Home は、音楽再生機としてかなり良い。そして、24時間音楽かけていたい人には、とってもおすすめ。

今までは、AppleMusicのプレイリストを明示的にiPhoneで操作してた。いまは、「OK Google, なんか音楽かけて」とか「OK Google、ジャズをかけて」とかで、終わり。これはかなり楽。

再生環境としては、いままで、AirPlayで、AppleTV経由でスピーカーに飛ばしてたけど、Google Home のみで、終わり。これもすっきり。

あと、iPhoneで音楽かけつつ、Twitter見てると、タイムラインの動画の方に音声持ってかれちゃうのが、バッドUXだったけど、それもなくなった。これで、音楽かけつつ、Twitter見たり、Youtube見たり、Podcast聞いたりできる。 (僕は、音楽かけつつ、Youtube見たりします。薄く音楽かけていれば、そんなに気にならないので)

音声認識もかなりいい。人間が迎えに行っている感もそんなにない。音質はそんなにこだわりない人だけど、まぁ、いいと思う。便利なので、寝室用にMiniも買いました。

大きな会社ではないけど、素晴らしいものを作っている方たち

  • インディーな感じだけど、とっても素晴らしいソフトウェアを作っている会社や団体、個人はたくさんある
  • どれも作っている人の顔や考え方が見える感じで、親近感を覚える
  • 僕がよく使っているものとかを書いておく

esa LLC

作っているもの

好きな理由

  • デザイナーさんが、チームの中心にいらっしゃるからか、デザインがとってもいい
  • もちろん、アプリケーションの使い勝手もよい
  • pplogは、とても素晴らしい

Flask LLP

作っているもの

好きな理由

  • 必須アプリじゃないけど、同じことやるなら、iPhone純正より、こっちを選びたくなる感じ
  • デザインとかキャラクターとかの感じが、そうさせるんだろうと思う
  • どのアプリもFlaskな感じがする
  • お二人でやられているようなので、色んな基準が明確なんだろうな

個人開発者(Takuya Matsuyama)

作っているもの

好きな理由

  • markdownが使えて、マルチデバイス対応なアプリケーションが欲しかった
  • たぶん、作られている方と課題感が一緒だったのだと思う
  • 今までsimplenote使ってたけど、なんか嬉しくなって、乗り換えた

NOTA Inc.

作っているもの

https://gyazo.com/ja が有名なのでは。最近だと、https://scrapbox.io/ も作っている。

好きな理由

  • ソフトウェアのアイデアが独特
  • 確固たる哲学があって、それがアプリケーションに反映されている感じ
  • その考え方込で、アプリケーションを使いたくなる
  • たぶん、インディーって感じではないけど

所感

  • もっとこういう会社増えて欲しいし、ソフトウェアを選ぶときは、積極的にそういう選択をしたい

生産性高く仕事するための良い習慣の作り方

僕は、マネジャーの重要な役割の1つは、「チームの仕事を生産的なものにする」ことだと考えています。それについて書きます。

良い習慣を身につけ、生産的に仕事をする

生活はもとより仕事においても、多くのタスクは習慣的なもので溢れていると思っています。大抵は何かの繰り返しであり、イレギュラーに見えるものもよく紐解くと習慣的なものであると思います。

なので、良い習慣を身に着けていなければ、アウトプットもよいものにならないと思っています。では、どうすれば良い習慣を身につけられ、どうすれば実際の業務に反映することができるのでしょうか。

それを実行するために、僕が以前にマネジメントしていたチームでは、そもそも習慣とはどういう仕組なのかを『習慣の力』 という本に書かれている内容をもとに定義し、ツールとして、trelloとesaを使うことで、良い習慣を利用した業務フローを構築する取り組みをしていたので、それを共有します。

『習慣の力』とは

この本。とりあえず神本だから読んでみてほしいです。

習慣の力 The Power of Habit

習慣の力 The Power of Habit

この本によると、習慣とは「きっかけ→ルーチン→報酬 」のループであるとされています。そして、習慣を良いものするには、「きっかけ」と「報酬」はそのままにし、「ルーチン」の部分だけ変えていく必要があると書かれています。というのも、欲求とその報酬を変えるのは難しく、ルーチンである行動の部分を正しい物や代替物にすることが、良い習慣に変えていく方法であるとまとめています。

本には、個人や企業、社会活動などでの習慣の例などが取り上げられています。巻末には、午後についついドーナツを食べてしまうという習慣により、太ってしまうという著者の事例が取り上げられていました。「ついついドーナツを食べてしまう」という習慣を変更するために、欲求とは「気持ちを切り替えたい」であり、それを解決することの報酬は「リフレッシュした気持ち」と定義していました。そして、そのルーチンである「ドーナツを食べる」を「友人のデスクに行って喋る」に変更することで、太ることなく、午後もリフレッシュして仕事ができるようになったとされています。

業務における習慣

業務は習慣的なタスクで溢れていて、また、イレギュラーに思えることも、因数分解すれば、通常タスクの変化形であると思います。以下の意見には、僕も賛成しています。

いろんなイレギュラーパターンがあるわけですが、本当の「イレギュラー」なんてなくて、ほとんどのものが再発します。発生頻度が少ないものほど、対応に不慣れでオペレーションを乱すので、イレギュラー対応こそきっちり決めておく。http://tech.cunited.jp/post/158911521565/manual2nd

業務を生産的にするには、発生頻度の高いものはもちろん、頻度が低いものも、対応方針を決め、正しい習慣を作っておくことが重要だと思います。

具体的な方法

習慣における、「きっかけ」と 「報酬」 の具現化のために、trelloを使っていました。

trello.com

また、正しい「ルーチン」の定義のために、esaを利用していました。

esa.io

trello と esaの運用方法

trello は、backlog, todo, doing, waiting, done, master というリストを作成し、運用していました。 すでに習慣的なタスクとして認識されているものは、master に登録されています。masterのカードは、trelloのプラグインを利用し、必要になったタイミングで、todo リストに自動でコピーされるようになっています。

ルールとして、担当者は、todo を実施する時は、doing に移動してから、タスクに取り掛かる必要があります。そして、そのタスクの正しいルーチンは、esaに書かれていますし、もし書かれていなければ、原則的にはesaに記事を書いてから業務に取り掛かる必要があります。当然、esaの内容は、チームのナレッジになっていきます。実際には以下のような記事を作っています。

f:id:diskogs:20170605214735p:plain

担当者は、タスクが終わったら、カードをdoneに移動します。もし待ちが発生するタスクであれば、waitingに移動し、関係者からの連絡を待ちます。突発的に発生したタスクは、backlog にカードを作り、適宜todo に移動します。すぐにやるべきものは、始めからtodo リストに記載してもかまいません。

上記の従って行動していると、カードは、master/backlog → todo → doing → (waiting) → done のように左のリストから右のリストに流れていくので、タスクが処理されていく姿が視覚的ににわかります。チームのメンバーは、常に整理されているタスクリストが手元にあり、視覚的にも業務が前進している状態を保つことができ、その事自体がタスクを処理する報酬として機能するようになります。

f:id:diskogs:20170927235715p:plain

さらに

esaの内容は、ルールではなくプリンシプルが書かれているようにしたい

esa.io の内容は、もっとプリンシプルであって欲しいと思っています。ソフトウェアの操作を示した指示書や行動する前に読むルールのようなものも多かったです。。ソフトウェアを「どのように操作すべきか」は、それ自体で判断できる方が理想的だし、esaには、そのタスクの合格基準を示したプリンシプルが書かれたものであってほしいと思っています。最低限対応すべき基準や、どういう姿勢で行動するべきかなどの大枠を示したチェックリストさえあれば、本来、人は自律的に行動をしていくものと思っています。チェックリストについては、以下の本がとても参考になります。

アナタはなぜチェックリストを使わないのか?【ミスを最大限に減らしベストの決断力を持つ!】

アナタはなぜチェックリストを使わないのか?【ミスを最大限に減らしベストの決断力を持つ!】

報酬

報酬も、もっと顧客満足度やKPIの達成に紐づくようなものも加えていくべきと思います。

もっともっとコミュニティっぽく

『習慣の力』には、良い習慣を身につけるためには、「信じる力」は重要だとされています。自分より大きな存在である偉大な力への信頼を、コミュニティを通じて感じている人のほうが、良い習慣を身に着けられていると書かれています。 会社やチーム自体が、もっともっとコミュニティ的であり、ここに所属していれば、偉大なことを達成できると信じられる存在であることが、働いている人に良い習慣を身に着けさせ、良い行動を引き出していくのだと思います。

macOSのページ間スワイプを無効化する

osXトラックパッドの2本指でのページ間スワイプ、ほぼ使わないくせに、たまに書いている内容とかを消しちゃうときあるので、無効化しておいたほうがいいですよね。

gyazo.com

メソッドを定義する

MyClassにインスタンスメソッドを定義する

class MyClass
  def self.add_method(m, &b)
    self.class_eval do
     define_method(m, &b)
    end
  end
end

MyClass.add_method(:greet){"Hello"}
puts mc.greet
#=> Hello

参考

http://amzn.asia/cNuFgVL

is_a? メソッド

obj.is_a?(Klass)

objがKlassまたはそのサブクラスのインスタンスかどうかを判定する。

arr = [1, 2, 3]
puts arr.kind_of?(Hash)
puts arr.kind_of?(Array)
puts arr.kind_of?(Object)
puts arr.kind_of?(Enumerable)

使い方

objがKlassをインクルードしているかを判定する時に使える。そのままだな。。。

module MyModule
end

class MyClass
  include MyModule
end

mc = MyClass.new
puts mc.is_a?(MyModule)
#=> trure

参考URL

http://ref.xaio.jp/ruby/classes/object/kind_of

sendメソッド

rubyのクラスマクロとか調べてたら出てきたので自分メモ用に書きます。素人ですみません。

object.send(name,*args)
  • レシーバ(object)の持っているメソッドを呼び出す
  • 第1引数nameには、メソッド名をシンボルか文字列で渡す
  • メソッドに引数を渡したいときは、第2引数args以降に引数を並べる
  • 戻り値は、呼び出したメソッドの戻り値が変える
  • sendが再定義された場合に備えて、別名の __send__ がある
class MyClass
  def hoge(n = nil)
    n ? Array.new(n, "hoge") : "hoge!"
  end
end

mc = MyClass.new
mc.send(:hoge)
#=> hoge
mc.send(:hoge, 3)
#=> ["hoge", "hoge", "hoge"]

使いどころ

オブジェクトに渡すメソッドを動的に指定できる?とか?わかりません。

参考URL

http://ref.xaio.jp/ruby/classes/object/send http://ref.xaio.jp/ruby/classes/object/send http://blog.livedoor.jp/badrequest400/archives/2350825.html