スクラムと負債とClean dayと

タイトルの元ネタ

Tl;Dr;

  • ストーリーベースでスクラムをやっていると技術的負債の返済や他チームからの問い合わせ対応などが後回しになりがち
  • 優先度は低いがやったほうが良いタスクを入れる箱を用意し、デイリースクラムで優先度を確認する
  • それらを消化する日を定めてリズムを設け、リスクが放置される可能性を減らした

チームとスクラムについて

今のチームの構成とスクラムの進め方は以下のようになっている。

メンバー

  • Product Manager: 2人
  • Engineer: 5人
  • QA: 1人

スプリントの長さ

  • 2 week

行っているセレモニー

  • デイリースクラム (毎日)
  • バックログリファインメント (スプリントの第一金曜日)
  • スプリントプランニング (スプリントの第二金曜日)
  • レトロスペクティブ (スプリントの第二金曜日)

チームの主な業務

このチームでは主にCustomer Support(CS) member が使用する社内サービスの開発・メンテナンスを行っているため下記のような業務がある。

  1. 社内サービスの開発・リプレース
  2. CS memberからのサービスについての問い合わせ・バグフィックス対応
  3. 他チームからのDB -> micro serviceへの移行に伴うデータ取得先のマイグレーション対応

チームとしては1が主な目的なのでこれを積極的に推進したいが、2.3.のタスクも定常的に発生し、放っておくと他チームの業務を阻害してしまうものなので対応しなくてはならない。ただしこれらに時間を取られすぎるのもよろしくないというジレンマが発生する。

Chore Box (雑務ボックス) の用意と優先度確認のリズム

こういったタスクを放置するとのちのち大きな事故に繋がったりするリスクを恐れて、バックログとは別にChore Boxという箱を用意した。Chore という名前は弊社に来ている外部のアジャイルコーチから教えてもらった言葉で、顧客の価値に直結しないタスクやストーリーのことを指すとのこと*1 *2

上記の2. 3. のようなタスクが発生したらこのChore Boxにいれ、翌日のデイリースクラムスクラムメンバーにシェアする。そこで緊急性や優先度をディスカッションし、急ぎのようなら今のスプリントに差し込む。そうでなければChore Boxの中に置いといて後述のClean dayで解消するということにした。

Clean day

Chore Boxに溜まったタスクを解消する日をスプリントの最初の金曜日とし Clean dayと呼ぶことにした。その日のデイリースクラム後にChore Boxの中身を振り返り、Product Ownerも交えて優先度を確認・各エンジニアにその日実施するタスクをアサインする。

金曜日とした理由はいくつかあり、まず弊社は金曜リリースが原則禁止なのでメインタスクのリリース間近などで左右されないこと、チームのミーティングが金曜に集中しているためスキマ時間を活用したい、などがある。

金曜がリリース禁止なのでClean dayで行った改修や施策もリリースできないが、それは翌週のどこかでリリースするということにした。とうぜんClean dayの1日だけでは終わらないタスクに当たることもあるが、それをClean day以外で引き続きやるかどうかは各メンバーに任せることにしている。これは一律禁止にせず、各々が考えたタスク間の優先度を尊重したい、という思いからである。

実施したみた感想

3回ほどClean dayを実施してみて良かった感じたことは以下のとおり

  • 問い合わせなどを気づいた人ベースで消化していたものが、一旦チームで優先度を話し合い方針を定めるタイミングができた
  • いつまでもスプリントに入ってるけど消化されず引き継がれ続けるタスクをChore BoxにいれClean dayでやってしまう、などの活用が生まれた
  • Clean dayを定めたことでメインのタスクの進行を阻害せず計画的に進められるリズムができた

割り込み作業などで時間を取られ本来の優先度を見失うことやリスクが放置されることを防止したい、という本来の狙いからするとこの結果は概ねうまくいったと思っている。

Chore Box 第二のバックログ化問題

今抱えている課題としては、便利だからとあらゆるものを放り込んでいった結果Chore Boxが雑然としたタスクだらけになり管理が困難になるというところがある。今はまだそこまで健在化していないのでルールなどは定めていないが、厳しくなってきたら以下のようなことも考えていきたい。

  • Chore Boxに入れる上限は10までとし、入らない場合は既にあるものをバックログに移すかクローズする*3
  • タスクが発生して1ヶ月経過しバックログに移すかクローズする

