DevOpsにおけるQA(品質保証)の役割とは?
PR
動画もつくりました
DevOpsの前提
基礎となるもの
- アジャイル / 上位概念
- スクラム / アジャイルを実施するためのフレームワーク
- DevOps / 方法。スクラムを前提にした仕事の進め方
顧客価値を前提とするアジャイル
DevOpsの前提となるアジャイルソフトウェア宣言を引用しまーす!
プロセスやツールよりも個人と対話を、
包括的なドキュメントよりも動くソフトウェアを、
契約交渉よりも顧客との協調を、
計画に従うことよりも変化への対応を、
価値とする。すなわち、左記のことがらに価値があることを認めながらも、私たちは右記のことがらにより価値をおく。
何故アジャイルを基礎とするのでしょうか?
それは顧客に焦点を当てているからです!いくら優れた技術を使ったり、高度な知識があっても顧客に伝わなければ継続的な社会活動に繋がりません。自分達の血と汗と涙の結晶(表現が)が顧客に伝わらなかったら悲しいっですよね…
組織の価値とカルチャー 〜マネーフォワードの場合〜
アジャイルやDevOpsに準じたとしても会社の方針と齟齬があると社内の賛同を得られません(マネーフォワードはアジャイル文化が確立しています!)。所属する組織の価値とカルチャーも重要です!
マネーフォワードの価値とカルチャーは下記の通りでーす。
価値 / Value
- User Focus
- Technology Driven
- Fairness
カルチャー / Culture
- Speed
- Pride
- Teamwork
- Respect
- Fun
アジャイルとの親和性
下記のように組織の価値と一致しています!アジャイルやスクラムやDevOpsの概念を浸透させるときに、組織との方向性と親和性があると共感してもらいやすいです!
顧客との協調はUser Focusはと一致
動くソフトウェア・変化への対応はTechnorogy Drivenと一致
個人との対話はFairnessと一致
アジャイルの価値とQAの役割
QAとして品質を作り上げる際に、人の動きと技術が噛み合わないと実現できません…(なんでも屋さんになる理由はここ)
より技術的な課題は専門家に頼りつつ、「チームとして品質をどう作るか」が重要です!
顧客との協調
- 顧客との対話(定性的)はもちろん、顧客の潜在的な苦労・ニーズを知る!
- DatadogやNewRelicなどを活用して継続的なモニタリングができる仕組みをつくる!
- スクラムをベースに運用する
動くソフトウェア
- リリースサイクルを速めて、顧客価値をデリバリーできるような仕組みをつくる!
- Four Keysの指標を適用する
- スクラムをベースに運用する
変化への対応
- 市場の変化や技術的なアップデートなど様々な変化に対応できるように柔軟に変更できる仕組みをつくる!
- ソースコード品質を向上させる!
- 静的解析やカバレッジを指標にして継続的な改善をする!
個人と対話
- 適切なコミュニケーションが取れる仕組みをつくる!
- スクラム(フレームワーク)を適用する
- スクラムマスターを行う
あとがき
品質保証(QA)がなんでも屋さんになりがち…という声を聞いたり、自分自身が何でも屋さんになっています(笑)。
「品質」という言葉の範囲が広すぎます。1人で全てを補うことは難しいので、知識を身につけつつPdM(PM)・開発(Dev)・SRE・プロダクトオーナー(PO)と協力仕合い品質を作るのが重要なんだなぁと改めて思いました。
Discussion