ソフトウェアレビューに対する考え方「ソフトウェアレビューマニフェスト」を考案しました

本記事はソフトウェアテストの小ネタ Advent Calendar 2023の9日目の記事です。

ソフトウェア開発やソフトウェアテストに比べて、ソフトウェアレビューは未発展の分野だと感じています。レビュー体系化を目指す会では、その名の通りレビューの体系化を模索しているのですが、その道中に「この考え方は重要だよね」と感じた部分をマニフェストという形で表現してみました*1

ソフトウェアレビューマニフェスト(工事中)

画像だけでなく文章も残しておきます*2

ソフトウェアレビューマニフェスト(工事中)

私たちは左記のことがらに価値があることを認めながらも、右記のことがらにより価値を置きます。

  1. 承認を得る よりも 全員の納得を

  2. 欠陥指摘 よりも メンバーが「またレビューをやりたい」と思う結果を

  3. ファシリテーターの進行 よりも 参加者同士の連動による会話の広がりを

  4. 1回の完璧なレビューを目指す よりも 複数回のレビューの積み重ねを

  5. 誰がレビューしたか よりも 何をレビューしたかを

  6. 時間切れで終了 よりも 期待レベルまで出し切っての終了を

これはアジャイルソフトウェア開発宣言(アジャイルマニフェスト)を参考に作成をしました。

また、「(工事中)」と記載している通り、まだまだブラッシュアップの余地はあると感じています。ただし、現時点で思いつく、よくありがちなソフトウェアレビューの考え方について、思考を変えるために作成してみました。

皆様の現場に役立てることができるものになっているか分かりませんが、コメントや疑問がありましたら #jasstreview でどうぞ!

需要があれば、後日、それぞれのマニフェストの解説を書きたいと思います。

また、皆様からのフィードバックをお待ちしております。

12/9 追記

良いフィードバックをいただいたので補足です。

時間切れで終了 よりも 期待レベルまで出し切っての終了を

ここでいう「時間切れで終了」とは、「上から見ていって、時間切れになったから最後の方は見ずに終了」のパターンを想定してます。

ちょっとここの表現は伝わりづらいと思っているので、「時間切れで終了」よりも良い&短い表現があれば教えてくださいませ*3

*1:なお、このマニフェストは、先日、JaSST Review'23というカンファレンスの中で初めてお披露目しました。

*2:文字の配置の都合上、画像では「上記」「下記」と表記していますが、文章では「左記」「右記」と表記しています。

*3:「時間の都合で途中まで見て終了」とかかな…?

電気通信大学 西康晴先生 / にしさんとの思い出

今年10月18日に、にしさん(西康晴先生)がお亡くなりになられました。

www.aster.or.jp

私は電気通信大学の西康晴先生に対しての面と、にしさんとしての面の両方に対峙していたので、その思い出話をつらつらと書き連ねたいと思います*1

電気通信大学の西康晴先生

私は電気通信大学(以下、電通大)電気通信学部システム工学科(当時)の学生として入学しました。

入学当時にシステム工学科の講師として在籍していたのが西康晴先生です。ちなみに、最期まで教授にはならず、意思を持って講師のままで居続けていました。

特に目立った学生ではなかったですし、西先生の研究室の所属でも無かった*2ので、おそらく西先生は学生時代の私のことを特別に認識をしていたわけではないと思います。しかし、私にとっては印象的な講義が多かった先生でした。

西先生の印象的な講義1. コンピュータリテラシー

大学1年前期の科目としてあったのが、コンピュータリテラシーでした。この講義は大学のコンピュータ室*3で行われ、コンピュータの歴史的な側面を学びつつ、リテラシーについて学んでいきました。

その中で、「ネット上でコミュニケーションを取ってみよう」というものがありました。そこで西先生は匿名掲示板を用意して、「他の誰かと必ず1回は会話のやり取りをしてください。」という課題を出しました。

最初は穏やかだった掲示板が、数分後には荒れていきます。誰かをいじるような投稿も増えていきました。そうしてある程度荒れている状況を笑って見過ごした後、おもむろに西先生は「まあ、表示上は匿名だけど、誰が書いたかは特定できますよ」と言いました。その瞬間、ピタッと投稿が止みます。続けて西先生は「誰が書いたのかわざわざ調べようとは思いませんけどね。いつでも調べることはできますからね。」と言っていました。

身をもって体験できた出来事だったなぁと今でも思ってます。

ちなみに、その時の感想を卒業後ににしさんにお伝えしたところ、「え?そんなことやったっけ?」と一言。決して誇ることなく、覚えてない素振りをするのが実ににしさんらしいなと思いました。

西先生の印象的な講義2. システム工学科実験

大学3年の科目としてあったのが、システム工学科実験でした。この講義は、3週間(3回分)ごとに講師が代わり、それぞれの担当講師が用意した実験を行うものでした。その中で西先生が用意したのがレゴのマインドストームによる自動運転車両を用いたレースでした。

education.lego.com

この実験では、3週間でレゴの車両と内部プログラミングを作成し、用意されたオーバルコースを1分以内で完走できれば単位を与えるというものでした。

ただしこの実験のミソは、「2人1組で行うこと」ということです。すると自然と、1人は車両作り、もう1人は内部プログラミング作りと分担することになります。

実はこの課題では、同じプログラミングでも、車両のデザインによってはうまくいかなくなります。うまく噛み合わないと、その場で車が回転して一向に前に進まなくなってしまうのです。

この実験を通じて、ハードウェアとソフトウェアの両方の面から考えることの大切さと難しさ、チーム開発の難しさを学びました。

ちなみに、その時の感想を先ほどと同じように卒業後ににしさんにお伝えしたところ、「へー、そういう学びもあるんだね」と一言。今でも「きっと狙いとして持っていたんだろうな」と思っているのですが、それを表に出さないのがやっぱりにしさんらしいなと思いました。

他にも、西先生の講義はどれもアクティブラーニングなものが多かったと記憶しています。

その他の西先生としてのお話は、西研出身の方の記事でたくさん語られているので、そちらもご覧ください*4

hansuoi.hatenablog.com

にしさん

西先生とは、卒業後も「にしさん」として色々と関わることになりました。

にしさんは「西先生」と呼ばれるのを極度に嫌がります。それは、「西先生と呼ばれると、そこで上下関係ができてしまい、対等な議論ができない」「電通大の学生ならばともかく、そうでもない人から西先生と呼ばれたくない」というものでした。また、親しみを持って接してほしいという意味からも「にしさん」とひらがな表記を徹底していました。

ASTER理事長としてのにしさん

にしさんはNPO法人ASTERを設立し、理事長として動いていました。ASTERはテストシンポジウムのJaSSTやJSTQBを運営している団体です*5。テストエンジニアリングを生業としている人ならば、何かしらの形でASTERに関わっていたと思います。その貢献は多大なものだと思っています。

また、JSTQBステアリング委員会の委員長も務めていました。そのため、JSTQBの合格証書には全員、にしさんのサインが書かれています。そんな中、にしさんは「JSTQBの合格なんてものにそんなに価値はない。結果でしかないので、そこまでに勉強していることの方が大切」と言い切っていたのを覚えています。にしさんらしいなと思います。

もう少しマイルドに表現した投稿がこちら。

ちなみに、私が学生の頃はそのような活動をしているのを全く知りませんでした。にしさんの講義ではそんな話を一切言わなかったのです。そこらへんもにしさんらしいなと思ってます。

レビュー研究会/JaSST Review実行委員のにしさん

数年前ににしさんに誘われて、レビュー研究会の一員となりました。そこでは、ISTQB/JSTQBの活動によって体系化されていったテスト分野に対して、まだまだ体系化できていないレビュー分野について語っていこうというものでした。

またそこから派生して、JaSST Reviewというレビューシンポジウムを立ち上げることとなりました*6。2018年から続いており、先週第6回目の開催を無事に終わらせることができました。

にしさんが最後に参加したのは昨年のJaSST Reivew'22でした。にしさんが研究会の活動に参加すること自体はなかなかありませんでしたが、JaSST Reviewについてはほぼ毎回参加していました。そんな中での以下のツイートが今でも自分の心に残ってます。ここまで言ってくれて本当に嬉しかったです。

その他、さまざまな活動で関わったにしさん

他にもさまざまな活動でにしさんにお世話になりました。

2022年には、WACATE(ワークショップ型のテストの勉強会)にて招待講演を引き受けてくださりました*7。その時の概要文はユーモア溢れてて好きです。

WACATE 2022 冬のプログラムのページより引用

あと、プロフィール文の最後に書かれている「ずっとずっと叱られ支えられ教えられながら、いつまでも楽しく成長したいともがいている毎日です。」という一文に今もまたうるっと来てしまいました*8