なお本来であればプロダクトバックログをもっときちんと棚卸しするべきだが歴史が長いので確認の手が回っていない状況はある。一旦は回り始めたChore Boxの秩序を保っていきたい。

まとめ

弊チームの特徴と、それにまつわる現場の課題・解決策をまとめてみた。あまり綺麗なスクラムとは言えないと思うし改善するべき点もまだまだありそうだけどやっていき。

*1:Pivotal Trackerではサポートされているらしい

*2:別に他チームの仕事を雑務と呼んでいるわけでない。念の為。

*3:ボドゲーマーとしてこの辺は手札上限のルールを考えるようでちょっと楽しい

外出自粛によるリモートワークの生産性を上げるために買ったもの

幣チームでは昨今のコロナにより早くも2月の下旬からWork from Homeを行っていた。自分はある程度は自宅開発開発環境を整えていたものの、いざフルタイムで業務をしようとなると色々と足りないものがあったことに気づき、その改善を行ってきたのでその実績をここにまとめておくことにする*1

 

PC周り

mac縦置きスタンド 

ディスプレイは1つにまとめたいのでmacをディスプレイに繋いでいる時は基本的に閉じっぱなしのクラムシェルモードで使っているが、そのままデスクに置くと面積を食ってしまうので縦置きできるスタンドを買った。このスタンドは既に在庫切れとなってしまっているが、値段も高くなく木目調のデスクにとてもマッチしたので気に入っている。

 

f:id:Peranikov:20200509144451j:image

ちなみに猫のステッカーは福岡天神にあるビアバー ビアキチ でもらったもの。

 

https://amzn.to/2WHnXiW

HDMI ハブ

プライベートではWindows/Ubuntuのデスクトップマシンを使用していたが、業務用のmacを持ち込んだのでディスプレイをスムーズに切り替えるために購入。リモコンも付属しているけどデスク下に置いており手が届くので使っていない。かつ入力を検知すると勝手にスイッチしてくれるので便利。

 

f:id:Peranikov:20200509144627j:image

 

https://amzn.to/3bhea8v 

テレカン

Web camera

テレカンの度にmacを開いてカメラを起動するのが面倒だったので購入。現在だとwebcamもほとんど品切れになってしまったのでこのタイミングで買っておいてよかったと思う。macのカメラと比較すると画角が広くなったので無駄に自室が写ってしまうことと、複数人向けなのでマイクがそこまで指向性がないことを除けば特に問題はない。

 

 

https://amzn.to/35HPSDs 

マイク

完全に自分に恩恵が無い趣味。3000円の割にパフォーマンスが良いと教えてもらい試しに購入。マイクから離れると音が小さくなってしまうらしいのでデスクに引っ掛けられるマイクスタンドとノリでポップガードも購入した。

 

それまではAirpods Proを使っていたが、常にmacと繋いでいるため切り替えをせずに済むようになったのが地味に嬉しいところ。同僚等々に検証してもらった限り音質は問題ないのだが、Google meetなどをしばらく繋いでいるとたまにザラザラとノイズが入る現象が起こってしまい、いろいろ検証した結果初期不良を疑い交換を検討中。

 

 

 

KC グースネック 卓上マイクスタンド 固定型 ブラック MDS-4/BK

KC グースネック 卓上マイクスタンド 固定型 ブラック MDS-4/BK

  • 発売日: 2016/02/22
  • メディア: エレクトロニクス
 

 

ネットワーク

自宅がソフトバンク光だったため、高速化狙いでIPv6を有効にするために光BBユニットオプション(月額500くらい)を付けた。ルーターも古いものを使っていてIPoEに対応していなかったので合わせて新調した。

 

 

 

その他生産性向上のために買ったもの

 iPad Pro + magic keyboard

なんとなく次新しいiPadが出たら買おうと思っていたら出たので購入。ついでにmagic keyboardも。全社向けの配信を眺めながらSlackを追ったり、テレカンしながらjamboardとApple pencilでオンラインのホワイトボードとして使ったりなどとサブ端末として地味に重宝している。

 

Ankerのロボット掃除機

