たまに他社のQAエンジニアの方とお話していると、「開発者の品質意識が低いんです、どうしたらいいですかね」と聞かれたり、そのような話題になったりすることがあります。
「開発者の品質意識が低い」ということの意味はぼんやりとはわかる気がするのですが、いま私のまわりの開発者に対して「品質意識が低い」とは思っておらず。雰囲気理解から一歩進めるために、具体例について考えてみることにしました。
品質意識が低い、の具体的な例
開発者がどのような行動・思考・発言をしていたら、それをQAエンジニアやPdMなど他ロールから見て「品質意識が低いな~」と思うのでしょうか。
欠陥を見つけることを自分の仕事として捉えていない
まず、これがあるかなと思います。たとえば「テストはQAの仕事でしょ」や「どうせ後でテストしてくれるんだから(開発者が今細かく動作を確認しなくてもいいでしょう)」などといった発言があると、それは品質意識が低い、と言えそうです。
俺作る人、お前テストする人。というような、役割や仕事内容を明確に分けて考え(すぎ)る状態、つまり責任を押し付けている状態だと、昨今のソフトウェア開発の流れとしてはあまりよくないですね。
品質よりもデリバリが優先
たくさんのテストをして問題がないことを確かめたり、品質を作り込むことよりも、とにかくリリースしてコキャクにカチを届けることを優先しよう!という状態に対して、品質意識が低いと表現する場合もありそうです。
これは一概には言えないようにも思います。ベンチャーでサービス立ち上げたばかりです、という状態であればどんどん機能を足していくことを優先する場面もあるでしょう。
ひとことで片付けるならば、品質意識が低いというよりも組織における優先順位が合意できていない、ということでしょうか。
利用時品質に対する関心が薄い
たとえば単体テストを整えていたり、機能的な不備がないことをきちんと確認していたりはするけれども、ユーザーにとってどうか?という発想があまり無い場合も、QAエンジニアから見ると「品質意識が低いなぁ」と思いそうです。
ビジネスサイドに対して「この画面構成だと使いづらいのでは?」とか「この機能はどういう人が使うの?」といった打ち返しを開発側からも行うべきで、ビジネスサイドから渡される仕様通りに作っているので問題ない、で止まってしまうのは良くないです。(ドメインや組織規模にもよりますが。)
「品質意識が低い」の具体から「品質意識とは」を考える
これを次の記事で行いたいと思います。
本記事で挙げた具体例から考えると、品質意識とは
- 内部品質~利用時品質まで、特定の部分ではなく全体に関心を持って開発業務を行うこと
- 単純な高低が大事というよりも、意思決定の材料として組織内で合意されていることが大事
- 品質は特定の工程や特定の職種の人だけが担うものではなく、全体が関与すべきであるという意識
あたりが要素として絡んできそうです。
で、最終的にはその「品質意識」というものを開発者に持ってもらうためにQAエンジニアができるアクションは何か、について一定の結論を出すところまで行きたいですね。