はじめまして、Photosynth初のQAの人です。
AdventCalendarに何か書けと言われたので、「何を書こうかなー?」と悩んだのですが 丁度良かったので、自分のポジションであるPhotosynthのQAの話します。
注意:エモいです。書いてて吐きそうになりました。
(この話は、自分でその時感じていたことを記録していたメモを掘り起こして書きます。)
始まり
紆余曲折あって2019年3月転職しました。
第三者検証会社から転職した先は
QAチームもテストチームもテストの知識があるメンバーもいない会社でした。
そこからQA初心者がQAとしてのキャリアを始めることになりました。
それまでの理解
自分と会社のQAエンジニアというものの認識を整理します。
自分:
QAって、テストだけじゃなくて経営レベルでプロダクトのことを考えているんだよなー
ユーザにいかに価値を提供するか、提供し続けるかを考える人なんだろうなー
詳しくはよくわからんけど。
開発メンバー:
QA=テストのことでしょ?
「QAお願いしまーす」っていうとテストしてくれる人が入ってくる!
開発楽になるわー
会社:
わからんけど、QAってテスト専属ポジションの人が入ったらしい。
見えてきた問題点
1ヶ月経った時点で、案件の大小はあれどいくつかの案件をこなしました。 テスト実施だけだったり、テスト設計からきちんとやってみたり、開発者に指示をしてみたり……
そんなことをしていると、違和感というか、何か変な感じがしていました。 「この辺が問題点なのかも」と思ってその当時メモしてたみたいです。
- テストスコープが不明確 - 影響範囲の考慮不足 - 仕様の複雑化を許容する体制 - テスト技術の知識不足 - テストの実行依頼をする側、される側のコミュニケーションロス - リリース判定の曖昧さ etc…
そもそも、上流から案件に関わってないし、品質をチェックするだけで作り込めてないのでは?
今このポジションは、ただのテスト作業には変わりないのでは?
当時のメモ
問題の解決に向けて、まず1人では解決できないorできても時間がかかり過ぎると考えて、周りの人々を巻き込むことにした。 「(仕様について記載されているドキュメントは)QA仕様書(テストケースのこと)しかありません。」 この一言に対して様々なことを投げかけたくなるが、とにかくドキュメントがないならばしかたがない。 過去のテストケースを漁っていくことにした。
改善へ向けて
その後やったこと
- QAってなんなの?を身近な人に話してみる(反応を見てみる) - QAってなんなの?を自分で勉強してみる(社外勉強会とか) - テストってなんなの?を調べてみる(QAとテストって別物?の認識確認) - 開発者との対話を増やして、お互いの認識を確認し合う(誤解、誤認識を解消) - 色々なところに散らばっているテストケースをまとめる(不要なものがどれだけある?テストの構成ってどうなってる?の確認) - ある案件に企画段階から参加してみる(理想の開発体制を模索) - ある既存機能に対してゴリゴリテスト設計してみる(できたものを今のテストケースと比較する、誰かに見せてみる) - QAというポジションとして、どうしていきたいのか社内発表してみる(啓蒙活動) etc… ※()中は意図
当時のメモ
改善に向けて考えるべきは多い。 ただ、ここまで問題のある組織だと、言葉の定義からどうにかしたくなった。 QAという言葉の意味は何なのか?
ここから、一般的な解釈を説明するために勉強会を開くことになります。
勉強会を見ていた人間から質問が飛びました。
「 結局、何する人なんですか? 」
質問の意図はQA、品質の話というより、今までのテストの内容ばかりでした。
発表した内容としては、
1. ソフトウェアテストの原則 2. よくあるアンチパターン 3. QAってもっと頭を使うことであること 4. 組織で品質を作り込んでいく必要があること 5. みんなで考えてみんなで自分たちなりの答えを出したいこと
のような内容だったのですが・・・
カラオケを終えただけで、発表の手応えをあまり感じませんでした。
説明をしても一向に伝わらない。何故なのか?
聞いてくれた方々の特徴がわかってきました。
すぐに例を求め、すぐに抽象度を下げたがる。 例を出しても結果的に同じ状況にならないと何もできない。 概念を理解して欲しいが、具体例に終始してしまう。
結果的に「何が言いたいのかわからなかった」とも言われる始末で衝撃を受けました。
- 説明が悪いのか?(多分よくはなかった) - 資料がよくなかったか?(多分よくはなかった) - 仮定した聴衆の視点が悪かったか?(多分よくはなかった) - ここまで何もできない人間だったか?(多分・・・)
自信をなくすことになるまで時間はかかりませんでした。
とはいえ、一部の理解者が現れます。
理解者の大切さ
何かしら感じ取ってくれた人達からは、こんなことを言われました。
- めっちゃ難しそうだけど面白そうですね。 - QAってわからないけど、会社としての品質を専門的に考えてくれる人? - 上流から入ってもらわないと品質保証って無理ですよね (企画の段階で入り込みやすいようにしてくれてありがとう。勝手にMTGに参加してみたりしたこともあったけど)
そういった周りの理解者が、その更に周りの人達を巻き込んでくれるありがたい状況だったりします。
人見知りおじさんが一生懸命いろんな人と話たりして頑張った結果
理解者が数人、十数人になっていきました。(数十人は自信ないから書かないけど)
心理的安全とかそういうことも必要ですが そもそも自分がどういうアウトプットができる人間なのか、どういうことをしていきたい人間なのかを話すことが大切なのかも。
現状
今の所の成果
- 会社の品質関連ドキュメント整備 - 開発フロー整備 - QA関連ドキュメント管理 - E2Eテスト自動化着手?(環境までは作った) - 「これリリースできない」っていったらMVPもらった
今後はやるべきことが多いので、色々な話をする機会が多いです。
話すことの一例としては、
- 品質をどう作り込むか考えたいな - テストをちゃんと考えたいなあ - UTの自動化あるけど、E2Eもやってみたいんだよね - 会社としてのミッション、ビジョンから、どういったプロダクトを作るとそれを達成できるようになるのかな? - ユーザーが使いにくいって思う部分ってなんだろ?
たまに何いってんの?みたいな顔もされますが、色々変わってきたなと感じます。
これが世に言う改善という話だったら、いい経験をしたのかもしれないですね。
とりあえず品質を組織的に作り込んでいく下地ができたのかもと感じる今日この頃です。