y_megane.log

日々の勉強や改善ネタの備忘。

2022年ふりかえり

ScrapboxにいったりObisidianにいったりフラフラして放置してるこのブログですが、ノージャンル的な記事の置場として久しぶりに更新。

2022年1月に今の職場(PKSHA Technology)に転職して、明らかに前職までと技術や人の水準が変わったので必死にキャッチアップして、その上でやりたいことに片っ端から首を突っ込む濃密な1年だった。

趣味では触ってるけど仕事ではない、みたいなレベルのものを含めると、React, Next.js, AWS, Terraform, CDK, Backend Python, Figma, etc... など色々と学んで実践して、ちゃんとエンジニアを名乗れるな、と思えるようになった。 要件定義の会議してる裏でFigmaワイヤーフレーム書いて、そのまま諸々設計してAWS構成図書いてCDKでIaCしてAPI立ててReact書いて... みたいなことを入社して半年後にはやっているので、必要なことを必要なときにガッツリ習得する、みたいな振る舞いはそれなりにできたはず。

前職までは業務で関わる技術だけではエンジニアのキャリアとして不安が大きかったので業務外で色々と勉強してたが、今はそういう不安はあまりなく、プライベートで学びたいことと仕事の重なりが非常に大きくなっている。現時点では日々のキャリア的な不安はほぼ解消された気がする。
その一方で、個人的な勉強と仕事の境目がやや曖昧になったので、ある意味ではON/OFFのメリハリが弱まったかもしれない。 これ自体は幸せなことであって特に問題ではないが、集中力と生活の水準を上げるために意識的にON/OFFのコントロールは改善したい。

他にもメインの仕事をやりながら情報の可視化、コミュニケーション改善、オンボーディング構築などチーム改善っぽいことを色々実施。
直接の改善効果だけでなく、こういう領域に興味と強みがあるキャラクターとしてある程度認知してもらえたことは今後の自分にとってもチームにとっても有益なはず。
結果としてグループ横断イベントの企画、採用など、より広い領域に関わらせてもらえるようになっている。

また前職までは割と一般的な職場だったと思っているが、ベンチャーに転職した当初は違和感を感じるシーンも少なからずあった。
その際、チームのメンバーやEMときちんと対話して、違和感の背景となる過去の経緯などをきちんと聞くことの重要さを改めて理解した。 特にベンチャーだと1年で状況が激変するので、今見えてる状況とは全く違う背景が隠れていることがあると学んだ。

丁寧に対話して理解してその上で行動する。これを臆すことなく習慣的にやれているのは、自身の振る舞いとしても場の心理的安全性としても良い状態が作れている。 こういうシーンをチームのふりかえり(KPT)などの場でKeepとして言語化して表明するところまでセットで習慣化できている。
特に内部向けの広義なコミュニケーション(ドキュメント、アサーション、ファシリ、etc)は興味があり強みとしたい領域なので、ここの強化と実行を進めることができたのは良かった。

エンジニアリングに限らずプロジェクトマネジメントや採用など学ぶべきことは無限にあって力不足感は常につきまとうが、それはそれとして、1年前と比べると非常に大きく成長できたししきちんと価値提供できたとも思える。
学びが多く、その上で強みも発揮できた、充実した良い1年だった。

Scrapboxで書いてます

このブログは典型的な三日坊主化しているわけですが…
最近はもっぱらScrapboxで書いています。

技術ネタ、チーム改善的なネタ、コーヒーの話、なんでも…

scrapbox.io

その他プライベートなこととか権利関係とかでパブリックに書くべきではないことはプライベートなScrapboxに書くようにしています。
雑にキャプチャ貼ったり引用との線引を考えるのが面倒なものとか。

1枚絵でポモドーロ・テクニックのアレンジを紹介

ポモドーロテクニックを私なりにアレンジしたやり方を1枚絵で紹介。
実際に仕事をしながら1年以上続けている、限界までシンプルにしたやり方。
タスク管理というより集中テクニックとして、自分としては割と完成形。

https://i.gyazo.com/6c461c5f49fe56c2816330a7f086a3a0.jpg

紙のノート + 物理タイマーが最強

