Training for D-Day

ブログの内容は個人の見解であり、所属する企業を代表するものではありません。

2017年振り返り

2017年はどんなだったか振り返ってみます。
ざっくり言うと、
・色々試せた年だった。結構面白かった。
という感じです。
新しい技術は、TypeScript+ASP.NET MVC5をざっと理解・実践できた。Knockout.jsも使ったが、WPFのMVVMの知識はかなり応用できました。

アジャイルコーチとしての活動は、
・1年間ずっとスクラムやっていた。
・複数チームのスクラムマスターを9ヶ月ぐらい続けている。
・振り返り、約70回。
という感じでした。

私の課題としては、チームを「ハッ」とさせられる「魔法の質問(Magical Question)」をすぐに引き出せるようにしたいです。
この1年間では、おそらく数回しかできていないです。
伝わったときは、場の空気が変わる傾向があります。
私自身も熱くなる(体温的に?)
これが常にできるようになると、本当のコーチかな、と思います。

2017年12月26日が誕生日だったのですが、その日にCertified Scrum Professional® (CSP)に認定されました。
LocationがJapanの方では56番目だった。世界では6161番目みたい。下記で検索できる。

www.scrumalliance.org

Scrum Allianceから来年から制度が変わるから2017年中に応募しとけ!っていうメールが何回か来ていたので、
ダメもとで経歴とか英語で書いて送ったら受かってしまった。
Applyするだけで$100かかるので、1万円捨てるつもりで・・・という玉砕精神でいきました。結果オーライ。


2017年、印象に残った本。

ディープ・チェンジ 組織変革のための自己変革

ディープ・チェンジ 組織変革のための自己変革

  • 作者: ロバート・E・クイン,Robert E. Quinn,池村千秋
  • 出版社/メーカー: 海と月社
  • 発売日: 2013/07/26
  • メディア: 単行本(ソフトカバー)
  • この商品を含むブログを見る

ディープチェンジ。これすごい良かった。組織を変えたい、どうしよう、どうすればいいっていう方は必読。 日本語も読みやすかった。

SPRINT 最速仕事術――あらゆる仕事がうまくいく最も合理的な方法

SPRINT 最速仕事術――あらゆる仕事がうまくいく最も合理的な方法

GoogleでやってるSprint。スクラムのSprintとは違うんだけど、1週間缶詰になって結果を出すってやつ。
これはいいと思う。実践も、やろうと強く思えばできるはず。
日本人だと難しいかもしれないのが、タイムボックスの概念。タイムボックスちゃんと守らないと終わらない。

伝統の逆襲―日本の技が世界ブランドになる日

伝統の逆襲―日本の技が世界ブランドになる日

匠メソッドを萩原さんに教わった際に、

www.takumi-method.biz

この人から影響を受けたって、会話の内容から推察して、帰ってからケン・オクヤマの本を数冊買って読んだ。
その中で一番おもしろかった。
私も微力ながら日本を盛り上げていきたいよね。
大前研一奥山清行はリスペクトできるなー!怖そうだけど!
やっぱ外資で働く必要がありそうだなー!

NVC 人と人との関係にいのちを吹き込む法

NVC 人と人との関係にいのちを吹き込む法

非暴力コミュニケーション。
傾聴・共感などのありふれたものではなく、もっと核心に迫る、コミュニケーションの本質を語った本。
非常に勉強になりました。

Inspired: 顧客の心を捉える製品の創り方

Inspired: 顧客の心を捉える製品の創り方

これはもっと早く読んでおきたかったなぁと思った。
プロダクト・オーナーは必読の本ですね。

プロカウンセラーの共感の技術

プロカウンセラーの共感の技術

「ほとんどの心の苦痛は、本人にしか解決できないものです」
「そうした感情を抱えた上で、どう生きるかの問題だからです」
「一緒に考えてくれる人が必要なのです」
「たいていは正解などない道のりです。人生の問題ですから」
コーチング、カウンセリングは奥が深い。。。

一方で、「聞く技術」のほうがあまり勉強にならなかった。

インテルもやっぱりやってた、Value Stream Map。

PDCAを高速で、Dを並列で回すってのが非常にためになった。
技術的リスクが高いときもこの方法をやったほうが絶対にいい。ひとつのことを1スパイクで、は良くない。解決までのリードタイムが長すぎる。
個人的にも技術リスク高いものがあったら、たしかに並列にすすめているから、このやり方はやっぱり良かったんだと背中を押された感じ。

ブライアン・ケスト パワーヨガ [DVD]

ブライアン・ケスト パワーヨガ [DVD]

ヨガやりましたね。最近はダンベルトレーニングにシフトしていますが、1週間に1回は続けたい。
その中でもこのパワーヨガは非常にきつい。