ルンバと迷ったがハイエンドでも値段が安く水拭きが可能、Ankerのファンといったあたりで購入。買ってから気づいたが規則的に外出することが無いためスケジュール機能を使う機会がなくなってしまった。スーパーに買物に行く前に手動で起動するというアナログな運用をしている。

 

 

PS4

高性能なDVDプレーヤー。nintendo switchが買えずどうぶつの森ができないところにFF7Rが出たので買ってみた。業務中のBGMとしてLIVE DVDを流すのにとても便利。 

 

まくら

もともと持病に首痛があり、使っていた枕の高さが気に入っていなかったので以前Kawasaki.rbで紹介されていた首狩り族のネックピローを買ってみた。高さは気に入っており今の所満足している。名前のインパクトが強烈。

 

 

平沢進のCD * 8 / DVD * 3

今年の推しアーティスト。作業環境にはBGMが必須なため購入。PS4が来たことによりLIVE DVDを買うことにも躊躇しなくなった。

f:id:Peranikov:20200509150855j:image

 

Ash Crow - 平沢進 ベルセルク サウンドトラック集

Ash Crow - 平沢進 ベルセルク サウンドトラック集

  • アーティスト:平沢進
  • 発売日: 2016/09/14
  • メディア: CD
 

 

まとめ

 

というわけで本気でWork from Homeをやろうと思った時に感じたフラストレーションを解決すべく導入したアイテムを紹介してみた。思ったがここまで自宅を快適にしてしまうと二度とオフィスに行きたくなくなるのではという心配があり夜しか眠れない。ともあれ仕事の時間というものは人生の大半を占めるわけであり、そこに投資するということはつまり自分の人生を豊かにすることに他ならないという言い訳を思いついたのでここに残しておく。

*1:給付金を期待して購入してきたがいつのまにか10万円を超える出費になっているのは内緒だ

2019年を振り返る

毎年恒例ポスト。去年のふりかえりはこちら。

norizabuton.hateblo.jp

メルカリに入社して1年が経過した

11/1をもって無事一年が経過した。大きく分けて前半と後半が下記のアウトプットに現れている。

www.slideshare.net

メルペイ側のリリースが佳境だったので入社3ヶ月目でヘルプに行った。この時点のペイはまだスタートアップのようなカオス感があり、自分がアサインされたチームは開発を進めていくフローが整備しきれていない様子だったのでそこをまずやってた。そこで仲良くなったエンジニアとも最近ボドゲしたりしてるし結果良かったと思う。

tech.mercari.com

後半はメルカリに戻ってきてやりたかったマイクロサービスをやってた。新しい技術のキャッチアップとスクラムマスターを同時にやっていたので技術的・組織的問題が同時に襲いかかってきて大変だったけどとても楽しかった。ちょうどアドベントカレンダーの募集があったのでついでにテックブログデビューした。

kawasaki.rb近況

medium.com

去年時点で連続ブログ寄稿記録は途絶えてしまったが、今年は連続ではないが9本書いた。6年以上続けいてるパーフェクトRuby読書会はそろそろメタプログラミングが終わるのでそろそろ読み終わると思う。おそらく。多分。きっと。*1

ボードゲーム近況

ボドゲ棚整理ついでに数えてみた。このツイート時点からさらに増えて87個になった。ついでにボドゲした回数も数えてみようと思ったけど毎週のように遊んでたので面倒くさくなってやめた。

ついでに言うとボドゲ部部長が育休に入るタイミングで次期部長のオファーをもらった。前職でもやっていたので経験から鑑みた抜擢だったのだと思う*2。なお部長業とテックリード業は少し似ていて別にその分野に一番詳しくなくても良い。部長業は部の運営や予算の用途方針を管理するのが主な仕事なので、どのボドゲを買うかやインスト(ルールを説明すること)を手伝ってもらう役目を持つメンバーが別にいると便利である。

さいごに

今年も襲い来るさまざまな問題に自分ができる手を打っていたら結果こうなったというアウトプットが多かったと思う。ボードゲームは100個を超えたら処分を考えていきたい*3。よいお年を。

*1:probably, maybe, perhaps, possibly...

*2:これによって給料は上がらなかった

*3:まだ増やして良いという言い訳

graphql-schema-linterの結果をreviewdogに食べさせる🐶