ポモドーロアプリとかタスク管理ツール、スプレッドシートなど色々試したが、最終的に紙のノートにササッと書くのが一番手間がかからず継続しやすい。アプリと違って画面を切り替えることなく、机の上のノートにX書くだけで良いのが大きな利点。
折り返しやすいリングノートが便利。
Amazon | コクヨ ノート 4冊パック 6号 セミB5 A罫30枚 ス-T602A | 文房具・オフィス用品 | 文房具・オフィス用品

タイマーについては25分と5分が即起動できること、無音にできること、残り時間が見えることが重要。
この条件を満たすタイマーはかなり少ないが、タイマーの使い勝手はポモドーロ継続に非常に重要。

使っているタイマー↓
Amazon|LIORQUE キッチンタイマー デジタル大画面 時計付け カスタム機能 消音切替

これもよさそう↓
Amazon|Jコートン キッチンタイマー 大画面 5分、25分 勉強タイマー 多機能

スマホのタイマーはスマホ自体が雑念の塊なのでやめた。

参考

ポモドーロテクニックのざっくりした基本形はこちら

ymegane88.hatenablog.com

1枚絵でポモドーロ・テクニックの基本形をサクッと知る

2年以上つづけているポモドーロ・テクニックの基本形を1枚絵で紹介。

https://i.gyazo.com/7f367767d8e61a38acdcbe2b16c81e71.jpg

以前に名古屋の勉強会でポモドーロネタで喋ったときのものはこちら。

ymegane88.hatenablog.com

speakerdeck.com

参考書籍

どんな仕事も「25分+5分」で結果が出る ポモドーロ・テクニック入門 | フランチェスコ・シリロ, 斉藤裕一 |本 | 通販 | Amazon

アジャイルな時間管理術 ポモドーロテクニック入門 | Staffan Noeteberg, 渋川 よしき, 渋川 あき |本 | 通販 | Amazon

スクラム初心者がRSGT2021から持ち帰るメモ

初参加のRSGTの内容や感想を会社に対してフルボリュームで報告するわけにもいかないので、スクラム初心者がスクラム未導入のSIerに持ち帰る資料作りのメモ。

組織・チーム・人

  • チームが大事<>SIerの案件に人を割り当てる(可変)
  • 「チーム」単位で練度、ツール、情報、etcが蓄積してレベルアップしていく必要がある
    • SECIモデル
    • ふりかえり、フィードバックを得てスパイラルを回す
  • 「チーム作り」「共通認識」が重要 (長沢さんのコーチズクリニックより)
    • SIerだと案件によってチームが大きく変動する。 それでは暗黙知やルールが定着しないし技術的な練度も上がらない。
    • チームを固定して、チーム単位で案件を回すパターンがある。 これならSIerビジネスでも可能。案件をストックする必要がある(リソース<案件ストック)
    • 参考:アジャイル戦略論「チーム作りの巻」の発表

コミュニケーション

  • オンラインコミュニケーションにおいて、顔出すの必須。顔が見えないと反応がわからないししゃべるタイミングもわからない。
    • アジャイルコーチも社内研修の講師も同じこと言ってた。
    • 練度が低いチームほど必須。

ツール

道具は本質じゃないけど、まずなにから整備するか

  • CI環境・自動テストは現実的に必須
  • 情報共有の整備。最新情報が常に全員に確実に手に入る状態。誰でも手軽にメンテできる状態。
    • Scrapboxを使っている事例もあるとのこと。

テストの考え方

  • テストの4象限の「不具合を出さないためのテスト」できてないし、スクラムやるには必須。
  • コード書いてからテストではない。常にテスト。
  • テストは単純作業ではなくもっと抽象的・包括的なプロセス。設計のリファインメント。

顧客との関係

  • 準委任が望ましい(IPA,ryuzeeさん資料、他)
  • 導入する案件や顧客について、ユーザが何を臨むのか明確にするのが重要。 予算や作るものが固定されているならアジャイルである必要はないしウォータフォールでよい。(OSTより)
  • 共通理解、歩み寄り、共感(チーム・ユーザ)
    • 「車が水の上/橋の上を走っている」という父子のエピソード。

その他(RSGT2021関係ないもの含む)

SI案件への導入

slide.meguro.ryuzee.com

www.slideshare.net