たった1分で相手をやる気にさせる話術ペップトーク

たった1分で相手をやる気にさせる話術ペップトーク

チームのモチベーションを高める方法。
ただこれは、試合前なんだよね。仕事ではどう応用するか。いつ鼓舞するか、スプリントレビューのときに鼓舞するべきか。

禁酒セラピー [セラピーシリーズ] (LONGSELLER MOOK FOR PLEASURE R)

禁酒セラピー [セラピーシリーズ] (LONGSELLER MOOK FOR PLEASURE R)

禁酒しました。飲み会以外。すこぶる好調。追加健康診断でも数値がすごい良くなっててビックリ!やっぱりアルコールは身体に悪いんだ!

Running Lean ―実践リーンスタートアップ (THE LEAN SERIES)

Running Lean ―実践リーンスタートアップ (THE LEAN SERIES)

これねー、すごいいい。リーンキャンバス。
これに沿ってスタートアップを数回やりたい!って思っちゃった。

なぜ弱さを見せあえる組織が強いのか――すべての人が自己変革に取り組む「発達指向型組織」をつくる

なぜ弱さを見せあえる組織が強いのか――すべての人が自己変革に取り組む「発達指向型組織」をつくる

これも非常に良い。時間なくなってきたのでかけあし。
透明性とジョハリの窓が重要ってことですよ!

遅ればせながら、ハンターハンターを全巻読みました。すべてkindleで買った。
面白かったけど、個人的には、最初のハンター試験が一番面白かったな。



最近は、ロボット、アンドロイト関連で、石黒さんの本を読み漁っている。

来年の抱負は明日書くとしよう。

久々に英会話

ひょんなことからまた英会話が必要になったので、今回はガチで学習を進めています。
目標は、3月末までに簡単な自己紹介と、英語で会議のファシリテーションを進められるレベルになりたい。

まずは基本文法の復習から、1日15分ぐらいでduolingoを進めています。今やっと68%。これが無料とは信じられない。文法傾向が強いですが、非常に良くできています。続けやすい。いまのところずっと無料でやってます。
問題に間違えると、ライフが減るのですが、それを回復するのにお金がかかったりするのですが、数時間経つとライフが回復するので、それを待てば良いです。

www.duolingo.com

12月いっぱいはduolingo。
1月に入ってからは、以下の本を2ヶ月間みっちりやって、すべて暗唱できるようにします。

外資系コンサルが実践している 英語ファシリテーションの技術

外資系コンサルが実践している 英語ファシリテーションの技術

最後の1ヶ月は、Coaching Agile Teamのフレーズかなぁと考えています。

Coaching Agile Teams: A Companion for ScrumMasters, Agile Coaches, and Project Managers in Transition (Addison-Wesley Signature Series (Cohn))

Coaching Agile Teams: A Companion for ScrumMasters, Agile Coaches, and Project Managers in Transition (Addison-Wesley Signature Series (Cohn))

例えば、以下のような質問をさらっと口から出るようにしたい。
In case of sprint planning...

  • If the goal of this sprint were a newspaper headline, what would it be?
  • What is the team composition for this sprint?
  • What is the total team capacity for this sprint?
  • What are the hightest business value product backlog items?
  • What are the concerns about these product backlog items?

あとちょっと気になる以下の本。

増補改訂版 リーダーとして話すための英語パワーフレーズ3000 MP3・CD付き

増補改訂版 リーダーとして話すための英語パワーフレーズ3000 MP3・CD付き


でもジタバタせずにやりきることが重要…だけど難しいんですよね。
今までの傾向から絶対目移りしちゃうのです。

iPhone x シルバー vs スペースグレー

今使っているiPhone 5s は16GBでもう容量がほぼ空きがなく、写真とか全て削除しても容量が足りないとiPhoneに怒られる。毎日怒られる。

iPhone 8 Plus買ったけどゴールドの色が気に食わないので、売ってしまった。 iPhone x 色で 迷うー 迷ってはいられない感じなのだけど、迷う。

いい比較画像がないか探してたけど、以下のYoutubeが良さそう。 店舗にいっても並んでないから。

youtu.be

これを気にAndroidへ…とも思ったけどibooks縛りがあるので踏み切れない。

やっぱりスペースグレーかな。

リーンを一言で言うと

テイラーの思想について調べていた。
「単純労働者には計画させるな、考えさせるな、そのほうが効率的だ」ということのようだ。

impro-club.com

フォードはテイラーの思想で大量生産方式で成功した訳だが、TOYOTAはどうなのかなって思って調べたら、Agile Japan 2009の記事に行き着いた。

http://www.agilejapan.org/session/Keynote_1.pdf

f:id:kshimizu1226:20171021063411p:plain

