Training for D-Day

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

10分でわかるホラクラシー

ラクラシー概要

ラクラシーとは、ティール組織を実現するための組織運営手段の一つ。サークルを作り、サークル内に役割を作る。ロール(=役割)に人を割り当て、その人はロールを全うする。サークル内では、戦術的(オペレーション)ミーティングを定期/不定期で開催し、サークル内の進捗が滞ってないか、課題がないかを確認する。サークルや役割を作るためにガバナンスミーティングを定期/不定期で開催する。戦術的ミーティング・ガバナンスミーティングいずれにおいても、参加者は発言する際に、テンションを上げなければならない。テンションとは単純に発言する前の決まりごとで、発言前に「テンション」と言って手を上げ、発言を開始する。

上記太字である、5つの基本を抑えれば、ホラクラシーは理解したも同然である。ただ、理論は簡単だが実践は困難である。なぜなら組織を変えていく必要があり、多くの人を巻き込んでいく必要があるからである。

 

サークルとは

サークルには、スーパーサークルとサブサークルがある。

スーパーサークルはホラクラシーを適用している組織内で一つだけ存在する。スーパーサークル内に、サブサークルが0以上存在する。サブサークルの中にさらサブサークルがあってもよい。サークルは、チームに近い。

サブサークルの作成・消滅・更新は、ガバナンスミーティングにて、テンションが上げられ、議論される。

サークルの目的は、サークル内に必ず1つ必要なリードリンクという役割の目的と一致する。つまり、サークルを作る際にはリードリンクは必ず必要になる。目的のないサークルは存在しない。

 

docs.google.com

 

ロール(=役割)とは

ロールは、果たすべき役割のことで、コア・ロールと定義されたロールに分けられる。

コア・ロールはホラクラシーで定められたもので、以下の4つが存在する。

  • リードリンク
  • レプリンク
  • ファシリテータ
  • クレタリー

 

定義されたロール(= Defined Role )は、ガバナンスミーティングにて、参加者からテンションが上げられ、議論、作成・更新・削除されるものである。例えば、「職場のコピー機のメンテナンス役」だったり、「単に開発者」だったりする。

役割は、スーパーサークルまたはサブサークルに必ず属する。

役割に、人が割り当てられる。人は複数の役割を担っても良い。

役割を定義する際には、以下の項目を明確にする。

戦術的(オペレーション)ミーティング

チームをシンクロし、次のアクションを決める。通常、戦術的ミーティングは、サブサークル毎に行われる。ミーティングは、定期/不定期開催できる。ミーティングのプロセスは以下の通り。

  1. チェックイン(この場に集中する)
  2. チェックリストの確認
  3. 評価基準の確認
  4. 進捗状況の共有
  5. トリアージ(各案件について次に取るべき行動を見極める)
  6. チェックアウト(この場で学んだことを確認する)

ガバナンスミーティング

ガバナンスミーティングは、スーパーサークル内の役割と直属のサブサークルのレプリンクが集まり開催される。サークルや役割の定義・更新・削除を行うミーティングである。定期/不定期開催できるが、最低でも1ヶ月に1回は開催したい。ただ、期間が長くなればなるほど議題が多くなるので、なるべく短いサイクルのほうが望ましい。

テンション

戦術的ミーティングやガバナンスミーティングにて、発言をする際には、参加者はテンションを上げて発言する。テンションを上げるって、なんかいいよね

 

構造の面での理解を深めたい場合は、以下のツールを利用すると面白い。

現在のHolacracyOneという会社のホラクラシー運営が透明化されている。

app.glassfrog.com

 

ラクラシーの本を読むといろいろ脱線もあって難しいのだが、基本は上記にあげたものが理解できていれば「とりあえずやってみる」ことはできると思う。失敗はつきものだが、失敗から何を学ぶか、そして次にどうするかを決めるのが大切である。

 

 

HOLACRACY 役職をなくし生産性を上げるまったく新しい組織マネジメント

HOLACRACY 役職をなくし生産性を上げるまったく新しい組織マネジメント

 

 

 

ティール組織――マネジメントの常識を覆す次世代型組織の出現

ティール組織――マネジメントの常識を覆す次世代型組織の出現

 

 

 

ホラクラシーの光と影 DIAMOND ハーバード・ビジネス・レビュー論文

ホラクラシーの光と影 DIAMOND ハーバード・ビジネス・レビュー論文

 

 

 

ホラクラシーにまつわる誤解