NRIの開発チームの見学会

アジャイル開発 aslead Agile | aslead | 野村総合研究所(NRI)

RSGT2021 Day2メモ

2021.scrumgatheringtokyo.org

RSGT2021初日に参加したセッションのメモ。
※記憶に残ったもの、かつ解釈を加えたりしているので、純粋な記録ではありません。


What’s Testing Got to do with Quality?

DragonFire Inc. Agile Coach Janet Gregory

What's Testing Got to do with Quality? - Regional Scrum Gathering Tokyo 2021

クオリティは皆の責任。
品質が上がれば生産性は自動的に上がる。

品質の定義

「品質」の定義は難しい。(どのお茶がほしいか、という問い)
抹茶の品質は高いかもしれないが、好みじゃない人もいる。
品質はプロダクトによって異なる。

製造ベース<製品ベース<ユーザーベース<価値ベース<超越的

f:id:ymegane88:20210108160711p:plain

金融系システムを作っていたときに「フォントが小さい」というクレームが立て続けにあった。
システムは設計を満たしていた。クレームの原因がわからずユーザを訪問して確認した。
「Traderにとっては完璧だが後ろに立つSupervisorから見えない。小さすぎる」というものだった。

品質とはなにか?製品?人?プロセス?

ソフトウェアテスト

完成度や品質を調査、評価するプロセス

What is tesing? according to Janet

  • フィードバックを返す
  • 隠れた前提条件を特定す
  • 製品の状態に関する情報が得られる

「車が水の上/橋の上を走っている」

という父子のエピソード。
視点が違うと見えるものが違う。テストをするには同じ目線になる必要がある。
歩み寄り、共通理解が重要。

Agile Testing Quadrantsの4象限

f:id:ymegane88:20210108160716p:plain

右側は不具合を見つけるためのもの。左側は不具合を出さないためのもの。

測定してフィードバック

チーム・組織に対して

  • 何を測定するか?

Goodhart's law

指標が目標になったとき、それはもはや指標にならない」

カバレッジ80%を目指すために細工する、テストケース数やバグ数を満たすためにテストを設計する、などは違う。

参考:

news.mynavi.jp

品質を定義する

プロダクトによって求める品質は異なる。
複数の指標があり、製品によって求めるレベルは違う。
開発を始める前に対話することが必要。

blog.codecat.io

janetgregory.ca

Q&A

  • Janetのいうテストはコミュニケーションツールとしての側面を持つのか?
    • 「コーディングしてからテストするのをやめろ」と言う。 テストは設計やスコープなどの上位概念を含む。コーディングは活動。
    • コミュニケーションは増えると思う。
  • スクラムチームにテストの専門家がいる場合、POとどう関わるべきか?∞ループの側を担うことになる。
    • コミュニケーションミスを生まないために開発チームと会話する際は3人組にするとよい(PO, QA, Dev)

スクラムにおける「完成」とはなにか?

Attractor Inc CTO / Agile Coach Ryutaro YOSHIBA (Ryuzee)

slide.meguro.ryuzee.com

プロダクトとは?

価値を運搬するもの(プロダクトマネジメントでの定義)
プロダクト=ソフトウェアではない。サービスなど多くのものを含む。

プロダクトバックログに含まれる可能性があるもの

  • ソフトウェアの顧客向けの部分
  • ソフトウェアの内部向けの部分
  • プロダクトに関係するソフトウェア以外のもの
  • プロダクトの将来の価値を生み出すもの(検証、実験、etc)

f:id:ymegane88:20210108160720p:plain

よくあるソフトウェアの完成の定義を作っても、バックログアイテムに画一的に適用できない。
カバレッジ、ドキュメント、クロスブラウザ、etcを完成の定義とした場合

各領域に完成の定義を用意する。
枠組みを作って埋めること以上に、「共通理解」こそが透明性を生む。重要。
共通理解がすべて。

完成の定義をいつ作るか

スプリント1開始前が望ましい。

完成の定義をどう作るか

組織の標準があるならそれに従う。プロダクトの種類によって追加したり変更する。
組織の標準がないならスクラムチームで作る。

