Above & Beyond

日々のアウトプット記録

Dev Dayというのを始めた

今年始めてみたシリーズ、その2です。

きっかけ

さて、普段仕事をしていて、日々の作業に追われていると、

  • 定型作業の自動化(コード作成など)
  • 新しいツール導入の検討(監視周りとか)
  • 期限のある保守作業(サービス終了などへの対応)の準備
  • これまでやったことがないことを試す

などなど、まとまった時間がないと手を付けるのが辛い作業ってありますよね。

自分のチームでもこういう事が有って、なんとか改善したいなぁと思っていたときに見たのがこの記事。

tech.youtrust.co.jp

この「KAIZEN Day」という取り組み、良いじゃん、と。

YOUTRUSTのエンジニア組織では、日々の業務時間内で着手しづらい開発に取り組む時間として、月に1回「KAIZEN Day」という日を設けています。 この日は通常業務をストップし、納期や優先順位を気にすることなく、エンジニア自身の判断で開発・改善できる日です。

良いなと思ったら早速取り組もうと思い立ったものの、いきなり組織全体でというのは流石に無理。 でも、自分のチームだけなら他との調整さえできれば良い。怒られたとしても俺の責任で良いじゃん。 ということで社内のSlackで「こういうことをやりたいなー」とつぶやいたのが12月。 年末年始は休暇とか有って始めるタイミングを失って、結局2月の頭に1回目の Dev Day を開始できました。

ちなみに、「KAIZEN Day」ではなく「Dev Day」としたのは、

  • 今後他のチームでも取り入れる時に「Dev Day」の方が受け入れやすそう
  • 改善以前の問題(単に時間が足りないとか)も結構あるので、KAIZEN と付けるのはちょっと気が引けた
  • デブサミ、みたいなノリでデブデイって呼びやすそう

という自分の思いがあっての変更。社内で最初に始めるんだから、名前くらい付けても良いよね?

やりかた

場所

弊社はフルリモートなので物理的に何処かに集まって作業というのは難しいのですが、代わりにバーチャルオフィスとしてSpacial Chatというのを使っています。 ということで、全員がそこに集まって1日中声をかけたりできる状態にしました。

Spacial Chatについては過去に書いたこの記事で解説しています。 kabukawa.hatenablog.jp

時間

自分以外はパートナーの人なので、開始時間は10時から。午前中と午後に分けて17時くらいで全部が終わるような時間の割り振りにしました。 過度に集中しすぎて残業になるのも良くないので、午後は終了時刻をアナウンスしつつ流れ解散のような形で。

対象タスクの決め方

自分のチームではGitHub Projectでタスク管理をしているので、Dev Dayの最初に全員でペンディングになっている項目などを見ながら決めました。 今回は、自動化タスク2つを対象としました。

進め方

どうやろうかと考えたのですが、せっかく集まっているんだからモブでやろうと思って、午前中はモブにしました。

モブプログラミングのように、ドキュメントを書いたりコードを書くドライバーと、考えながらドライバーに指示を出すナビゲーターに分かれて課題に取り組みます。 時間配分としては丸一日モブをするのはかなり疲れるので午前中のみモブ形式、午後は個別にもくもく会、という流れで実施しました。 こうすることで、全員で纏めて倒す課題と個人で集中して倒す課題というのを1日で対処するというのができると考えました。

で、どうだったか

まずは午前中の課題の話から。 対処したい自動化タスクは2つ有ったのですが、1つ目の課題はシェルスクリプトを大枠で書くところまで出来ました。

作業の進め方として

  • そもそもどうやって問題を解決するのか(AWSでなにか構築?シェルスクリプトをcronで起動などなど)を決める
  • 提供するべき機能が何が必要かを考える
  • 実装する

というところから始めることで、作業の進め方を共有しながらできたのは良かったです。 フルリモートのチームなので、他の人がどうやって作業を進めているかと言った事が後から入ったメンバーだと分かりづらいところもあるので、参加したメンバーの反応もとてもポジティブでした。

そして、モブという形を取ったことで、シェルスクリプト(恒久対処ではないのでシェルスクリプトで十分と判断した)を書けないメンバーでも書けるメンバーがナビゲーターとしてサポートすればいいというのもあり、思ったよりサクサク進みました。

2つ目の課題は既に自動化コード(Ruby)が有る状態で、そのテストコード(RSpec)を書かなければならない、というものでした。 残念ながらこちらについてはあまりうまく進まなかったです。

理由は、コードを書いたメンバーは既に退職しており、チームの中にRSpecを書けるメンバーが居ない(自分も少しなら書けるけど自分が書くのではメンバーが成長できないのでNG)ので、退職したメンバーから引き継いだ現担当メンバーも何を書けばいいかすら分からない状態というのが分かったからです。テストコードも有るのでテスト実施だけすればOKと退職者からは聞いていたので、これは想定外でした。

ただ、そういう状況だから対処すればいいかというのを考えることに方針を変えることが出来たというのもあり、進まなかったけど結果としては良かったのかなと思っています。 弊社ではGitHub Copilotを使えるようになっているので、ある程度指示ができればRSpecの雛形くらいは生成させることは出来ますし、開発チームのメンバーにも支援をしてもらうと言った対応も、今後進めていくことになります。