ラクラシーにまつわる誤解

  1. フラット組織である
    いえいえ、そんなことはございません。ヒエラルキーが存在します。
    でもヒエラルキーの下にいるサークル・役割に指示・命令はくだせません。
    これをヒエラルキーではなく、ホラーキーと呼びます。

  2. 自由な組織なんでしょ!
    いえいえ、そんなことはございません。ホラクラシー憲法に規定されている通り、ガッチガチの規定がございます。
    ただ、ガッチガチの規定を守った上での自由は存在しますです。


    なんとなく思ったのが、面白い方に倒せば、カオスでありつつもうまくいくのかなぁという感じ。
    面白ければ、なんでも良い。
    ハンターハンターのジンみたいな。
    とにかく客観的に見て面白い方に倒そう。

    なんて無責任に言ってみる(笑

    いや、迷ったら、客観的に面白い方に倒そう。
    ぶっ飛んでいる方に倒そう。

    ちなみに、既存の枠組みには全くとらわれなくていい。
    でも、確かにそうかも。なんのために生きてるか。人生を楽しむためだ。
    生活を守るためじゃない。
    ぶっ飛んでいる方が、楽しいじゃないの。

部分適用された関数(partially applied functions)

部分適用された関数


Scala、私にとっては、この辺からだんだん難しくなってくる。
「複数の引数がある場合に、あらかじめ引数の値を決めておき、あとから決まってない引数だけ指定して関数を呼び出せる」、ということという理解である。
「デフォルト引数ありの関数のもっと便利版」という理解でもいいかも知れない。


s.foreach(x => println(x))



s.foreach(println _)


上記の書き方を部分適用された関数(partially applied functions)と呼ぶ。
Scalaでは、必要な引数を渡して関数を呼び出すことを、”関数を引数に適用する”と考える(らしい)。


例えば

def sum(a:Int, b:Int, c:Int) = a + b + c

sum(1,2,3)
res1: Int = 6


と呼び出せる。

val a = sum _
a(1,2,3)
res2: Int = 6


でも同じ結果になる。

val a = sum _ 


と書くと、コンパイラが、

sumにapply(a:Int, b:Int, c:Int)


を自動生成してくれる。

例えば、第1引数だけ決まってない、第2、第3引数は決まっている場合は以下のように書ける

val a = sum(_,2,3)
a(1)
res3: Int = 6

val b = sum(_,2,_)
b(1,3)
res4: Int = 6

val c = sum(_,_,_)
c(1,2,3)
res5: Int = 6


これが部分適用された関数である。

すべてコンパイラのせいだ。

パッとは思いつかなかったが、これって結構応用できる感じがする。
引数を予め決めておきたい処理って結構あるし、テンプレートエンジンで大量のコードを書くときにも利用できそう。
どこかで使ったら載せようと思う。

コップ本読んでる。

Scalaスケーラブルプログラミング第3版

Scalaスケーラブルプログラミング第3版

【Scala】List(コレクション)をn個ずつの要素に分割する

List(コレクション)をn個ずつの要素に分割したい

ググり方が悪いのかさらっと出てこなかったため自作。
C#だと簡単だった。

qiita.com

例えば、以下の文字列が与えられ、

"あ い う え お か き く け こ さ し す せ そ た ち つ て と な に ぬ ね の は ひ ふ へ ほ ま み む め も や - ゆ - よ ら り る れ ろ わ を ん"

コード


5個づつの要素に分割して、以下のようにしたいとします。
(あ い う え お),(か き く け こ),...(わ を ん)


val source = "あ い う え お か き く け こ さ し す せ そ た ち つ て と な に ぬ ね の は ひ ふ へ ほ ま み む め も や - ゆ - よ ら り る れ ろ わ を ん" // 
val chunkSize = 5 // ---2

val list = source.split(" ").toList // --- 3
val ret = list.zipWithIndex.groupBy(s => s._2 / chunkSize).flatMap(x => List(x._2)) //  --- 4

ret.foreach(x => println(x)) // --- 5

解説

---2: 分割したい要素の個数
---3: スペース区切りの文字列をリストに変換
---4: zipWithIndexでindex付きでListをchunkSizeでグループ化し、そのままだとmapなので、flatMapでListに変換
---5:出力

出力結果

List((あ,0), (い,1), (う,2), (え,3), (お,4))
List((は,25), (ひ,26), (ふ,27), (へ,28), (ほ,29))
List((か,5), (き,6), (く,7), (け,8), (こ,9))
List((ま,30), (み,31), (む,32), (め,33), (も,34))
List((わ,45), (を,46), (ん,47))
List((さ,10), (し,11), (す,12), (せ,13), (そ,14))
List((や,35), (-,36), (ゆ,37), (-,38), (よ,39))
List((た,15), (ち,16), (つ,17), (て,18), (と,19))
List((ら,40), (り,41), (る,42), (れ,43), (ろ,44))
List((な,20), (に,21), (ぬ,22), (ね,23), (の,24))

並び順がよくわからなくなってしまった。なんでだろう。。

自宅での筋トレ(ダンベル)にメリハリをつけて長く続ける方法 -インターバルトレーニング-

私の場合、子供二人、嫁さんが看護師で、土日勤務の場合もあるので、なかなか決まった曜日にジムへ行くことが難しい環境におりました。
数年間はジムへ行けず、家で懸垂マシンのみに頼って筋トレしていましたが、もうすこしだけマシな筋トレがしたいと思っておりました。
懸垂マシンも家の中に置くと邪魔だと嫁さんに怒られたので、外においてあります。雨の日はできないです。


ジムへ行く時間もない、となると家にベンチやバーベルがほしかったのですが、これも場所を取られるし、結構値段もするので購入することはできませんでした。
そこで、ダンベルに目を向けました。ダンベルであれば少しだけ場所は取りますが、嫁さんが怒るほどではありません。
床だと傷がついて怒られるので、運良く畳の部屋があったので、畳の部屋で筋トレしています。


Amazonで調べて、以下のIROTECを活用しています。

上記は片方20kgですが、
私は片方30kgのものを購入しました。数年利用していますが、先端の締める部分が取りづらくなることはありますが、そこまで運用上困ったことはないです。値段も手頃ですし、おすすめです。



これまでダンベルメニューはやったことがなく、バーベルメインだったので、そのための本を買いました。

『自宅で、30分でできるダンベルトレーニング』

『自宅で、30分でできるダンベルトレーニング』

上記は、段階的に筋力負荷を高めていったり、痩せ型、細身型、マッチョ型体型別のメニューが乗っていたりして、非常に参考になりました。
ただ、普通にやってるとだれてきます。

そこで、大切なのがインターバルトレーニングです。
iPhoneの場合ですが、以下のAppを利用しています。
用はトレーニングにリズムをつける感じです。
40秒トレーニング、40秒休みを20セットほど続けます。

これをすることにより、トレーニング後の休み中にスマホを見て気がつくと5分くらい経ってしまうということを防ぎやすくなります。
また、1回のトレーニング時間がキッチリと何分以内、という感じで終わるため、メリハリもつけやすいです。

インターバルタイマーforトレーニング2Lite

インターバルタイマーforトレーニング2Lite

  • Yudai Fukuda
  • ヘルスケア/フィットネス
  • 無料


インターバルトレーニング、おすすめです。

ちなみにこの方法で、だいたい週1回(土or日)、3年6ヶ月ほど自宅筋トレを続けています。
週イチだと、筋力向上はあまり望めません。むしろ衰退していますが、衰退としても非常に緩やかな衰退になっていると感じます。

co-active coaching fulfillment コアクティブコーチング フルフィルメント

co-active coaching fulfillmentを受けてきました。
2019/04/27-29の平成最後のfulfillment。

響き。

二人(コーチとクライアント(相手))の関係性の中で響き合うメロディ。

メロディを奏でるために、お互いの心へディープダイブする。

潜る前には、自分自身にたっぷりの酸素を取り込まなきゃいけない。

酸素は、自分自身の生きる目的、勇気、そして羅針盤

自分自身が
"自分らしいとは何か"を問い続ける三日間でした。

大切にしているものは何か。
楽しいことは何か。
嫌いなことは何か。
何が許せないのか。
何が許せるか。

自分自身がわからないまま、相手にそれを問い続ける。

そこから生まれる軸。軸は自分自身に問いかけをくれます。

軸は自分自身を叱咤激励するんです。

そして、問い続けることで、自分自身が研ぎ澄まされ、自分自身が解明されていく。

自分と相手が"響く"ことで心が重なりあう。波長が合う。増幅される。1+1 > 2 が生まれる(ような気がするし、本当にそうかも知れない)

そんな素敵な三日間でした。
いろんなコーチングツールも教えてもらいましたが、それよりなにより、人の本質に向き合える瞬間。

素晴らしい仲間と出会えた、平成最後のfulfillment。

本当に感謝しかないですね。

前へ進む勇気、自分自身にピュアに従う勇気、立ち止まる勇気を貰えた気がします。

最後に直感でメモしたことが、

生きる
生きる
生きる

と3行、連なっていて、見返すとビックリしましたけど、
でも、fulfillmentってそうゆうことなんだなぁとしみじみ思いました。

CTIコーチング研修、おすすめです!!

www.thecoaches.co.jp

Scala 順列を求める

Scalaで、例えば、以下のような順列をすべて出したいとする。
0,1,2,3の順列なので、4!通り = 24通りの組み合わせ。

0,1,2,3
0,1,3,2
0,2,1,3

3,2,1,0

Scalaだと結構簡単で、以下のように書く。

・リストのインスタンス作成
・permutations.toListを呼ぶ

val a = List.range(0, 4)
a.permutations.toList