完成の定義をどう守るのか

  • 全員が完成の定義の内容を理解しなければならない。
  • 誰でも見える形で文書化する。
  • 完全に記述することは不可能なので、レビューなど曖昧さや解釈の余地は残ってよい。
  • 自動化できるものは自動化する。
  • スプリントレトロスペクティブなどをきっかけに改善していく。

アジャイル戦略論 「チーム作りの巻」

Yosuke Matsuuraさん, Yasunobu Kawaguchiさん, Ken Matsumotoさん

speakerdeck.com

要約・概要

  • 成果の上がるチーム = 継続的なカイゼン文化 × 信頼関係の構築 × 成功体験の積み上げ
  • チーム作りの6ステップ。以下6stepに沿ってまとめ。
    1. 一人目の仲間を作る
    2. 話し合いながらアウトプットする
    3. ものの置き場を確保する
    4. 成果をアピールする
    5. やったことをふりかえる
    6. 技術的負債を解消する

f:id:ymegane88:20210108160726p:plain

話し合いながらアウトプットする

  • 圧倒的な量の失敗や経験をして改善し続けることで、質に転化するスピードが早くなる
  • アジャイル開発は失敗や経験に重きを置いて、質に転化するスピードを早めている

ものの置き場を確保する

  • ワーキングアグリーメント。共通認識を作る。
  • 作ったものは全員が見える場所に置いておく。
  • 置き場所にはこだわる。チームが見ない場所に置いても意味がない

f:id:ymegane88:20210108160731p:plain

やったことをふりかえる

  • ふりかえる
    • うまくいったこととカイゼン点を整理できる
    • 改善を繰り返す
    • システムの不具合を直すわけではなく、不具合が生まれるプロセスを直す
  • なるべく高頻度(1日に1回, 15分に1回)にふりかえりする
  • 心理的安全性がある場でふりかえりすること
  • 全員が話すことが重要