最近はとある付き合いで、比較的頻繁に一緒に関わっていました。その関係で、今年は電通大にも数年ぶりにお邪魔させていただきました。その中で頻繁に「どうやったらブロッコリーのような若い世代がもっと動きやすくできるのか」という話をしてくださっていました。

大学の先生、ASTERの理事長という肩書きがありながら、驕ることなく本当にテストに関する組織やテスト業界に対して真剣に考えてくださっていた方だと思います。

組織について考えると言う意味では、組織に変化をもたらすことについてのツイートはとても印象的でしたので、ここでも紹介しておきます*9

テスト以外でも関わったにしさん

テスト以外の面でもにしさんにはお世話になりました。詳しくは書きませんが、にしさんが実質的な仲人となって、妻と結婚できたと思っています。

結婚後、

私「自分の子供が大学生になったら、電通大に入って、にしさんの研究室に入れたいです!」

にしさん「その頃は、もう俺は定年退職して、大学にいないから!」

私「そこは、にしさんに名誉教授なりになってもらって、何とか電通大に居続けていただいて…」

という掛け合いを何度かしていたのですが、まさかこういう形で実現不可能になるとは思いもよりませんでした…。

私のことを気にかけてくれていたにしさん

ここまでで、学生時代、社会人時代の両方でにしさんにお世話になりっぱなしであることを書きましたが、それと同時に、にしさんが私のことを気にかけてくれていました。

私は電通大を卒業した後、一度も所属の研究室に顔を出さなかった不届きものです。そんな中、にしさんは私が所属していた研究室の先生に、頻繁に私のことを伝えていたそうです。そのおかげもあって、今年、電通大にお邪魔したときに、にしさんがプッシュしてくれたおかげで、所属していた研究室へ無事に挨拶できました。

私と面と向かって言うことはほとんどありませんでしたが、他にも色々な方に対して私のことを話題に挙げてくれていたようです。

にしさんには感謝しかありません。本当にありがとうございました。

*1:もう四十九日も経ったので語っても良いかなと。個人的には気にならないのですが、「なんで四十九日も経ってないのに軽率に書いてるんだ」と怒っている人を見たので…。

*2:社会人になってから「なんでブロッコリーは俺の研究室に入らなかったんだよ」的なイジリを複数回やられました

*3:ちなみに、コンピュータ室はUnix環境だったのですが、にしさんは「Unixというのはドジっ娘メイドさんなんだよ」と、コンピュータリテラシーの初回の講義で話していましたのも印象に残ってます

*4:西研出身の方の記事で「にし研の学生は大体豆腐さんって呼んでる。会ったこともねぇのに。」と書いてあったけど、きっとブロッコリーも呼んでたのかな?知らんけど。

*5:あきやまさんの記事によると、設立順としてはJaSST→ASTER→JSTQB(ASTERの傘下としてジョイン)のようです

*6:JaSST Reviewの実行委員長を決めるときに、にしさんから「○○さんは△△の理事というポジションだし、××さんは◇◇のリーダーというポジションだし、俺はASTERの理事長だから、ブロッコリーが実行委員長で良いんじゃね?」という雑な振られ方をされて、流れで実行委員長になったのも、今となっては良い思い出です

*7:オンライン開催だったということもあり、その当時の講演映像のデータが残っていました。一般公開はできず、実行委員限定の映像となっているのですが、私はこの映像を見返して泣いてしまいました。

*8:余談ですが、にしさんはプロフィール文を2パターン用意してくれました。お堅めのプロフィール文と、WACATEで掲載することになったプロフィール文です。最終的にはWACATE実行委員の方で選んだのですが、公開されたプロフィール文の方がにしさんらしくて好きです

*9:このツイートは、私と同世代の伊藤さん宛に、にしさんがリプライしたものです。若い世代の人が悩んでいる姿を見て思わず伝えたくなったのでしょう

DevOpsのループ図およびシフトレフトテスト/シフトライトテストについての考察

はじめに

本記事は ソフトウェアテスト Advent Calendar 2023 および10X プロダクトアドベントカレンダー2023の5日目の記事です*1

皆さんは「DevOpsに関する図を思い浮かべてください」と言われたら、どのような図を想像しますか?一番思い浮かべる人が多いのが、DevOpsのループ図ではないでしょうか?

DevOpsのループ図(vecteezyより拝借)

本記事では、DevOpsのループ図の発端を探しつつ、このループ図に対しての私なりの考えを述べた上で、シフトレフトテスト/シフトライトテストについて詳しく言及していきます。

目次

Danの考えるDevOpsのループ図

まず、DevOpsのループ図にはどのようなものがあるのでしょうか?

※12/5追記:Danの描いたDevOpsのループ図は発端では無かったため、本文中の表現を修正しました*2

DevOpsのループを用いた図の1つとして、Dan Ashbyの「Continuous Testing in DevOps…」という記事*3があります*4*5

Danの記事内に描かれているDevOpsのループ図を日本語訳したものがこちらになります。

記事「Continuous Testing in DevOps…」内記載の図に日本語訳を付けて作成

ループ図の解釈

DanのDevOpsのループ図からは、いくつか主張したい部分があると感じています。

テストの扱いについて

Danが描いたDevOpsのループ図をよく見てください。♾️の中に「TEST」という文字が存在しておらず、全てのフェーズに「テスト」の文字が刺されています。

Danは先述したブログ記事の中で以下のように述べています。

私にとって、テストはこのモデルのあらゆる点に適合します。

つまり、Danにとって♾️のループ図は、テストという活動が特定のフェーズに留まらないことを示すために描いたとも言えます。

一方で、冒頭に載せたような図のように、♾️のループの中に「Test」が描かれていることも多く、これはDanの示している意図とは異なることも理解できるでしょう*6

ループの形について

この図はループになっています。これは、「リリース後にモニタリング(MONITOR)をテストして終わり」ではなく、次のプラン(PLAN)に繋げることの重要性を示していると言えるでしょう。

また、Danの記事内では以下のようにgif画像も用いながら記述しています*7

しかし、図に欠けているものは何でしょうか…? 何かが足りない気がしてなりません…..
そうそう!それはもう明らかです!アイデアがないと計画を立てられませんよね??

このモデルでは、計画を立てる前に行われるすべての作業については言及されていません。これについての私の考えを説明するために、爆発的なふわふわ雲の gif を示します。

イデアを元に、計画を立てる前に行う作業のイメージ図

このgif画像では、アイデアが元にあり、そこからスリーアミーゴスやBDDといった活動を行って、ユーザーストーリーやマインドマップを作り、さらにコードやAPIなどに落とし込んでいくということを示していると理解しています。

つまり、モニタリングまで行ったことを元に、新たなアイデアが生まれ、そのアイデアがgif画像で示しているような活動を元に次のプランに繋がっていく形です。そうして、DevOpsがループしていくのです。

DevOpsのループ図とシフトレフトテスト/シフトライトテストの関係性

書籍『Agile Testing(邦訳:実践アジャイルテスト)』『More Agile Testing』『Agile Testing Condensed』の執筆者の1人であるJanet Gregoryは、Danの描いたDevOpsのループ図を元に、自身のブログ記事の中で「Continuous testing(継続的テスト)」として表現し直しました。

継続的テスト

この図を見ると分かりやすいのですが、デプロイをする前までのテスト活動(♾️の左側)をシフトレフトテスト、デプロイをした以降のテスト活動(♾️の右側)をシフトライトテストと表現することが多いです*8*9

シフトレフトテストの具体的な活動は何か

上述では、デプロイをする前までの活動をシフトレフトテストと表現しました。それでは、いったいどのような活動なのでしょうか。

テスト駆動開発の適用

シフトレフトテストな活動で一番イメージがつきやすいのは、テスト駆動開発(以下、TDD)の適用でしょう。実装が終わった後だったテスト活動のタイミングを、実装をする前に行うように変えました。これもまさしくシフトレフトテストな活動といえます。

TDDのやり方について詳しくは、以下の動画をご覧ください。

www.youtube.com

実例マッピングの適用

ユーザーストーリーを書き終え、実装を始める前に行う活動である「実例マッピング」は、TDDよりもさらに前倒ししたシフトレフトテストな活動と言えるでしょう。

実例マッピングのやり方について詳しくは、以下の発表資料をご覧ください。

speakerdeck.com

レビューでの適用

テストで確認していた内容を、要求・要件レビューや設計レビューで確認することによってシフトレフトテストを実現することもできます。

これについて詳しくは、先日開催しましたJaSST Review'23の発表資料をご確認ください。セッション1の資料にて、以下の画像のような話を載せています。

レビューにおけるシフトレフトな活動の例

シフトライトテストの利点は何か

上述では、デプロイをした以降のテスト活動をシフトライトテストと表現しました。シフトレフトテストな活動に比べて、シフトライトテストな活動はあまり知られていません。そこで、なぜシフトライトテストを行うのかについて考えてみましょう。