守破離に繋がりますね。

f:id:kshimizu1226:20171021063421p:plain

大野耐一の言葉があって、胸に刺さった。
やっぱり昔の人は偉いなー。すごいなと。わかってんじゃん。
テイラーじゃないね。

そうなるとリーンって一言で言うと何だろうって思ってググったら

www.atmarkit.co.jp

こんな感じだったので自分なりにまとめてみた。

リーンを一言で言うと、「Time to Market」。

顧客に価値のあるものを最速で届ける。

そのための改善活動として、バリューストリームマップ(VSM)を書いて無駄工程を洗い出すんですよね。

子育てエンジニアの時間管理術

夫婦共働きで片方がエンジニア、片方が看護師さんというシチュエーションです。
看護師さんは不定期で月4~6回ほど夜勤がありますので、私は家に帰る必要があります。

子供は3歳、7歳で保育園と小学校。
保育園は07:45-18:15まで。
小学生は学童と登下校含めて07:45-18:00まで。

エンジニアの業務時間は08:45-17:30まで。
自宅まで20分。そこから保育園は5分という環境的にはなかなか良い環境です。


仕事が終わらない、だから迎えにいけないという言い訳は全く通用しませんし、
ただでさえ子供たちにも負担をかけているので、子供たちからみて「家に帰ったけど誰もいなかった」なんてことはあってはなりません。少なくとも今はまだ。


自然と以下のようになります。

  • 帰る
  • 集中できる時間を作る
  • 1日に使える時間は5時間として計算し、ゆとりを持つ
  • 時間内に如何に成果を出すか考える
  • 大きな問題は熟成させる期間を持つ

私はだいたい7年間くらいこの方式で、毎月残業がほぼ0です。温い環境だと言われればそれまでなのですが…。
蛇足ですが、毎月残業がほぼ0だと、自分の時給も計算しやすいです。

帰る

帰ることに挽き目を感じてはいけません。帰るのです。定時にならずしてもやるべき成果が出たら帰っていい。
エンジニアって本来そうゆうものです。時間で稼いでいる訳ではない。バイトとは違います。
心理的なことかも知れませんが。「必ず帰る」には、確固たる決意が必要です。
とにかく帰りましょう。


集中できる時間を作る

設計や実装はなかなか短時間では難しいので、集中できる時間を作ることが大切です。

  • 意識的に集中する。(今 か ら 俺 集 中 す る 。)
  • 開発時はメールを一切見ない。メーラーは立ち上げない。(ちなみに、メールは全部見ません。すげー溜まってたら捨てちゃいます。急ぎなら電話して系)
  • ポモドーロ・テクニックを使い、集中時間のリズムを作る。
  • 社内調整やメール整理等は、出社前の時間を15分ほど使い、1日のスケジュールとTODOだけは出社前に把握しておく。(割り込みはウェルカム)

1日に使える時間は5時間として計算する。

1日を8時間計算でタスクを積んでしまうと、割り込みをウェルカムできませんし、全部が時間通りに進むわけではないので破綻します。
1日は5時間程度使えると考えたほうが良いです。
人間は機械ではないので、ゆとりを持たないと良い集中ができません。

時間内に如何に成果を出すか考える

  • これってそもそも何のためにやるんだっけを考える。やらなくていいことは捨てる。
  • やるとなったらとにかくまず荒くてもいいから終わらせることを目標にする。体裁とかどうでもいい。
  • 目標時間のうち、5分の1ぐらいの時間を目安でまず終わらせる。1時間なら10分ぐらい。あとはフィードバックループを3-4回使う。
  • すぐにフィードバックをもらう。(自分で溜めない)
  • もんもんとしない。もんもんとしたらすぐ誰かに相談する。(言葉にすることで整理できることもあるし、相談することで良いアイディアを貰えることもある)
  • Plain Text(プレインテキスト)が一番汎用性があるので、プレインテキストで終わらないか考える。
  • ExcelやWordやPowerPointなどのOffice系のツールは、使い所を誤らない。なんでもかんでもExcelは絶対NG。保守性が悪い。

大きな問題は熟成させる期間を持つ

5時間で大きなシステムのアーキテクチャ設計は難しいです。色々と考えることがあります。
大きな問題ほど、予めやばそうな雰囲気は前もってわかると思います。この辺は経験値かも知れませんが。
そのような場合は、問題を把握して、少し考えつつ、寝かせて期間を取ります。
良いひらめきや思考が、そのための時間を取っている訳ではないのですが、だんだんとカタチを帯びてきて、頭の中でまとまってきます。
最後には、例えばドキュメントにまとめたり、図を書いたり、表にまとめたりできます。
これは思考の整理学で学んだことです。
大きな問題は熟成させる。集中してその期間を取らない。
例えばアーキテクチャ設計に1週間かかります!とかだと、良い設計はできない。
そのためのタスク時間は不要。
1週間のリードタイムは必要だけど、タスクとして作らない。頭の隅で考える。