これは kawasaki.rb #77 で発表する予定の記事です。

Tl; Dr;

  • これを参考にlintの結果をformatする
  • CIに設定書く
  • 🐶に怒られるようになる

graphql-schema-linterを使いたかった

最近の業務では複数のマイクロサービスのレスポンスを束ねるBFF的な役割でgraphqlサーバーをフロントエンドの後ろに立てている。最近出たvvakameさんの薄い本graphql-schema-linter が紹介されており、我々のプロダクトにも導入したいと思ったので早速実行してみた。

f:id:Peranikov:20191022231640p:plain

> ✖ 411 errors detected

こんなもの入れたらCI通るまでにいつまで掛かるかわからないだろ!いいかげんにしてください。こういうlinterを後からプロダクトに入れようと思ったらPRの差分にだけ当てたくなるのが人間ってものです*1。なのでみんな大好きreviewdogちゃんに食べさせてあげましょう。

reviewdogとは

github.com

reviewdogはPRの差分にCI上で実行したlintの結果が含まれていたらその部分にコメントを付けてくれる大変便利なツールです。プリセットとしてgolintやgovetが含まれていますが、lintの結果をformatしてあげることでどんなlintも対応することができます。

lintの結果をformatする

formatはreviewdogのInput formatを参考にします。graphql-schema-linterは結果をjsonで出力できるので、jsonを読み込んで一行ずつのフォーマットになるようにパースする下記のようなスクリプトをnode.jsで書きました。node.jsで書いたのはgraphql-schema-linterを動かすのに必要だったからで、何の言語で書いてもいいです*2

'use strict';

// see: https://github.com/cjoudrey/graphql-schema-linter#jsonformatter
// see: https://github.com/reviewdog/reviewdog#input-format

const process = require('process');
process.stdin.resume();
process.stdin.setEncoding('utf8');

let input = "";
process.stdin.on('data', function(chunk){
    input += chunk;
});

process.stdin.on('end', function(){
    const result = JSON.parse(input);

    result["errors"].forEach((err) => {
        // ex. comment_iowriter.go:11:6: exported type CommentWriter should have comment or be unexported

        const loc = err["location"];
        console.log(`${loc["file"]}:${loc["line"]}:${loc["column"]}: ${err["message"]} (${err["rule"]})`)
    });
});

CIにconfigを設定する

.reviewdog.ymlに設定を追加していく。.reviewdog.ymlについてはこちらを参照。

  # https://github.com/cjoudrey/graphql-schema-linter
  graphql-schema-linter:
    # これが何故か途中で出力が止まうので一度ファイルに吐き出している。恐らくpipeのバッファに引っかかっている。
    # cmd: graphql-schema-linter schema/**/*.graphql -f json | node .graphql-linter/format.js
    cmd: graphql-schema-linter schema/**/*.graphql -f json > graphql-schema-linter.json; cat graphql-schema-linter.json | node .graphql-linter/format.js
    errorformat:
      - "%f:%l:%c: %m"

怒られてみる

以上で設定は完了です。よろしくないschemaを書いて怒られてみましょう。

f:id:Peranikov:20191022234517p:plain

無事に怒られが発生しました。ちなみにreviewdogさんはcheckstyle-formatなら直接読み込んでくれるそうで、linterがこのformatに対応しててくれると自分でパースをしなくて済みます。

ぜひお好みのlinterをreviewdogに食べさせてみてください 🐶

*1:ですよね?

*2:そして別にnodeが得意な訳ではないので見様見真似で書いた

お邪魔者(Saboteur)4人向けバリアントルール和訳

お邪魔者という正体隠匿型の有名なゲームがあります。このゲームのプレイ可能人数は3-10人なのですが、BGGでは推奨は5-10人、ベストなのは7-8人と言っています。3-4人があまりおすすめされない理由としては、進行を妨害するお邪魔者側が1人になり不利になりがちというところが大きいと思います*1。BGGのフォーラムに4人用ルールを提案している方がいらっしゃったのを見つけたので和訳してみました*2。個人的には5-6人ルールでも適用してみると面白いかもと感じます。

www.boardgamegeek.com