午後は各自のタスクをこなす時間として、日頃出来ていなかったドキュメント作成や作業タスクを個別にもくもくしてくれたようです。 残念ながら丸一日もくもくできる、という形には出来ませんでしたが、それでも半日有ればできることもたくさんあるので、有意義に使ってくれたのではないかと思います。

反省点は?

反省点は色々あります。というか殆ど反省点だったかもしれません。 準備不足も有ったし、自分がガガガと進めてしまったところもあるので、次回以降は特に、もう少しメンバー主体の動き方をできるようにしていきたいです。 参加してくれたメンバーがポジティブに受け止めてくれているようだ、というのだけが救いですが、まずは一歩を踏み出してみたというところです。 こういう取り組みは継続してこそ価値があるので、来月以降も続けていきたいと思っています。

ワーキングアグリーメントというのを始めてみた

会社の自分のチームでワーキングアグリーメントというのを始めてみた。 で、これを社内で紹介してほしいとPdMから言われたので、

  • 導入のきっかけ
  • 実際どんな事を書いているかとか
  • 何をしたかったか

みたいなことを書いたスライドを作ったんだけど、PdMが求めていたのは導入した俺の話ではなく、チームメンバーがそれに対してどう思っているかとかを紹介しろという事だったようなので、せっかく書いたスライドだしここに貼って供養しておく。

一部社内のNotionのリンクとかモザイクかけてますが、基本スライドのまんまです。



取り敢えずやってみたって話でしか無いけど、誰かが同じ様に一歩を踏み出すきっかけになったら良いな。

久しぶりにタブレットを買った

なんで買ったか

元々タブレットはこれを持っていた。

サイズ感も丁度良くて重くもない絶妙な感じで気に入っていたんだけど、通勤途中に不注意で落としてガラスがバリバリに。 買ってから5年位経っていたのでOSの更新もパッチ提供もなく、なによりバッテリーが弱っていたので継続利用は断念。

現在は外出時の持ち歩き用としてはHP Spectre x360 13-ae000というノートPCを使っている。

amzn.asia

これも買ってから5年以上経ち、バッテリーがイカれて自分で交換したまでは良かったものの、ネジが駄目になって裏蓋がパカパカするようになってちょっとどうしようかなと思っていた。サポートはとっくに切れている(だから自分でバッテリー交換をしたわけだが)し、今更お金をかけて直すのもなー、みたいな。

何を買ったか

スペックはそこそこでいいから、もうちょっと気軽に持ち歩いて使える軽さと画面サイズを持ったデバイスを買いたいなと思って色々考えた挙げ句、買ったのがこれ。

スペックそこそこで使えるっていう意味ではChromebookも気になっていたので最後までこれと迷っていたんだけど、軽さと価格でタブレットになった感じ。

取り敢えず久しぶりのタブレットだし、前回のASUSと違って今回はTECLASTという中国メーカーの製品。 どんな感じなんだろなーと、恐る恐るポチってみた。

ちなみにケースとガラスフィルムはこれを買った。

ケースは滑りにくいし、安っぽさもあまりないので良かった。ガラスフィルムはなんか指紋が付きやすい気がする。

どうだったか

結論から言うと、個人的にはとても良い買い物だったと思う。

  1. 価格が安い(ガラスフィルムやカバー込みで3万円ちょい)
  2. 画面サイズが大きい(前は8インチでジャストサイズと思っていたが、老眼が進んでいるので11インチは広くて快適)
  3. そんなに安っぽくない(裏は金属でサンドブラスト加工されているし、変にたわんだりとかもない)
  4. 軽くは無いけど、重くて持てないという感じでもない。(500gくらい)
  5. ほぼ素のAndroid 14なので余計なものが入ってない。独自OSではなくGoogle Playが使えるのは良い。
  6. 動画再生などは快適。このバージョンからWidevine L1(ネトフリも)にも対応。
  7. 今のところ、バッテリーの持ちも悪くない。

ただ、価格なりなところもあって

  1. 指紋認証などの生体認証が使えない。何故か顔認証も使えない。
  2. インカメラの画質はいまいち。アウトカメラは思ったよりちゃんとしている。
  3. 何故かいくつかのアプリ(Gmailとか設定アプリ)のアイコンがiOSっぽいものにカスタマイズされている。そういうのは要らないんだけど治す方法が分からん。

まぁ、この辺は気にしなければいいだけなので、総じてはとても良い買い物だったと思ってます。

今後

そこそこ使えるので、ノートPCの代わりに持ち歩けないかという考えもよぎったものの、VS Code Webでローカルにファイル保存ができない(これはブラウザの制約でも有るが)し、暗号化とかを考えないと仕事で使うのは不味いなというのもあるので、あくまで個人のデバイスとして運用しようかと思っている。

おまけ

なんかキャンペーンをやっているようで、購入後に来たメールに回答するとBluetoothのキーボードと本体カバーを貰えた。

キーボードはかなり軽く、これ本当に使えるの??みたいな感じだけど、ちゃんと本体とペアリングして使えた。 配列は英語だけど、日本語キー配列で認識させれば日本語キーボードとして使える。(記号などの配置が変わるので、キートップに貼れるステッカーも付属) ちゃんと打つには不安は有るけど、緊急用にたまに使うならこれでも十分かもしれない。そう思えるくらい軽い。 取り敢えず性能はそこそこでいいから安くタブレットを買いたい、できればーキーボード付きで3万円くらいというニーズには合っていると思う。