技術的負債を解消する

  • 目先の利益のために長期的な生産性を犠牲にした結果、チームが持続できなくなる
  • トレードオフスライダーを作る
  • 技術的負債は可視化する(https://www.servantworks.co.jp/2020/making-tech-debt-visible/)
    • ビジネスサイドの人への説明に有効。技術的負債を金額として表してみたりすると、納得してもらいやすい。

Scrumチームに「テストは単純作業ではなく創造的な活動だ」という意識を浸透させて良品質&低コストの製品を作るようになるまでの物語

QA Engineer BizReach Inc. Yuya Kazama

https://speakerdeck.com/nihonbuson/agile-testing-essence-20201117 speakerdeck.com

事例1:仕様のリファインメント

実例をともなった会話をもとにコーナーケースの使用などを明確化。

事例から学ぶ実例マッピングのやり方 / Example Mapping

実装前にテストの考え方を取り入れる効果

コーナーケースなどテストの要点を抑えて開発される。 余計なバグやチケット起票、修正などの工数がかからない → 質によってスピードも改善

事例2:テスト実行

テスト実行までの過程

テストプロセス(JSTQB)より
分析>設計>実装>実行

よくあるテスト設計レビューでは「テスト分析」としてテスト項目にフォーカスしがち。
「テスト設計(どうテストするか)」も重要。

「テストケースをへらす設計」の重要性。
※事例として、ケースを減らした上で不具合数も増えない

テスト活動の納得感を持ってテストケースを激減させた話 #D3QA / Improving convinced testing activities

品質の作り込み

テストを減らせるかどうか、は設計レベルの話。 その時点でテストケースを考えるとともにことで開発時に余計なロジックを書かなくて済む。

テストマニフェスト

f:id:ymegane88:20210108160738p:plain

RSGT2021 Day1メモ

2021.scrumgatheringtokyo.org

RSGT2021初日に参加したセッションのメモ。
※記憶に残ったもの、かつ解釈を加えたりしているので、純粋な記録ではありません。

アジャイルを忘れるチーム Unlearn Agile

発表者

オンザロード @kyon_mm

Regional Scrum Gathering Tokyo 2021 - アジャイルを忘れるチーム Unlearn Agile | ConfEngine - Conference Platform

取り組み

  • 複数パターンのスプリント(15min / 1hour / 1day / 1week / 1month)
  • KPT as ART
  • ミーム…スーザン・ブラックモア
  • パタンランゲージと性質…Sscrapboxでまとめている
  • etc

パタン・ランゲージ

  • 「つよくてニューゲーム」…繰り返し作業は効率がいい
  • 「脊髄感謝」…ネガティブフィードバックは萎縮を起こす。ゆっくりした口調で感謝。
  • 「ついでの一仕事」…始めるのは大変、ついでにやるのは簡単。

良いチームではなく「心地いいチーム」「心地いい共同作業」

Q.「心地いい共同作業」とは?その理由とは?

→オンサインとDiscordで発言大会。超盛り上がる。

「パターンを実行しているがうまくいかない」ことがある。
スクラムイベントやってるけど形骸化している、などはよく聞く。

一方で生き生きしているチームは確実に存在する。何が違うのか?
(びばさんオキザリス筑波大学enPIT)

→直感&客観を深く共感する
それに寄与するパターンはなにか?

チームの秩序マップ

ルール・原則・ガイド>実験>直観・客観の深い共感


たった一人からはじめて70人の縦割り組織にスクラム導入した話

Cyber Agent 鑓水 優行

Regional Scrum Gathering Tokyo 2021 - たった一人からはじめて70人の縦割り組織にスクラム導入した話 | ConfEngine - Conference Platform

背景

スマホアプリ開発の話。
デザイナや開発者、テスターなど非常に細かく職種が別れている縦割り組織。
職能別のサイロ型組織で、それぞれにリーダーやサブリーダーが存在する。
伝言ゲーム、タスク調整で忙殺されて仕事が進まない。

状況がわからないと不満が募る

→仕様まだ?実装まだ?
→デザイナ仕事遅い、プログラマ室が悪い…などの悪口が出始める

発表者自身はリーダーでもなんでもなく、特に権限もない。

その状態で影響を与えるための戦略

スクラム導入した結果

タスク調整の負担がなくなった スケジュール調整という役割がなくなった。

課題

  • 新しい言葉を避けた結果、いまだにスクラム用語は使えていない
  • スケーリングできていない。教える側が不足している。

なぜ私はチームにい続けるのか。あるいは、エンジニアとしての成長のためのチームの活用について。

デンソー/Silver Bullet Club 佐藤竜也

https://speakerdeck.com/satoryu/why-i-continue-to-be-in-the-team-number-rsgt2021-70f33d7a-5670-4a43-b296-6e11e9322acd

背景

レガシーなシステムの開発・メンテをひとりぼっち。
エンジニアとしての成長が感じられない日々。
→転職を決意

元々いたチームはいいチームだったが諸々の理由により解散。

転職のときに求めた条件

  • 言いたいことを言えるチームであること
  • チームを守る/守ろうとする人がいること

転職活動で人やチームを見るのは大変。
プロダクトは見えやすいが誰がどう当たらいているかは見えづらい。
とくに、そこに「自分」が入ったイメージを考えるのは難しい。

→社内で及部さんに出会う。同期、雑談ベースで機会、カフェスペース

自分は年上の部下など後ろめたさ… →「その懸念は実在するのか?」確認するしかない →「言ってみる」しかない

背中を預けられる安心感/背中を預かる緊張感

言ってみたことを聞いて前向きに動いてくれる。
失言があったときにそれを嗜めるとともに理由を伝えてくれる。
→「言っても大丈夫」という安心感

チームを安定させたい

「自分がボトルネックにならないこと」
自分がいなくてもできる状態を目指す。

→あれ?自分いらないのでは?

本業以外で経験を積んでチームに持ち帰る


日本人と外国人のディスカッション:日本でのアジャイルスクラムの導入をどう加速すれば良いか?

Japan Intercultural Consulting Rochelle Kopp

Regional Scrum Gathering Tokyo 2021 - Bilingual cross-cultural discussion 日本人と外国人のディスカッション: How to accelerate the adoption of agile and scrum in Japan? 日本でのアジャイルとスクラムの導入をどう加速すれば良いか? | ConfEngine - Conference Platform

Why this session?

日本におけるアジャイルスクラム導入の課題に関して議論する - 文化的ハードル - 組織的ハードル

Q1.日本におけるアジャイルスクラム導入で大変なこと

※この辺のセッション中のホワイトボード貼っていいんだろうか…駄目だったら教えて下さい…
f:id:ymegane88:20210107011811p:plain

Q2. アジャイルスクラム導入における日本特有の難しさはなにか

f:id:ymegane88:20210107011833p:plain

  • マネージャーが「自分がマネジメントされたやり方」を踏襲しようとする
  • コードが書けない管理者が多い
  • 新規メンバーを育成対象(能力がない、信頼しない)とみなす

Q3. 日本におけるアジャイルスクラム開発の導入 を加速するための最もよい方法はなにか

f:id:ymegane88:20210107011852p:plain

  • マネジメント層から変えるべき
  • 成功事例を示す(Small win small start)
  • 社外の人の力を使う

Great Scrum Master

Zuzi Sochova

Regional Scrum Gathering Tokyo 2021 - Great ScrumMaster | ConfEngine - Conference Platform

スクラムマスターの役割

スクラムに関わる私達は文化人類学者になる必要がある。

アジャイルをやること」と「アジャイルになること」は違う。 「アジャイルになるには数年の時間が必要であり、まだ私は途中にいる」。

  • Teaching, Mentoring(最初の教育)
  • Removing Impairment(障害の除去)
  • Facilitation(ファシリテーション
  • Coaching(コーチング)
    • Teachingと何が違うのか? Teachingはその分野の専門知識が必要だがCoachingは違う。 その分野の知識がなくても「勉強の仕方」などは教えられる
  • Observe(観察)
    • その後の経過を観察する。トヨタの製造ラインの話。

スクラムを拡大していくために

  • Curiosity(好奇心)
  • Respect(尊重)
  • Patience(忍耐)
  • Playfulness(遊び心)

サーバント・リーダーシップ

別の会話にて

Servant LeadershipLeader who servesと言い換えるという話があった。
サーバント・リーダーシップだと感覚的にリーダーではなく雑用する人、みたいな聞こえになりがち。
あくまでリーダであり、支援する人なのだ、ということを明確に表す言葉としてLeader who servesという言葉はいいのではないか。

スクラムマスターの学び

ソフトスキルについて講義などできちんと学んだことはあるか?
実際に現場のスクラムマスターに聞くとYesは10%もない。

Join My Class

認定スクラムマスター資格。 オンライン講座あり。 割引コードもあり。
アギレルゴ アジャイル研修

Q&A

  • サーバント・リーダーシップの素養はなにか?ジュニアには難しいのでは?
    • 影響力がある人が良い。専門スキルの深さではない。 ソフトウェアとスクラムマスターは一緒にはできない(それだけSM、リーダーに必要なスキル・知識は人生という意味?) ボーイスカウトガールスカウトの経験がある人に声をかけてみてはどうか?

所感/Discordの会話

文化人類学者であれ」の言わんとすること

「こうあるべき」を押し付けるのでなく、そのチームのありのままを観察して、なぜこういう行動をとるのだろうというのを興味をもって考察する。

観察をしたらコントロールしなければいけないという先入観を無くせ!というための言い換えとして、文化人類学なんだろうか。

技術的な部分も知識や経験を持っておくと「共感」というツールの幅のあるコーチャーになっていけるって感じなのかなぁ。
技術に限らず、経営的な知識・視点を持てれば上位層に対しても共感しやすくなり、巻き込みやすくなる?
実際に仕事をすすめるために、かつ自分の共感のチャンネルを広げるために知識・スキルはあるにこしたことはない、という感じかな。
とはいえ時間は有限だし好奇心にも偏りはあるので、とても難しい。

とにかく知り合いを増やすことを目的とした会

Growth Architectures & Teams, Inc. Agile Coach Saito Norihiko
Rakuten Inc. Manager Shinya Ogasawara

Regional Scrum Gathering Tokyo 2021 - とにかく知り合いを増やすことを目的とした会 | ConfEngine - Conference Platform

ランダムにグループ分けして記者会見をテーマにした質問会。

私は知り合いゼロで参加してたので、ほんっとーーーーーにありがたいセッションでした。
企画していただいてありがとうございます!!


関連リンク

セッションやDiscordで言及があった書籍など。

記事・サイト

書籍

文化人類学…Zuziの話で度々出てくるもの