ルール

  • 3つ目の役割、「わがままドワーフ」を加える。「わがままドワーフ」は、自分で金を掘り当てた時だけ報酬を得られ、かつ他のプレイヤーに報酬を分けなくて良い。
  • 役割の内訳は金鉱掘りが2人、お邪魔者が1、わがままドワーフが1
  • 地図カードを3枚除外する
  • 真ん中の財宝カードのみスタートから8枚分離す(つまり他の財宝カードから1枚のトンネルカードで到達できなくなる)
  • 他のルールや勝利条件は変わらない

得点

通常のルールに則っても良いですが、次のルールをおすすめします:

  • お邪魔者が勝利した場合: 3枚のランダムな金塊カードを取得する
  • わがままドワーフが勝利した場合: 3枚のランダムな金塊カードを取得する
  • 金鉱掘りが勝利した場合: 4枚のランダムな金塊カードを通常ルールに従って分配する(金を掘り当てたプレイヤーが1番目と3番目、そうでない金鉱掘りが2番めと最後のカードを得る)

3ラウンド終了後、もっとも金塊を多く所持していたプレイヤーの勝利。同数の場合、最も多い金塊カードを持っているプレイヤーの勝利。

ボードゲーム お邪魔者 (日本語版)

ボードゲーム お邪魔者 (日本語版)

*1:5-6人でもお邪魔者側が1人になる可能性がある

*2:もともとはデザイナーさんのブログで提案されていたそうです(今はリンク切れ)

SKULL ルール和訳

家にあったSKULLが英語及びフランス語版だったため訳しました。今は普通に日本語版があるのでそれを買うといいと思います。

SKULLとは

boardgamegeek.com

ブラフゲーの一つ。ルールがシンプルなのでできるアクションは少ないが、それ故にブラフを掛ける余地が大きくなる心理戦が楽しいゲーム。

プレイ時間: 15 ~ 45分
プレイヤー数: 3 ~ 6人
対象年齢: 14歳以上

SKULL ルール和訳

内容物

このゲームでは6部族が登場します。

それぞれのプレイヤーには以下の神聖なオブジェクトが配られます。

  • 3枚の花のディスク
  • 1枚の髑髏のディスク
  • 1枚の部族ごとのプレイマット

ゲームの目的

チャレンジを2回成功させることです。

チャレンジに成功するためには、髑髏を表にせずに決められた枚数のディスクを裏返す必要があります。あなたが使用する4枚のディスクは、あなたが挑戦し勝つための4つの"ライフ"でもあります。

準備

各プレイヤーは選んだ部族の4枚のディスクとプレイマットを受け取ります。

プレイヤーは髑髏の側が見えるように、自分の前にプレイマットを置きます。

プレイヤーは自分のディスクを他のプレイヤーから表が見えないように手に持ちます。

最初のプレイヤーを選びます。

ステップ1 - ターンの準備

各プレイヤーは自分のディスクを1枚選び、裏向きに自分のマットの上に置きます。

各プレイヤーが置いたらStep2に移ります。

ステップ2 - 新たにディスクを追加する、もしくはチャレンジする

追加する

望むのであれば、最初のプレーヤーはすでにプレイされたディスクの上に新たにディスクを追加することができます。

時計回りに次のプレイヤーも同様に行えます。これは順々に複数回続くことがあります。

チャレンジ

もしプレイヤーが追加のディスクを置けない、もしくは置くことを望まない場合、そのプレイヤーはチャレンジを宣言します。そして、全てのマットの上にプレイされたディスクから何枚裏返すつもりかを宣言します。

その後、各プレイヤーは時計回りに以下を行わなければなりません。

  • 前のプレイヤーが宣言した数字よりも大きい数字を入札する
  • もしくはパスを宣言し、自分のマットをテーブルの中央に寄せる

これを全てのプレイヤーがパスするまで続け、一番大きい数字を宣言したプレイヤーを チャレンジャー と呼びます。

チャレンジはパスしたプレイヤーも含め、マットにプレイされた 全ての ディスクに対して行われます。