シフトライトテストな活動を行う理由は主に2点あると私は考えています*10

  1. 一般的なテスト活動(BUILDやINTEGRATE時点でのテスト)で解決するにはコストが高すぎるため
  2. 次の開発(PLAN)の参考にするため

シフトライトテストな活動を行う理由①:一般的なテスト活動で解決するにはコストが高すぎるため

一般的なテスト活動(BUILDやINTEGRATE時点でのテスト)で全てを明らかにしようとするとコストがかかりすぎるものが存在します。

例えばユーザビリティ観点です。ユーザビリティが良いかどうかについては、実際のユーザーの利用率を元に判断したい場合があります。理論的に良さを導き出すコストよりも実際にユーザーに使ってもらう方がコストが低い場合には、シフトライトテストとして任せるかもしれません*11

なお、このようなものをシフトライトテストな活動にする際には、「この指標を用いて良さを判断する」とデプロイ前に計測内容を確定しておくことが大事です。とりあえずデプロイしてみて、その結果を後付けで考えるというのは得策ではありません。テスト結果はシフトライトテストな(デプロイ後に判明する)活動ですが、テストすべき指標の決定までシフトライトテストな活動にしないようにしましょう。

用いる指標の決定はシフトレフトの段階で行う

シフトライトテストな活動を行う理由②:次の開発の参考にするため

モニタリング結果などから次の開発に繋げる活動もシフトライトテストな活動と言えるでしょう。

この場合は、何か狙いを持っていなかったとしても、ユーザーがどのように使っているかを観察することで次に繋げられる場合があります。それは、「ループ図の解釈」の「ループの形について」で載せたgif画像のように、シフトライトテストな活動が次のアイデアに繋がり、それが次のシフトレフトな活動へと続いていくのです。

シフトライトテストな活動で見つけた気付きをアイデアとして次の開発に活かす

シフトライトテストの具体的な活動は何か(宣伝)

ここまででシフトライトテストな活動を行う理由について述べてきました。それでは、具体的にはどのような活動をすれば良いのでしょうか。 A/BテストやFeature flag(toggle)といったプラクティスは知られていますが、上述した「シフトライトテストな活動を行う理由」と紐づけて語られている事例はまだまだ多くありません。

まだ模索段階ではありますが、私が現在所属している10Xの開発チームではシフトライトテストな活動を行っています。そして、そこで実際に行った事例をRegional Scrum Gathering Tokyo (RSGT) 2024にて発表することになりました。

Regional Scrum Gathering Tokyo 2024 - できるだけ大きなアウトカムが得られるように、シフトレフトとシフトライトの両面から製品開発に取り組んだお話 | ConfEngine - Conference Platform

発表会場での聴講チケットは既に売り切れてしまいましたが、オンライン上からの聴講チケットはまだ販売しておりますので、ご興味のある方はお買い求めくださいませ!

2024.scrumgatheringtokyo.org

また、10X プロダクトアドベントカレンダー2023の6日目の記事で、こういちさんが具体的な活動の1つを紹介しています。こちらもご参照くださいませ!

note.com

おわりに(さらに宣伝)

今回はDevOpsのループ図とシフトレフトテスト/シフトライトテストについて述べてきました。

本記事の最後に書いた通り、10Xではシフトライトテストな活動も取り入れて、開発チーム一丸となって開発を進めています。私の所属している品質管理部では以下の職種で募集をしています。少しでも興味を持ってくれた方からのご応募をお待ちしております!

とりあえず話だけでも聞いてみたいという方がいればカジュアル面談もオープンにしていますので、こちらからどうぞ。

私とテストについて話したい場合はこちらからご応募くださいませ!

youtrust.jp

*1:アドベントカレンダーの前日の記事は、それぞれ以下の記事となります。

*2:もしかしたら、もっと昔に発端があるのかもしれませんが、私が調査した限りでは見つけることができませんでした。

12/5追記

辰巳さんより、発端の候補として2013年の記事があるそうです。辰巳さんありがとうございました!

www.appdynamics.com

*3:日本語訳の記事はこちら

*4:ここでいう、「DevOpsのループ図」とは、

  • ♾️の形をしている
  • 開発ライフサイクルの最初が左上に位置している
  • 起点(左上)から反時計回りで描かれ、右半分は時計回りで描かれている

を全て満たしているものとします

*5:細かいことを言うと、WEB上に公開されているものの中では「Continuous Testing in DevOps…」が発端でありますが、この記事を書く前からカンファレンスで同様のモデルを言及していたようです。

*6:ここではあくまでもDanの描いたループ図とは意図が異なることを示しただけであり、別の意図でループ図を使っていた場合には成り立つとも思っています。

*7:ちなみに、翻訳記事ではなぜかこのgif画像がカットされています。Danが主張したかった根幹の1つだと思うので、個人的には記載してほしいなぁ…と感じています。

*8:元々の単語の意味を考えると、「シフトレフト」とは、とある活動をタイムライン上の早い段階に前倒しすることを示します。しかし、一般的にテスト活動はビルド(BUILD)や統合(INTEGRATE)の際に行う活動と認知されているため、それを前倒ししている♾️の左側部分は総じてシフトレフトしていると言えるでしょう。シフトレフトテストに関して詳しくは、にしさんの発表資料を参考にすると良いです

*9:今回は「継続的テスト」の図を本文で紹介しましたが、シフトレフト/シフトライトに対する誤解が生まれていることを感じてか、最近ではJanetは別の図を用いて紹介しているようです。詳しくは「Testing From A Holistic Point Of View」の記事(邦訳記事:「【翻訳】ホリスティック・テスト:プロセス全体からテストを捉えなおす(Testing From A Holistic Point Of View)」)をご覧ください。

*10:ちなみに、よくある誤解としてこんな話を耳にしました。

これに対する反論として本記事を書いている面もあります。

*11:ユーザビリティ観点全てをシフトライトテストな活動で判断しろ」と言いたいわけではありません

【翻訳記事】新しいチームに移って8か月で起きたこと Part5 「今後の展望とチームの変遷の記録」

はじめに

本記事は A Tester's Journey: A Time of Transition - Eight Months on a New Team を日本語訳したものです。

この記事は、著者のLisi Hockeが、新しいチームにJoinして8ヶ月間で起きたことを赤裸々に語っています。その中で、どのようにチームにフィードバックを促し、どのようにチームを変化させていったのかが詳細に語られており、大変良い記事だと感じたため、今回翻訳することにしました。

なお、元記事が長文なため、翻訳記事は計5回に分けてお届けします。

  1. Joinする前のチーム状況
  2. チームに入ってから8ヶ月間で起きたこと
  3. 現在のチームの状況
  4. チームが変化できた要因
  5. 今後の展望とチームの変遷の記録(本記事)

本記事は第5回です。

このチームに関する詳しい内容や、記事執筆後に起こった変化はJaSST Review'23にて講演予定です!(同時通訳付き)

興味を持たれた方は以下のページから参加申し込みをお願いします!

www.jasst.jp

目次

次は何をしますか?

この 8 か月の間にたくさんのことが起こりました。このチームは、私が昨年 12 月に入社したときに出会った人々のグループとはもはや比較できません。私たちは実際に自分たちの物語を作り始めましたが、これで終わりではありません。私たちの将来に何が待ち受けているのか、そしてチームと組織のニーズに合わせてそれを形作るために何ができるのかを楽しみにしています。

私たちは今、より持続可能なペースに戻り、過去数か月間で落とさなければならなかったものを取り戻しました。チームとしてさらに成長しつつあり、新たなエキサイティングな時期が始まります。深く掘り下げるトピックや、チームの観点から推進すべきさらなる取り組みがたくさんあります。解決すべき問題はさらに増え、摩擦は軽減されなければなりません。より価値のある製品を構築するために学ぶべき多くの知識、スキル、ツールがあります。私たちは今、技術的な基礎に取り組み、生きたチーム文化として実験に成長し、他のチームとのさらなるつながりを築くことができます。やるべきことはたくさんあります。チャンスはたくさんあるので、すぐに退屈することはありません。

さらに、組織に関するトピックがいくつかありますので、詳しく説明していきたいと思います。今は通常の作業ペースに戻りつつあるので、じっくり考え、次の取り組みや実験について真剣に立ち止まって考える時間がもっと取れるようになります。さまざまな組織の中で、チーム間でより多くの知識を共有したいと考えています。チーム間での実践的なコラボレーション、特にペアリングやアンサンブルのセッションを増やすことを考えています。また、より大規模な変化を達成するために、これまでに組織的に観察したことに基づいて行動したいと考えています。早く学ぶには何を最初に試すべきか、どこに最も影響を与えるか、そして何が自分の成長につながるのかを見極める必要があります。同じ組織内で起こるということ以外に、次に何が起こるかはわかりません。私自身も将来に興味があります。