参考文献

思考の整理学

思考の整理学 (ちくま文庫)

思考の整理学 (ちくま文庫)

ポモドーロテクニック

アジャイルな時間管理術 ポモドーロテクニック入門

アジャイルな時間管理術 ポモドーロテクニック入門

エンジニアのための時間管理術

エンジニアのための時間管理術

エンジニアのための時間管理術

禁酒

リーダーシップの本とか、スクラムマスターとか、アジャイルコーチとか読んでいると、


チームに自律して頂くには、自分自身も律する必要があるという想いに至りました。


「酒、タバコ、ギャンブル」いずれも自分を律する必要がある。
そこかよ
と突っ込まれそうですが、まずは身体(とお金)が資本です。
最近では、「ネット、アニメ、ゲーム」らしいが…。


私はタバコもギャンブルもネットもアニメもゲームもやらないので、残るは「酒」のみ。
ネットってどうゆう意味なんだろう。ネットって息を吸って吐くのと同じレベルじゃないの?


ということで、禁酒してみようと。
基本的にほぼ毎日飲んでました。だいたい、缶酎ハイ1~2本+日本酒1~2合ぐらいですね。
ただ、これまでも1日休肝日とか設けても効果があるのかないのかわからないので、ここは思い切って、「家では飲まない」という目標にしました。

ちなみに、私の奥さんは夜勤等がある仕事で、且つ子供が小さいので(7歳、3歳)飲み会や外食には1月に1回行くか行かないかです。

同僚からは、付き合いの悪い男と思われているでしょう(笑)



そこで、以下を読んでみました。

禁酒セラピー [セラピーシリーズ] (LONGSELLER MOOK FOR PLEASURE R)

禁酒セラピー [セラピーシリーズ] (LONGSELLER MOOK FOR PLEASURE R)



9/2に読了し、1週間、今のところ辞められています。というか、無理なく辞められている。
売り場にも行きたくないし、飲んでいる人を見ても羨ましくないし、むしろ「あーあ、身体に悪いのになぁ」という哀れみの目を向けているような感じ。
この本は隅から隅まで読まないといけない構成になっていますので、もし禁酒を試みようとしている方は是非購入して頂きたいのです。 辞められた理由は、単に以下を刷り込まれるだけ。

「酒って身体に悪いから」

「ただ、合法ってだけだから」

「だんだんと侵食されてくんだぜ。麻薬と一緒だよ。」

呑んでも、何も解決しないじゃん。これまで、呑んだことで、何か解決したことある?代わりに身体が蝕まれていくだけだぜ。

ただの幻想だよ。虚しいだけじゃないか。

酒飲まない代わりにお金が浮くぜ。一般的に一生で酒に費やす金額は1800万だ。


っていう感じですが、私はまんまと刷り込まれました。

個人差はもちろんあると思いますが、禁酒をしたい!と考えている方は、是非よんでみることをお薦めします。

Visual Studio + TypeScript + ASP.NET MVC5 + knockout でのソリューション構成のプラクティス

Visual Studio を活用し、ASP.NET MVC/C# + TypeScriptで
中規模~大規模なWebアプリケーションを構築する際のプラクティスを探っている。

以下のサイトのサンプルが非常に参考になった。

blog.indivirtual.nl


ソリューション構成は以下のようになっている。

f:id:kshimizu1226:20170910071913p:plain


ASP.NET MVC5のコントローラー、モデル、ビューのモジュールを分割している例に出会ったことがない今までない。
この例も分割はされていない。

Dataモジュールとして、Model層(Data Layer)(例えば、実際にDBにアクセスするなど)がモジュール分割されている。
これは割と良くあるパターンだと思う。

Webパッケージ内に、Sourceディレクトリを作り、その中でAppとLibを分けている。
Libは外部コード(bootstrap等)
Appは自前で書くコードで分けられている。

この後が非常にわかりやすいのだが、Components毎、ビュー毎にTypeScriptとViewが作られており、KnockoutのBindingをうまくディレクトリ構成でもわかりやすく配置している。
これが現時点では、おそらくベストプラクティスだと思う。これ以上キレイな例にあったことがない。

個人的には、Visual Studio + TypeScript + ASP.NET MVC5 + knockout の組み合わせでソリューションを構築する際には、
まず上記を参考にして作ると良いと思う。

大規模になるとどうなるのだろう。個人的にはやはりASP.NET MVC5のMVC部分のパッケージ、特にView部分だけは分けたいと考えるのだが・・・。