その後Step3に移ります。

  • 最初のプレイヤーは、一枚目のディスクを他のプレイヤーの後にプレイします。こうすることで対戦相手の行動を分析することができます。
  • プレイヤーは裏向きに、一度に一枚だけディスクを置きます。
  • プレイされた枚数が分かるように、ディスクはわずかにずらして置きます。
  • 最初のプレイヤーは追加のディスクを置く代わりに、即座にチャレンジを宣言することができます。
  • 自分のターンで、手札にディスクが一枚も無い場合、そのプレイヤーはチャレンジを宣言しなければなりません。
  • プレイヤーは0枚の状態でチャレンジ、もしくは場に置かれたディスクの枚数を超えるチャレンジは行うことはできません。
  • 1枚を超えて入札を釣り上げるのは可能です。それは直ちに、最大値であるマット上のディスクの枚数を宣言することも可能ということです。

ステップ3 - チャレンジを行う

チャレンジャーは、自分がチャレンジで宣言した枚数に等しい枚数を、以下のルールに従って裏返さなければなりません。

  • 全ての自分のディスクから始めなければならない
  • 続けて、他のプレイヤーのディスクを好きな順番で裏返す

注意

  • ディスクは1枚ずつ裏返されます
  • 裏返すディスクはマットにある一番上のディスクです
  • プレイヤーは、相手のディスクを全て裏返す必要はありません

もしチャレンジがプレイされたディスクと同じ枚数の場合、全てのディスクを一枚ずつ裏返し、髑髏を裏返してしまった場合ただちに終了します。

髑髏を裏返してしまった場合: そのチャレンジは失敗です
髑髏を裏返さなかった場合: そのチャレンジは成功です

もしチャレンジャーがチャレンジの数より多い枚数のディスクをプレイした場合、チャレンジャーは自分の前に積まれたディスクの一番上から、宣言した数だけ裏返します。

チャレンジに失敗した場合

ただちにチャレンジを終了し、以下を行います:

  • 全てのプレイヤーは自分のディスクを手札に戻します
  • チャレンジャーは一枚のディスクを永久に失います:
    • チャレンジャーは残ったディスクをテーブルの上に裏向きにしてシャッフルします。チャレンジャーが髑髏を引いたプレイヤーは、その中から除外するディスクを選択します。そのディスクは公開せずにゲームから取り除かれます。髑髏と花どちらのディスクが取り除かれたのか知るのはチャレンジャーのみです。
    • もしチャレンジャーが自分の髑髏を裏返した場合、チャレンジャー自身が除外するディスクを選択します。

もしチャレンジャーが最後のディスクを失う場合、そのプレイヤーは除外されマットを戻します。

もしチャレンジャーが除外された場合、次のプレイヤーは髑髏を引かれたプレイヤーのターンになります。もしチャレンジャーが自分の髑髏を引いた場合、チャレンジャーが次のプレイヤーのターンを選択します。

もし髑髏が表になった場合、チャレンジャーは対戦相手の戦略を明らかにしないために、残りのディスクを表にすることができません。しかし、対戦相手が望む場合、究極的に踏みにじられたチャレンジャーの顔を拝むことを理由に自分のディスクを明らかにすることができます!

チャレンジに成功した場合

チャレンジャーは宣言した枚数、花のディスクのみ表にしました。チャレンジは成功し、プレイマットの花の側を表にします。 既に花の側が表の場合、そのチャレンジャーはゲームの勝利者になります。

特別なケース:

あるプレイヤーが4枚のうち3枚のディスクを失い、1枚のディスクだけが残りました。そのプレイヤーはターンの準備でその一枚を置き、ターンが回ってきました。

ステップに応じて:

  • ディスクを追加する: チャレンジを宣言しなければなりません
  • 入札する: パスするか、入札を釣り上げることができます
  • チャレンジ: もしプレイヤーのディスクが髑髏である場合、そのプレイヤーはゲームから脱落します

新しいラウンド

チャレンジが成功したか失敗したかにかかわらず、チャレンジャーが次のラウンドの手番になり、Step1から再開します。

勝利条件

いずれかのプレイヤーが2回チャレンジに成功した時

もしくは

一人のプレイヤー以外が脱落した場合、そのプレイヤーの勝利になります。

Tips

最初のプレイヤーになることはとても有利です。たとえディスクを失うことになっても、最初のプレイヤーを保持するリスクを犯す価値はあります。髑髏をプレイしたにもかかわらず、チャレンジを始めたり入札を釣り上げるブラフを行うことに躊躇しないでください。それは次のチャレンジャーを誤った安心感に陥れ、あなたの髑髏を引かせるための最良の方法です。