改めてチームのことを考えてみると、人間にとって変化には本当に時間がかかります。 私たちは短期間で長い道のりを歩んできました、そして感謝しています。

おまけ: コラボレーションのお祝い

私たちのチームの変遷が私のツイートに時間の経過とともに反映されているのがわかります。それらのいくつかは、すでに上でコンテキストに埋め込んでいます。しかし、特にコラボレーションを強化し、チームとしての親密さを高めることに関しては、それだけではありません。ここ数か月のコラボレーションのハイライトを紹介するツイートをまとめました。私はあらゆる小さなことを祝いますが、間にはたくさんの空白があることを覚えておいてください。それでも、私が一緒に働くことを光栄に思っている善良で素晴らしい人々を称えることには、とても価値があります。

今週、同僚からフィードバックという形でかなりの数の贈り物を受け取り、感謝しています。🙏🏻 今日のハイライトは、私のチームの開発者からのものでした。「あなたには才能があります。あなたと話しているだけで、たとえ聞いているだけでも、私の頭の中でアイデアが生まれます。」🌟

私のチームの 4 人は問題を調査するために毎日残っていました。 私たちは一緒に欠けていた手がかりを見つけ、それを修正し、うまくいきました。そして私たち全員がお互いから新しいコマンド、ショートカット、洞察を学びました。 暗黙知が明示的になり、それによって倍増するこのような状況が大好きです。🤩

なんて楽しい仕事の一日でしょう!専門知識を結集してセキュリティ要件を一緒に理解します。アプリのセキュリティテスト。レジリエンスの構築について意見を交換します。コンプライアンス、特にトレーサビリティについてさらに学びます。ウィキをクリーンアップしています。ああ、猫についてのおしゃべりも! 🐈

今日は仲間の開発者との素晴らしいペアテストセッションでした。彼は手伝いに来て、これをテストする方法を私から学び、一緒に調査しました。彼は何が問題なのかすぐに気づき、私たちはそれを修正し、さらに調査し、新しいテスト可能性の問題を解決して、完了しました。 💪🏻 私たち二人とも勉強になりました! 🙌🏻🎉

今日のハイライト: 開発者のチームメイトが、常に物事を把握しており、ストーリーのテスト結果について私を褒めてくれました。私のアプローチは彼らにとって新しいもので、本当に価値があり、探索的テストとは何かを理解させました😊 (これらすべてがどの程度のものであるかは関係ありません。本当です、受け取ります 😉)

今日のハイライト: フロントエンド開発者がペアテストを申し出て、私たちはバックエンドサービスに欠けている機能を発見し、それを実装したところです。💪🏻 まだまだやるべきことはありましたが、何を変更する必要があるのかを理解しました。それがうまく機能し、テストが可能になりました。ピースが所定の位置に収まったときは最高です! 🎉

これ、これがエンジニアリングであるべきものです。 人間は他の人間をサポートし、分かち合い、思いやり、そして変化をもたらします。 私は、チームを知ってから短期間でチームがどれほど遠くまで到達したか、そして私たちの先にはさらに多くのことがあることを非常に誇りに思っています。 👏🏻👏🏻👏🏻

今日、親愛なる開発メンバーが知識共有とペアリングのセッション中に私に教えてくれた内容がとても気に入りました。私たちは皆、物事がまだスムーズではないことに痛みを感じ始める必要があるため、全員がそれらを改善することに熱心です。🙌🏻とても熱心です。問題を可視化して経験できるようにする必要があります。

今日は開発者とペアになりました。
私: このツールでアプリの状態を確認する方法と、パスを指定した場合に変更をサブスクライブする方法を知りました。
彼:すごいですね! パスを提供しない場合はどうなるでしょうか?🤯
完全な状態をサブスクライブできると考えました。💪🏻
勝利のためのペアリングでした。 🙌🏻

今日もペアリングが機能しました。💪🏻
1) システムの知識と戦略を効果的に交換することで、テストの時間と労力を節約しました。これは、私たちが取り組んでいる複雑な大きなテーマにとって非常に貴重です。
2) 2人で問題を確認し、一緒に迅速に解決できるようになりました。 🙌🏻

今日、開発者が、変更を一緒にテストするために2つ目のペアリングを求めてきました。 別の開発者が参加し、ペアになりました。それから私も参加しました。この自発的なアンサンブルの中で、私たちはテストし、ギャップを特定し、問題を軽減することを決定し、実装してリファクタリングし、理解を調整しました。効果的でした!💪🏻

先週は高揚感のあるうちに終わりました。
1) 今週は私が休みなので、私のチームがすべてのテスト活動を引き継ぎ、たくさんの素晴らしい質問をしてくれました。 この時期に彼らが何を学ぶのかとても興味があります!💡
2) 自発的なアンサンブルによってテストされ、バグ修正をリリースします。💪🏻
3) 素晴らしいフィードバックをいただきました😊

今日で新しい会社で半年が終わりました!🎉素晴らしい旅でした。これからもたくさんのことが待っています! 💪🏻 また、今日(偶然ですが)、私はチームにとってこれまでで最長となる、2週間の休暇に入ります。 彼らがこれを手に入れたのはわかっています! 🙌🏻 ある開発者はこう言いました。「心配しないでください、私たちは練習しました」。 😊

ベストな一日ではなかったけど、私にとって今日は何だったと思う?私が仕事に戻ったにもかかわらず、開発メンバーがまだお互いに変更をテストし、またお互いに(勝利に向けてペアを組んで)テストしている様子を見ました。私はその姿を見るのが大好きです。そして、私自身のテストとペアリングも楽しんでください。😊

先週の仕事のハイライト:開発メンバーとよくペアを組みました。現在のシステムの振る舞いなどについて学び、予期せぬサプライズを発見し、その原因を解明し、作業を進めていくうちに問題をすぐに修正および改善しました。迅速なフィードバックと迅速な改善になったのです!💪🏻

自分たちの知識、経験、アイデアを組み合わせて持ち合わせなければ、どれほど危険だったかを身を持って認識しました。声を出して考えることで、私たちの会話が新しいアイデアや試行を引き起こし、それをもとに構築していきました。それがなければ、重大な問題を見つけることはできなかったでしょう。

ふー、今日はなんて日だろう!問題調査、リリース文書、テストセットアップ、チーム全体のシステムテストに関する 4 つの異なるアンサンブルを行いました。そして、開発メンバーとのボーナスペアリングセッションでは、JavaScript の奇妙な挙動を発見し、修正を見つけ、テストを追加しました!とても効果的でした。🚀

【翻訳記事】新しいチームに移って8か月で起きたこと Part4 「チームが変化できた要因」

はじめに

本記事は A Tester's Journey: A Time of Transition - Eight Months on a New Team を日本語訳したものです。

この記事は、著者のLisi Hockeが、新しいチームにJoinして8ヶ月間で起きたことを赤裸々に語っています。その中で、どのようにチームにフィードバックを促し、どのようにチームを変化させていったのかが詳細に語られており、大変良い記事だと感じたため、今回翻訳することにしました。

なお、元記事が長文なため、翻訳記事は計5回に分けてお届けします。

  1. Joinする前のチーム状況
  2. チームに入ってから8ヶ月間で起きたこと
  3. 現在のチームの状況
  4. チームが変化できた要因(本記事)
  5. 今後の展望とチームの変遷の記録

本記事は第4回です。

このチームに関する詳しい内容や、記事執筆後に起こった変化はJaSST Review'23にて講演予定です!(同時通訳付き)

興味を持たれた方は以下のページから参加申し込みをお願いします!

www.jasst.jp

目次

この移行の促進となった要因は何ですか?

社内外の人々から、私がチームの変革にどのように貢献したかを尋ねられました。はい、私も上記の取り組みに参加しましたが、これを達成するために多くの人々が協力してきました。この旅で何が私を助けてくれたかを考えてみると、これについてはさらに考える必要があることに気づきました。これを次回のプロポーザルのテーマにしようと考えています。そこには、試してさらに発展させていくためのインスピレーションがあるかもしれないと思うからです。物事がうまくいく方法はたくさんあると思います。現時点では方法が見つからないときでも、このような経験を共有することで、新たな火種が生まれ、何か違うことに挑戦できる可能性があります。とりあえず、ここ数か月間で私にとって役立ったことをいくつか共有したいと思います。

私の「親愛なる未来の私へ:私は一人ではない」という投稿を思い出してください。ピーク時にはこのことを自分に言い聞かせる必要がありました。 二度と同じような状況に陥るつもりはなかったのに、ここに来てしまったのです。昨年の私自身のアドバイスは、今年も私にとって貴重なものでした。