ゲームが終わりに近づき、プレイヤーにディスクがほとんど残っていない時、いくつかの勝利への戦略があることに注意してください。それらを発見すれば、中盤でかなり優位に立つことができます。

相手を不安にするため、自分の行動や相手の行動、特にチャレンジャーに言及してください。例えば、「言っておくけど、俺は髑髏をプレイしたよ!」もしくは「彼のディスクはめくっちゃだめだ!彼は髑髏をプレイしたよ!」など。

勝つためには、心理的な観点から相手を打ち負かさなければなりません。

私達は、初心者と遊ぶときには3人を避けることをおすすめします。その数のプレーヤーで遊ぶことは高度に戦術的で非常に容赦のないことだからです。

経験者向けの拡張ルール:

Skullを2箱組み合わせることでさらに6人プレイヤーを増やすことができます。ただし10人以下が望ましいです。

拡張2: 1人に2部族

ゲームを始める時、各プレイヤーは2部族を選びます。通常のゲームのように、プレイヤーの部族のうち1つが2回勝利したらそのゲームの勝利者です。ゲームをセットアップするために、与えられたプレイヤーの2つの部族がゲームテーブルの両側に互いに向き合うように配置されます。

スカル 日本語版

スカル 日本語版

2018年を振り返る

既にこのブログもほぼ1年を振り返る用になっていますねお疲れ様です。 去年のふりかえりはこちら。

norizabuton.hateblo.jp

Kawasaki.rbの公式ブログ連続寄稿記録が3年7ヶ月でストップ

2015年4月から毎月寄稿してきたKawasaki.rbの公式ブログですが、11月に溶連菌にかかり高熱で倒れ連続寄稿記録が途絶えました。悲しい。

medium.com

11月分は発起人の @chezou さんが書いてくれました。圧倒的感謝。今度は4年目指してがんばります。 Kawasaki.rbは相変わらずRubyに拘らない技術ネタで盛り上がってるし、その1つ1つがレベル高くとても勉強になります*1。最近は公式ブログを書くことに甘えて自ら発信してないので、来年はリハビリ兼ねて発表していきたいですね。

kawasakirb.connpass.com

英語学習を(ほぼ)毎日実施した

この話。

norizabuton.hateblo.jp

ほぼ、と言っているのは12月に飲み会が続いて2日サボってしまいみんチャレから追い出されたからである。悲しい。

以前の記事からまた続けていたスタディサプリは惰性になってきてしまったことから使用を辞め、11月からはDMM英会話に切り替えて平日はなるべく毎日行うようにしている。

f:id:Peranikov:20181228110710p:plain

英会話の効果はTOEICのように定量的な結果として現れにくいためモチベーションを保つには工夫が必要そうだが、そういった工夫や実施した内容はまた別途ブログにまとめたい。

転職した

3年ぶり3回目。11月からメルカリのCREチームとして働いています。

tech.mercari.com

自分は3年ごとに自分の市場価値とやりたいことを見極めるために転職活動をしていて、今回は日本で唯一積極的にmicro servicesに取り組んでいる企業ということが決め手になって転職しました。あとお金。

前職の人間関係はとても良好でその点は幸福だったのだけれど、3年続けたチームから脱退し新しいメンバーに引き継ぎが完了したことや、技術的な挑戦が薄くなりキャリアに危機感を覚え始めたあたりから転職を決意しました。というわけで業界のブラックホールに飲まれた一人として来年も頑張っていきます。

まとめ

今年の個人的なテーマは「継続」で、習慣化するにはどうすれば良いかと考えながら動いていた一年であったと思う。主にこの記事を参考にしていたわけだけど。

https://kensuu.com/n/nc6783b97497a

生活リズムに習慣を組み込むことである程度はうまくいっていたのだけれど、外部要因によってリズムが崩れた時に共倒れした点をどうクリアするか、あるいは仕方ないものとして妥協し習慣が途絶えないようリカバリする方向に倒すかなどは考えなければいけないと思った。しかし概ねうまくは行ったので来年もやっていきます*2。よいお年を。

*1:行ったことないけどBuildersconってこんな感じなんだろーなと思う

*2:あとは結果がついてくればなぁぁぁ