他に何が役に立ったでしょうか?忍耐、忍耐、そして忍耐です。そして多くの楽観主義と希望を持つことです。新しい考え方を採用し、行動を変え、システムを形成するには長い時間がかかります。結局のところ、私たちは人間と一緒に働いており、私たち自身も人間です。私たちも常に最高の日々を過ごせるとは限りません。長期戦に臨みましょう!そして、何か賞賛に値するものを見つけたら、必ず祝いましょう。本当に、旅の一歩一歩、どんな小さなことでも祝いましょう。うまくいかない時期を乗り越えるために、私はそこから多くのエネルギーを得るのです。私が公の場でこれをやっているのをよく見かけるかもしれません。外から見ると、すべてが美しく輝いていると思うかもしれません。しかし、そうではありません。同様の努力が必要です。同様の忍耐が必要です。私は勝利するたびに祝いますが、それ以上に失敗することもたくさんあります。ただしそれは問題ありません。私の知っている近道はありません。やるべきことはまだたくさんありますが、私たちはそれを自分たちの手で成し遂げることができます。

それは本当です!楽観主義は、私が共により良い方向に進み続けるために多くのエネルギーを引き出すところです。物事の良いところを見ようとして、それを増幅させてみましょう。あまり理想的ではない状況を、私たち全員にとっての学習の機会として組み立てます。ああ、私はいつも楽観的ではなく、ただ練習を続けているだけです。

過去に良い経験をしたことから多くのことを引き出しました。例えば、どんな状況にも好奇心を持って取り組み、学びたいという気持ちを示します。うまくいっていることに感謝し、ポジティブな面を追求し、良い面を改善します。助けてくれたことに感謝の気持ちを示し、それが私にとって大きな影響を与える理由を説明するようにします。人々が特定の方法で行動するのには、通常、正当な理由があることを知っています。多くの人は良い経験をしたことがなかったり、物事を試す機会や許可がなかったりします。ですから、物事を試す機会を彼らに与えて、彼ら自身に経験をさせましょう。自分自身の行動を変えます。私には他の人を変えることはできません。観察し、透明性を獲得し、意識を高め、人々を実験に誘いましょう。たくさんの「私たち」の考え、「私たち」のメッセージ、「私たち」のアクションがあります。本物でありつつも脆弱な存在であり、成功も失敗もすべて共有します。理論にこだわらず、具体的なアクションに取り組みます。それが実現不可能なら、誰も拾わないでしょう。人々の仕事を妨害したり門番したりするのではなく、サポートする形でアクションします。基礎を整える際には、現実主義を多用し、高い理想に固執しすぎないようにします。人々とそのニーズに非常に近くで動きます。彼らの言語で話します。現在いるところからスタートし、そこから徐々に改善していきます。現状よりも良いものを目指して努力しますが、完璧を目指すことは決してありません。現在よりも良いもので十分です。行動や決断の背後にある理由、その理由を説明しましょう。

誰もが同じではない、それは素晴らしいことです。私のチームには早期採用者と後期採用者がいます。場合によっては、1 人が両方とも異なるテーマに取り組んでいることもあります。どちらのタイプも、以前のポジションに比べて大幅な移行を行いました。遠慮していた人がすぐに私へ通話をするようになりました。これまで一度も一緒に仕事をしたことがなかった人が、同じ重要なアクションにもっと目を向けてもらうよう、参加する人たちに求めるでしょう。これは私自身の未来に対する理想ではない(常に変化する)かもしれませんが、同時にこれは彼らにとって大きな一歩であり、私は個人的に非常に前向きに判断しています。つまり、全員が同時に同じジャンプをすることを期待しないでください。人は自分のペースで進む必要があり、人によって課題が異なります。

変化を誘いたい人に仕事の内容が見える場所(チケットのコメントなど)で仕事をしましょう。特定のこと(最初に単独でテストする、API のみをテストする、コードを読む、テストをテストするなど)を実行する価値があると彼らに納得させようと試みないでください。代わりに、実行して、結果とアウトカムに納得してもらいましょう。すぐにうまくいかない場合でも、それを個人の責任だと受け止めないでください。これには多くの時間がかかることを覚えておいてください。自信は助けになりますが、多くの場合、すでにチームを引っ張る必要がある一方で、自分自身の自信を築かなければなりません。これはチャレンジです。それについてはっきりと伝えるようにしてください。しかし、先延ばしにしないでください。 そう、私にもまだまだ勇気が必要なのです。

つい先週、私はMary Lynn MannsとLinda Risingによる素晴らしい本『More Fearless Change』をついに読み終えました。そして、この本の中で言及されている変化を助けるために自分がさまざまなパターンをたくさん使っていることに気づきました。とても心に響きました。信じられないほどです。変化を望んでいるなら読むことを本当にお勧めします。

ほかに何かありますか?お互いを知り、関係を築きましょう。私たちは一緒にこの問題に取り組んでいます。安全な空間を作りましょう。そうすれば、学習に集中し、物事を試し、何が起こるかを確認できるので、全員が向上し、毎日少しずつ改善できるようになります。ですから、まずは、思い切って何かを試してみてください。何もしないことは何も役に立ちません。他の人は行わないか、あなたが望んでいる方法では行いません。自分で行動を起こしましょう。完璧である必要はありません。昨日より少し良くなるだけで十分です。大きな一歩である必要はありません。ほんの小さな一歩です。正式なリーダーシップの立場にある必要はありません。キャリアのスタート時点から物事を変える力があります。観察し、何かを試し、何が起こったのかを振り返ります。この学習に基づいて、別のことを試してください。続けてください。

Part5「今後の展望とチームの変遷の記録」に続く…

【翻訳記事】新しいチームに移って8か月で起きたこと Part3 「現在のチーム状況」

はじめに

本記事は A Tester's Journey: A Time of Transition - Eight Months on a New Team を日本語訳したものです。

この記事は、著者のLisi Hockeが、新しいチームにJoinして8ヶ月間で起きたことを赤裸々に語っています。その中で、どのようにチームにフィードバックを促し、どのようにチームを変化させていったのかが詳細に語られており、大変良い記事だと感じたため、今回翻訳することにしました。

なお、元記事が長文なため、翻訳記事は計5回に分けてお届けします。

  1. Joinする前のチーム状況
  2. チームに入ってから8ヶ月間で起きたこと
  3. 現在のチームの状況(本記事)
  4. チームが変化できた要因
  5. 今後の展望とチームの変遷の記録

本記事は第3回です。

このチームに関する詳しい内容や、記事執筆後に起こった変化はJaSST Review'23にて講演予定です!(同時通訳付き)

興味を持たれた方は以下のページから参加申し込みをお願いします!

www.jasst.jp

目次

私たちは今どこにいますか?

私たちはこの旅において大きな進歩を遂げました。 私たちがどこから始めたか覚えていますか?私たちが今見ているものと比較してみましょう。

あらゆる種類のコラボレーションが起こっています

同じ仮想空間で並行して作業する同期ペアリングとアンサンブル、および非同期なソロ作業。 人々が今どこにいても、彼らが今最善だと考えるものは何でも起こっています。そして今も進化中です。

コミュニケーションが大幅に増加し、物事が明確になりました

これは主に同期作業で発生しますが、チームチャンネルや通話でも観察されることがあります。チーム間でも同様です!

デフォルトで一体感がありアクセスしやすい

このトピックについては今後も引き続き学習していきますが、人々がチームのことを考えて振る舞いを変え、それが自分自身にも利益をもたらしたことがすでに分かっています。これは私たちにとって大きな変革でした。

我々のプロダクトに対する信頼性が高く、問題が少なくなりました

迅速かつ早期のフィードバックが功を奏しました!同様に、テスト容易性が向上し、誰もが基礎的なテストを実行できるようになりました。 役割を越えて知識を共有しましょう。多様な視点も含めましょう。それが全てです。

システム思考が高まり、物事を成し遂げることへの集中力が高まりました

開発メンバーは、アクションがシステム全体にどのような影響を与えるかを認識し始めました。フローとキュー、スループットと待機時間などが表示され始めました。役割や主な専門分野を越えてどのようにお互いに助け合うことができるか、どのように負荷を共有できるかが分かるようになりました。 時々フィードバックが再び遅くなることがありますが、開始時に比べてフローは大幅に改善されました。

何かを試すことがより安全でより普通になりました

私たちは実験駆動の文化をまだ持っていませんが、自分たちで決定を下し、何かを試してみるという自由を感じるだけで、チームメンバーは解放された気分になりました。 私たちはすでに多くのイニシアチブを目にしており、良いものを維持できています。

1つのチームになった

私たちは皆、ずっと仲良くなりました。今では私たちは本当にチームだと言えるようになりました!このチームで働き、スピリットを体験し、素晴らしいものを共同で創造することがすごく楽しいです。そしてこれは決して終わりではなく、これからも続く旅です。

以前とは別のチームとして見られるようになった

私たちの評判と外部の認識はすでに肯定的なものに変わりました。 私たちはこれを意図的に改善するために継続的に取り組んでいます。

@lisihocke 自分のチームを本当に誇りに思うと言えます! #言ってみただけさ

私たちも、ようやく穏やかな海域に入りつつあります。私たちは皆、当面は、この巨大なEpicのような私たちが直面する課題を達成するために、厳しい決断を下す必要があることを認めます。はい、いくつかの問題はありましたが、全体としては、物事が非常にスムーズに進んだことを非常にうれしく思います!非常に素晴らしいパトリック・プリルを含む、近くのチームにも多大な感謝と称賛を送ります。親密でとても協力的なコラボレーションが大好きでした。彼らはこの成功に大きく貢献し、チームの歩みにも非常に良い影響を与えました。

また、私は今、これまでのキャリアの中で最も多様なチームで働いていることもお伝えします。メンバー10人は、出身国が9か国、人種が4種類、女性が3人、学歴や子育てなども意識した構成になっています。はい、確かに私たちは特定の視点を見逃しています。同時に、私たちはこれまでに 1 つのチームにまとめたことのないほど多くのメンバーを擁しています。とても貴重です、とても勉強になっています。

これはすべて簡単なことではなく、本当に困難なことでした。それは挑戦であり続けるでしょう、私は確信しています。しかし今、私たちは本当にこの問題に取り組んでおり、全員でより良い方向に進むことができます。私たちは成長し、変化しています。未来が私たちを待っています。

ついに起こりました。私のキャリアを通じて初めて、0人や1人ではなく、2人の女性と同じチームに所属することになりました。🎉 まあ、私たちが12人という巨大なチームであることが影響していると思いますが。また、性別を除けば、私がこれまで参加した中で最も多様なチームです。❤

Part4「チームが変化できた要因」に続く…

【翻訳記事】新しいチームに移って8か月で起きたこと Part2 「チームに入ってからの8ヶ月間で起きたこと」

はじめに

本記事は A Tester's Journey: A Time of Transition - Eight Months on a New Team を日本語訳したものです。

この記事は、著者のLisi Hockeが、新しいチームにJoinして8ヶ月間で起きたことを赤裸々に語っています。その中で、どのようにチームにフィードバックを促し、どのようにチームを変化させていったのかが詳細に語られており、大変良い記事だと感じたため、今回翻訳することにしました。

なお、元記事が長文なため、翻訳記事は計5回に分けてお届けします。

  1. Joinする前のチーム状況
  2. チームに入ってから8ヶ月間で起きたこと(本記事)
  3. 現在のチームの状況
  4. チームが変化できた要因
  5. 今後の展望とチームの変遷の記録

本記事は第2回です。

このチームに関する詳しい内容や、記事執筆後に起こった変化はJaSST Review'23にて講演予定です!(同時通訳付き)

興味を持たれた方は以下のページから参加申し込みをお願いします!

www.jasst.jp

目次

何が起こったのでしょうか?

この8か月間に本当にたくさんのことが起こりました。私たちの旅のハイライトをいくつかご紹介します。

チームを変えました

まず第一に、私が入社したチームは、今いるチームとはもはや同じではありません。元の従業員5名が退職し、契約社員2名がこの期間内に入社および退職し、新たに正規雇用者4名が加わりました。私が始めたときは大きすぎるチームでした。今では10名ですが、私の観点から見ると、チームの規模としてはまだギリギリまで大きい状態です。 コミュニケーション経路はすでに非常に複雑です。

親愛なるプロダクトマネージャーを見つけました

以前までは、複数の製品担当者が頻繁に交代していた状態に悩まされていました。今、私たちは本当に幸運なことに、透明性と知識の共有に尽力し、常にチームを巻き込んでくれる素晴らしいプロダクトマネージャーを見つけることができました。彼女は明確な優先順位を設定し、チームに集中力を与える人です。彼女は利害関係者に明確な期待を示し、役に立たない組織の問題からチームを守る人です。彼女は迅速に意思決定をし、即座に行動を起こし、それによって主導権を握る人です。これがどれほどの違いを生むかは、どれだけ強調しても言い過ぎにはなりません!

弊社のプロダクトマネージャーに感謝の意を表します。彼女は透明性と明瞭さを生み出すのが本当に素晴らしいのです。彼女は今日、チーム全体にわたる複雑なトピックについて次のように話しました。「私たちが考えていることや想定していることをすべて書き留めて、参考として見えるようにしましょう。たとえそれが間違っていたとしても、異議を唱えることができます。」 🌟

リリースの仕方を再発見しました

知識は失われ、リリースの方法という重要な知識さえ失われました。はい、これは痛いです。製品のコンプライアンスを考慮する必要があることを考えると、新しい製品バージョンを市場に投入するために何が必要かを把握するのに、これは少なからぬ必要な労力でした。再発見フェーズには時間がかかり、多くの変更が待ち構えていたため、大規模なリリースになりました。私たちは皆、これをもっと頻繁に実践し、リスクを減らして小規模なリリースをしたいと考えていました。次の各ステップで、より簡単に行う方法についてさらに学びました。そして、私たちはまだ学び続けています。そして今では透明性があり、チーム全体が参加してリリースを行うことができます。

チームキャンバスセッションを行いました

これは新しいプロダクト マネージャーによって始められたもので、当時チームが必要としていたものでした。 私たちにとって何が重要か、どこに成長したいか、プロダクトにどのような機会があると考えているか、個人の価値観などを共有する場所です。 チームを構築するための基盤です。 その結果、私たちはチームの価値観も明確にすることができました。 このようにして、私たちは生きていく上で、またチーム外の人たちやチームに参加する人たちにとっても大きな参考になります。

巨大なEpicがありました

今年の初めに、チームは今後のトピックについて知らされました。 それを聞いたとき、多くの期待の不一致(「2~3週間でこれを行います」なんてありえない)を観察しながら、これは膨大な労力を意味することになるとすぐにわかりました。 結局のところ、それは本当に大変な労力でした! 現在最後の仕上げ段階ですが、これは非常に大きなことでした。 あまりにも巨大だったので、実現するために文字通り他のものをすべて捨てなければなりませんでした。 また、非常に明確に期待値を設定した我々のプロダクトマネージャーにも改めて敬意を表します。

たくさんの火を消しました

3月から6月はちょっと極端でした。 非常に緊急な議題がたくさんあり、それをすべて同時に行う必要があったため、大きなプレッシャーがかかりました。 その間に私たちはすでにその巨大なEpicに取り組んでいました。 一度に一つのことに取り組み、新しいプロダクトマネージャーが本当にステップアップしたおかげで、なんとか乗り切ることができたと思います。これはどれだけ強調しても足りません。彼女は最初の 1 か月で最悪の状況を経験しましたが、今も私たちと一緒にいます。ここでポジティブな点を考えてみます。今回の出来事は、明確な制約を設定し、期待を管理し、他のチームと状況を共有し、理解とサポートを得る機会となりました。チームを壊すか、チームを良くするかのどちらかになる瞬間だと私は本当に感じました。そして私たちは最終的に良い方に向かうことができ、チームは本当に団結を深めました。

初めてチームから離れました

最初の数カ月間、私はカンファレンスやその他の取り組みを意図的に断っていましたが、ある時点で行うことにしました。チームが自分たちでテストを引き継ぐ状態になっていました。彼らは完全なコンテキストを持っており、仕事を始めたときに私自身が陥っていた状況に外部の誰かが陥ることになるでしょう。一時的な価値はありません。そしてまた、私たちが取り組んできた文化の変化の多くを元に戻すことになるでしょう。

私が実行した取り組み

上記以外にも多くの構築中の場所があり、チームには改善の余地がありました。 最初の 1 か月間観察し、関係を構築し、知識を増やした後、私がチーム内で実行した取り組みを以下に示します。

オンボーディングとオフボーディングのガイドラインを作成しました

最初の 1 か月ですでにチームに共有知識が不足していることが明らかになり、厳しいスタートとなりました。とにかく情報を断片的に集めなければならなかったので、既存のオンボーディング ページを次の参画者を支援するガイドへと改訂しました。ドキュメント自体はページ全体の半分にすぎず、残りの半分は、新しいチームメイトにどのように出会うか、どうすれば彼らに歓迎され、大切にされていると感じてもらえるかというマインドセットについて書きました。 つい先週、新しい人が私たちのチームに加わりました。 彼らのフィードバックによると、私たちはすでに物事をかなり改善しているようです。 さて、常に新しい人が来るのと同じくらい、去っていく人もいます。 そのためには、最後に一緒に良い時間を過ごすだけでなく、許認可を処理し、自分たちの将来のときに新しいチームを立ち上げるためにもガイドラインが必要でした。

知識を共通化しました

コラボレーション中の知識の共有から、チーム チャネルで学んだことの共有、「HowTo」ドキュメントの作成まで多岐にわたりました。チームメンバーが知識の共有を非常に高く評価していることにすぐに気づきました! 彼らも一緒に楽しみたいと思っていました。そこで、隔週の「知識とゲーム」セッションを導入し、知識のターンでは障壁を下げるためにできるだけ非公式に、学んだことを共有することにしました。ゲームのターンでは、その日私たちがどんな予定をしていても、予約されていました。最初のセッションですでに、私は「なるほど!」という瞬間をたくさん観察しました。 このEpicの上位段階では、知識の共有が減り、ゲームが増えていることが観察されましたが、これは私たちが止められなかった数少ないことの 1 つでした。今では知識共有の部分も復活しており、とても嬉しいです。

今週の課題処理のポリシーと課題調査をする人(課題調査員)の設定をしました

運用環境を知ることの 1 つは、運用環境で報告された課題に対処する方法を知ることでした。弊社には全体的なガイドラインがありましたが、チームのコンテキストに応じた形での実行は行えていませんでした。私は過去に明確なポリシーを導入することで良い経験をしたので、今回もそれを試してみました。 私は提案をし、コメントを求め、ミーティングですべてを一緒に検討し、全員に同意を貰いました。 そして私たちはそれを活用しています。このポリシーの 1 つでは、迅速な意思決定を行い、問題が未解決のまま放置され、腐敗して単なる無駄になることを認めていません。 もう1つのポリシーは、私たちが特定した問題、または私たちが指摘した問題に対する迅速な対応についてでした。現在、私たちはローテーションを導入しており、すべてのチームメイトが毎週交代で「初期対応者」(または「課題調査員」と呼んでいます)として課題を評価し、ポリシーに従って対処します。当初、「これは修正しません。十分な価値が提供されていません。」などの電話を掛けたり、チケットのステータスをクローズにすることにあまり乗り気ではありませんでした。 しかし、すぐに取り組む価値がない場合は、状況に関する知識が変わらない限り、まったく取り組まないという現実を直視しましょう。物事が最初に考えられていたよりも重要な場合、再び表面化します。 今年の初め以来、きれいな課題のバックログ ( 3 年間埃をかぶっていた古い課題もありました) だけでなく、迅速な決定、重要な課題が実際に修正され、新しく入ってくる課題への迅速な対応なども確認できます。チームの肩の重みが軽減されます。今ではさらに明確になりました。

数日前、私のチームに新しい課題処理ポリシーを提案しました。提案は素晴らしい会話のきっかけとなり、私たちは試してみることにしました。今日、私たち 3 人は現在抱えている問題のバックログをすでに 50% クリーンアップし、さらにチーム セッションでさらに 2 つを処理する方法をすぐに決定しました。 これは勝利と言えるでしょう! 😊🎉

さらにクリーンアップを行い、より透明性を高めました

課題のバックログのクリーンアップが非常にうまく行ったため、止まらずに継続することにしました。残りのバックログもクリーンアップし、残っている古いEpicや期限切れのチケットなどを閉じました。完全に解放されたことで、さらに課題が明確になります。これは新しいプロダクトマネージャーが加わる直前という素晴らしいタイミングで行いました。また、Wiki スペース(非常に多くの古いドキュメント置き場)も整理しました。何も削除してませんが、ページを「アーカイブ」セクションに移動したため、Wikiの残りの部分は無駄がなく、最新の状態になり、再びアクセス可能で管理しやすくなりました。

全員が参加できるようにシステムを形成しました

私たちにとって、一人一人を積極的に会話に引き込むだけでなく、人々が自分自身の選択をできるように、最初から物事にアクセスでき、目に見えるものを用意することが重要でした。 たとえば、チームに関連するすべての通話記録をチーム カレンダーに登録するなどです。 ちょっとしたことをするだけで、チーム文化は大幅に改善されます。さらに、物理的なチーム部屋のように、全員が参加して一緒に、または並んで作業できる通話リンクを常に利用できるようにします。これにより、他の方法ではアクセスできなかった多くの会話も耳にしました。 そして、役割に関係なく、必要なすべてのツールに対する権限をチームメンバー全員に同様に付与するなどして、システム上のサイロを解消します。 個人を単一の連絡窓口としてボトルネックにするのではなく、チーム外の人々が共通のチームチャンネルを通じて私たちに連絡を取り、全員がそれを確認し、全員が対応できるようにする文化を醸成します。負荷を分散して回復力を高めるのに加えて、オーナーシップの共有やチームの責任感にも大きな違いをもたらします。

フローと素早いフィードバックのために協力する方法を(再)発見しました

私が仕事を始めたとき、チームの人々は何のつながりも持たず、私が「ペアリング」や「アンサンブル」について話すときに、それが何を指すのかを理解していなかったことがわかりました。彼らが非常に非同期的に動作していることも理解しました。そこで、彼らがいる場所で会って、最初は非同期的な方法で非常に密接に協力するように努めました。ボードを「右から左」に動かし、最初にプロセスの最も遠い項目についてフィードバックを提供します。次に開発チームメンバーが現在取り組んでいることに近づけるように作業を進めます。この方法では調査結果を監視できないため、チケットにコメントとして調査結果を追記しました。質問したり洞察を共有したりするために Slack を頻繁に使用しました。私は素早く作業を行い、基本的に彼らを追い越そうとしました。そうすれば、非同期の方法でも早く、「並んで」作業できるようになります。うまく機能すると、その体験を通じて、素早いフィードバックの良さが何を意味するのか理解し始めました!「ペアリング」について話すのも止め、代わりに毎日の通話でメンバーを捕まえて、「少しの間そのままでいてくれますか?見せたいものがあるのですが」と伝えるようにしました。画面を共有し、質問がある場所や発見した内容を示し、通話中にシステムとの対話を続けます。物事を一緒に見ることの利点をデモし、何が起こっているかを理解しやすくします。ある時点で、早期の理解者がこの状況を逆転させました。今までは「会話を続けてもいいか」と私が言っていましたが、今度は開発メンバーが私に同じような形で尋ねるようになりました。この開発者は現在の状態を私と共有したいと考えており、初期のイテレーションで積極的に私のフィードバックを引き出しました。彼は、これによりフィードバック ループが短縮され、より速く動けるようになることに気づきました!それ以来、彼は私にペアリングセッションを求め続けました。彼はマージを待ったほうがいいかもしれないとも言いました。おそらく将来的には「testing」列は必要なくなるでしょう。大勝利です!特に彼は他のメンバーの前でこれを行っていました。私には、すでに新しい方法を提唱していた支持者がいました。現在では全員とペアリングを行うまでに成長しました。互いにペアになることもできます。少人数のグループが集団として協力します。必要に応じてさらに多くの人を呼び込みます。ただ並列して作業することもありますが、一緒に同じことへ取り組むことが多くなってきています。

全体的なテスト(Holistic testing)を継続的に行いました

デリバリー全体を通じてフィードバックを高速化するだけでなく、アイデアからロジックユニット、モックアップから自動テスト、ドキュメントからアーキテクチャに至るまで、あらゆる種類の要素をテストします。テストはどんどん早くなり、規模も小さくなっていきます。開発メンバーが行っているところで、もしくは開発メンバーが新しいタスクを始める前に追い越そうとするうちに、私は自然に、より小さな反復とより小さな部分をテストするようになりました。私自身は過去のチームでそのようなことに慣れていましたが、チームメンバーの誰もまだこれを経験していませんでした。心の中でそれは時間の無駄、または正しいアプローチではないと感じているメンバーもいました。私はそれを(何度も)やってみて、そのメリットを体験してもらうことにしました。そして彼らは行ってくれました!最初の数か月間、私はテストのみに参加することで、すでに満足していましたが、最近では、ようやく変更やその他の活動を実装するときにも参加できるようになりました。また、スプリントで計画されている新しいタスクを開発メンバーが手にする前に、テストのアイデアブレインストーミングするようにしました。繰り返しになりますが、チケットにコメントを残すだけで、その場で彼らに会うことになります。それにより、彼らは気づきを得て、意見を求め、会話のきっかけとして使用することができます。そして、さらに先に進むことができます。

テスト容易性の問題を解決しました

早期にテストすることで、テストしづらい課題がたくさん見つかりました。十分に優れた解決策を発見し、それを基に構築することが非常に役立ちました。たとえば、ローカルで実行する方法を理解することで、現時点では内部での可視性を得られます。Readmeファイルを改善し、Postmanコレクションを作成して、テストの開始点を早められます。Wiremock を使用して外部依存関係をスタブし、サービスの振る舞いをさらに探索できます。他のツールを使用して、テスト中にさらに多くの洞察を得られます。他の人のために参考として文書化するための「ハウツー」ガイドも作成します。はい、これらは同時に行われた大規模な取り組みです。行うにあたり、私は過去の経験から多くのものを取り入れました。正直に言うと、新しい会社に入社したことで、過去 6 年間で得た経験が大きく証明されました。最近では、自分が詐欺師であるとはあまり感じなくなりました。テスト容易性を高めるためにできることはまだたくさんあり、私にはたくさんのアイデアがあります。ただし、容量は限られているため、最も影響を与えるものを慎重に選択しています。チームが変更をフォローアップするのにあまりにも急ぎすぎないようにする必要があります。

今日、さらに 3 つのレガシー サービスを発見しました。これらは解決するのが難しい問題でした。 時にはイライラすることもありますが、とてもやりがいがあります。テストに必要な部品を実行できるようになり、内部の仕組みについてさらに多くの洞察が得られました。今回の取り組みを通じて、自分の「物事を理解する」スキルに自信がつきました。 💪🏻

始めることをやめて、終わらせることを始めるようにしました

幸いなことに、この合言葉を繰り返していたのは私だけではありませんでした。プロダクトマネージャーやエンジニアリングマネージャーも、この絶え間ない説教に参加してくれました!しかし、説教だけでは役に立ちません。 模範を示し、行動を起こし、明確な主張をしなければなりません。「終わらせる」振る舞いに報酬を与えるシステムを設定しましょう。人々は自分自身で痛みを経験して初めて、終わらせることが容易になり、何か新しいことを始める前に、お互いに助け合えるところは何かをまず考えるようになりました。まあ、他の期間よりも良かった週もありましたが、それでも私たちは皆人間です。特にプレッシャーがかかったり、ストレスを感じたりすると、古い習慣に戻ってしまいがちです。私自身もそれを何度も繰り返し見ています。現在では、流れははるかにスムーズになり、ほとんどの日で以前よりもはるかに高いスループットを実現しています。ここでも役に立ったのは、私たちが壮大で明確な優先事項に明確に焦点を当てていたこと、そしてこのアプローチがプロダクト マネージャーによって非常に明確にサポートされていることです。フォーカスは、全員が自分だけで突き進むのではなく、密接に協力できるようにするのに非常に役立ちました。

前回のレトロでは、次のようなコメントがありました。
1.「始めるのをやめて、終わりを始めなさい - チームとして」 @lisihocke
2. 「新しいタスクを始める前に『完了するために何を手助けできるだろうか』と考えてください。」
ボードの配分は始まりと終わりを重点的にし、中央にはほとんど配置しないようにする必要があります。

チームがテストできるようにしました

各チームメイトが私とのペアリングセッションを経験し、私と一緒に(ドキュメントを含む)テストの練習を経験することで、システム全体、何を探すべきか、その方法についてますます学びました。ここでも、過去のチームで役に立ったことを試しました。一般的なテストガイドラインの作成です。これは、コンテキスト内で重要な特定の事柄を忘れないように個人的に常に役立ちます。また、特にテストの練習が少ない人にとっては、他の人にも同様に役立つことを学びました。車輪を再発明する必要はありません!私が不在の場合について人々が考える良い参考になることもわかりました。たまたま、私が時間を空ける時間が増えていきました。最初は2日間しか離れていませんでした。数週間後、丸一週間離れました。その後すぐに、2週間以上離れました。開発メンバーはこれから何が起こるかを本当に理解しており、ステップアップする必要があることに気づきました。大幅に後退したくない場合は、物事をただ放置することはできません。どうしたのでしょうか?最初の 2 日間、早期に理解した開発者はテストをすべて一人でカバーするという英雄的な努力をしました。驚くべきことに、彼は私と一緒に観察したことをたくさん真似していました!しかし、それは彼にとって大きな負担でした。2 回目ではチームは苦戦し、他の変更をテストするよりも新しい変更に取り組むことを好みました。チケットはフィードバックを待って山積みになり、彼らは痛みと摩擦を自ら経験しました。戻ってきたとき、私も彼らと一緒にきれいな状態に戻るのに2週間かかりました。まあ、人々が苦労することは予想されていました、彼らはこれまでにこれをしたことがありませんでした。そしてついに、私にとって最も長いオフタイムがやって来ました。そして彼らは非常にうまくやってくれました!私は最新状態のところに戻り、プレッシャーを感じることなく落ち着いて開始することができました。今回は 3 人の開発メンバーが対応してくれました。本当に素晴らしい結果です!これまでにチームが引き継ぎに成功したのを見てきましたが、これほどうまくスピードを出したことはありませんでした。彼らをとても誇りに思っています。

昨日、同僚の品質エンジニアが、私のストーリーのテストノートにインスピレーションを受けたと共有しました。そのようなことが起こるとは思いませんでした! 😅😊 また、自分自身とチームが常に意識できるように、「X をテストするときにこれらすべてを考慮する」チェックリストを作成するアプローチを共有していることも学びました 😉

仲間の開発者をとても誇りに思っています。 😍
私はカンファレンスのため2日間お休みしてしまいました。
彼は、
1) 5 つのストーリーのテストを引き継ぎました。
2) 真剣に取り組みました
3) 素晴らしいアイデアを思いつきました
4) 貴重な情報を学びました
5) 結果をしっかりと文書化しました
6) 他の開発者に説明しました。 ❤🌟🙌🏻

2週間以上の休暇を経て仕事に復帰し、これまでで最長の期間となりました。復帰したら、何も積み重なっていない、最新の状態に戻っていて本当に良かったです。🤩 開発者 5 人中 3 人は、ドキュメントを含むテスト活動を実行し、すべての処理が行われ、素晴らしい仕事をしていました。私はもう一度参加するだけです。❤

チームとしてリリースを行うようにしました

リリースがどのように行われるかを再発見したとき、私は「ハウツー」ガイドラインに一つのステップを文書化しました。その後、この知識をチーム全体で共有し始めました。前回のリリースは、その日に参加可能なチームメイト全員が一緒にリリーステストに参加する初めての回でした。大幅な改善でした!彼ら全員が現在のリリース プロセスでの摩擦を経験しているため、退屈を軽減する、より良い方法を見つけることに触発されました。現在のリリースでは、私が主導的な立場に立つことなく完了しました。私はもちろん、必要なときに相談を受け、サポートするためにまだそこにいます。これはチームにとってまた大きな一歩です!

@TestPappy、ありがとう! 😍
今日は、このチームがチームとして一緒にリリースをテストするのは初めてでした。挑戦的でしたが、その価値は絶対にありました。💪🏻 今日だけではなく、私たちのチームと私個人に対する皆さんの素晴らしいサポートにどれだけ感謝しているか、どれだけ強調しても足りません。 🙏🏻

チーム間のコラボレーションを促進しました

私たちが取り組んでいる巨大なEpicには、多くのチームが関わっています。一緒にテストするなど、チーム間でうまく連携する方法を確立し、学ぶ絶好の機会です!共感を獲得し、システム全体について学び、ドメインについてより深く知り、特に人間関係を築くのは本当に素晴らしいことです。もう一つのトピックがあります。チーム間の協力も必要となるインシデントの際には、私たちはチームとして現れます。チームメンバーはある日突然私たちのチームを違った視点から見るようになり、ストレスの多い状況でも私たちが緊密かつ建設的に協力していることに気づきました。それが私たちに良い評判をもたらしたか、少なくとも人々に私たちへの視点を再考させたのではないかと思います。また、インフラストラクチャサービス、顧客体験、医療知識など、他の専門分野の人々とより密接なコミュニケーションとコラボレーションを行うことができました。架け橋と絆を築き、常に可能な限り透明性があり、建設的で役に立つよう努めています。どのような依存関係があるのか、誰に何を知らせる必要があるのかを学び、それについて積極的に取り組む必要があります。私たちの働き方や知識を求めて積極的に連絡をくれる人もいます。

昨日は苦労したけど、今日は勝ち!🎉 さまざまなチームの人々とシステムテストを促進し、多くのことを学びました。💡 同僚である@TesterFromLeic と @jrosaproencaとのカンファレンスからの洞察を提示しました。🔥@janetgregoryca と @lisacrispin とペアリングについて素晴らしい話をしました! 🤩

本番環境を知るようにしました

これは私たちにとって今でも大きなテーマです。これは、私が始めた最初のプロダクトの 1 つであり、また、悲しいことに、私たちの巨大なEpicの熱い段階で中断された最初のプロダクトの 1 つです (何という矛盾だろう。私たちが最も必要としていたときだったのに)。私は、現在のインフラストラクチャの設定や何が起こっているかを確認するためのツールについてさらに学ぶことに投資し、対処する必要がある重要な部分を確認するためにクリーンアップとノイズの除去を開始しました。チーム全体で良いプラクティスを確立しようとする前に、最終的に重要な唯一のシステムである本番環境で実際に何が起こっているのかを確認するという毎日の習慣を自分自身に導入しました。この方法で問題を発見し、修正したので、幸先の良いスタートとなりました。その後、それ以上改善することなく、現状を維持するだけで停止しました。今、私たち全員が再び手に入れることができます。

Part3「現在のチームの状況」に続く…