プロダクトの品質はテストだけでは測れない――新規プロダクト開発における品質管理の考え方

プロダクトの品質はテストだけでは測れない――新規プロダクト開発における品質管理の考え方 サムネイル

今回は「プロダクトの品質はテストだけでは測れない――新規プロダクト開発における品質管理の考え方」についてご紹介します。

関連ワード (エンジニア組織、プロダクト開発等) についても詳細と、関連コンテンツとをまとめていますので、参考にしながらぜひ本記事について議論していってくださいね。

本記事は、CodeZine様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。


はじめに

 はじめまして。freee株式会社の上村と申します。人事労務freeeやプロジェクト管理freeeの品質保証業務を担当しています。

 前回の記事では、新規プロダクトの開発でどのようにアーキテクチャーを選定して、どのように開発を進めていったのかを、エンジニアの増田と熊倉からご紹介しました。今回は、品質保証担当として、新規プロダクトを世の中に提供するために大事なのはなにか、そのためにどのように取り組んでいったのかをご紹介します。

スピードと品質を確保する最善策を探る

 これまでのfreee本体でのサービス開発は、ウォーターフォール型が主流で、エンジニアが実装した機能を最後に確認するビッグバンテストを行うケースが多かったです。当然ながら、この方法では最後のテストフェーズで不具合が多く見つかるため、その対応に時間がかかり、リリースが遅延するこも多々ありました。

 今回のプロダクト開発は、freeeとしてもまったく未知の領域への挑戦であり、新しい価値を創出していくためには、何度も仮説検証を繰り返しながら開発していくのが重要だと考えました。そのため、コミュニケーションを重視し、仮説検証に柔軟に対応できるスクラム開発を採用することになり、品質保証のやり方も全てゼロベースで考えることにしました。筆者自身が開発プロジェクトのスタート直後にfreeeにジョインしたこともあり、これまでのやり方を一からキャッチアップするよりも、新しい方法を構築する方がやりやすかったという背景もあります。

 まず、スクラム開発を進めていくうえでどのように品質を担保していくかを考えました。スクラムを含むアジャイル開発では、フィードバックサイクルを早く回すことを重視した開発体制なので、うまくやらないと品質が置きざりになることもあります。スピードと品質というトレードオフになりがちな2つを確保するために以下のことをやっていくと決めました。

  • チームの壁をなくし、ONE TEAMでスクラム開発を進める
  • テストも早いサイクルで回す
  • ユーザーの視点でサービス全体の品質を担保する

メンバーの固定化でチーム間の壁をなくす

 要件定義書や仕様書をもとにテスト設計を行い、実行していくウォーターフォール型の開発と違い、スクラム開発では、1週間という短いスプリントの中で要件を決めて、開発を進めます。そのため、最低限のドキュメントしか作られず、必要なことはチームで決めて開発していくので、チーム内のコミュニケーションがこれまで以上に重要であると考えました。

 そこでまず、QAメンバーを固定化し、プロジェクトにアサインしました。これまでの開発では、QAメンバーが必要になるのは最終フェーズに限られるため、手が空いたメンバーが他プロジェクトのヘルプをしたり、忙しいプロジェクトには大勢アサインしたりするなど、メンバーが固定されることはありませんでした。それに伴い、開発チームとQAチームといった組織間の壁もあり、十分なコミュニケーションができているとは言えない状況でした。しかし、今回はメンバーを固定してプロジェクトにアサインしたことで、朝会やスプリントレビューなどの全てのミーティングに参加するようになったため、仕様のキャッチアップや、リスクへの提言などがカジュアルにできるようになり、開発メンバーとのコミュニケーションが格段に良くなりました。

テストも早いサイクルで回す

 前回ご紹介した通り、開発段階では実装の次のスプリントでテストを実施しています。よって1つの機能は、プランニングから約2スプリントでリリースすることができるようになっています。

スプリント内の実装とQAの流れ

スプリント内の実装とQAの流れ

 このように、実装とテスト計画を同じスプリント内で行うことで、下記のメリットがあります。

  • テスト計画中に仕様の曖昧さや不備に気づくことができ、テスト前に実装漏れやリスクを減らすことができる
  • 直近で開発したコードは、何か月も前に実装したコードの修正よりも圧倒的に早く対応することができる
  • テスト、不具合の発見・修正、修正確認のサイクルが短期間で行えるため、テストデータを作り直したり、テスト環境の再構築をしたりといった、時間のかかる作業を削減できる

 昨今のソフトウェア開発において、アジャイル開発とEnd to Endテスト(以降、E2Eテストと呼びます)によるテストの自動化は切っても切れない関係になりつつあります。早いサイクルでリリースしていくためには、同様に早いサイクルでテストを行うことが非常に重要だからです。

 プロジェクト管理freeeの開発では、開発の初期段階からE2Eテストを実装することに決めました。E2Eテストの構築は、それなりにコストがかかるため、以下必要最低限の項目に絞り、実施することを目指しました。

  • ユーザーストーリーを実現するメイン機能が問題なく使えること
  • マイクロサービスにおける各サービスとの疎通が担保できていること

 サービスを提供するうえでメインの機能が正しく動かないということは致命的です。プロジェクト管理freeeでいうと「従業員を招待できる」「工数の入力ができる」「工数の実績が確認できる」といった機能は、ユーザーストーリーを実現するために、絶対に動作しなくてはならない機能となります。最低限、これらの機能が動作することはリリースするうえで必須となるのですが、そのために特に気にしたのが、「作り込み過ぎない」ということです。開発中のサービスは、常に変更が入るため、細かい部分まで作り込んでしまうと、メンテナンスの工数が増えてしまうからです。

 自動化するうえで、もう一つ気をつけた点があります。今のWebサービスでは、マイクロサービスアーキテクチャーを採用し、いくつものサービスと連携しながら、1つのサービスを作っていくのが主流となっており、freeeも同様です。マイクロサービスにはいろいろメリットがありますが、気をつけないといけない部分もあります。例えば、自分達が作っている部分に問題がなくても、連携しているサービスと100%繋がる保証はないということです。連携先のサービスがダウンしたり、仕様が変わって繋がらなくなったり、というのはよく聞く話です。これらは外部要因とも言えますが、顧客から見た場合、連携サービスが動作していないことはプロダクトの問題となります。

 よって常に連携サービスと繋がっており、プロジェクト管理freeeが問題なく動作していることを担保する必要があるのです。

 幸い、他サービスで既にE2Eテストの実績があったので、それらの資産を使うことにしました。今回は以下の技術を使って構築しています。新規サービスということもあり、今後修正が頻繁に行われることを見越して、SitePrismを使ったPageObjectモデルを実現しています。

  • Ruby
  • RSpec
  • Selenium Webdriver、Capybara、SitePrism

 E2Eテストは、問題がないことを確認するためのテストであって、不具合を見つけるためのテストではありません(稀に不具合も見つかりますが)。あくまでもメインは手動によるテストであり、E2Eテストの役割を明確にして、少ない工数で最大限の効果をあげられるように設計することが大事です。プロジェクト管理freeeでは、上記に絞ったE2Eテストを構築しました。工数的にはQA工数全体の5〜6%程度です。

プロダクト | ネクスティ エレクトロニクス | NEXTY Electronics

NEXTY Electronics.「株式会社トーメンエレクトロニクス」と「株式会社豊通エレクトロニクス」が合併し、新生・株式会社ネクスティエレクトロニクスが誕生しました。 次の時代の技術(NextTechnology)を常に追い掛けると共に、世界に発信し続ける企業を目指します。

国立研究開発法人 森林研究・整備機構 森林総合研究所 ...

研究データベース・プロダクト 植物、森林 ブナ結実状況データベース 林野庁の森林事務所で調査されたブナの結実度の広域分布図です。いくつかの指標を目視により判定し、それらを総合的に判断して、各調査地点ごとの豊作・並作 ...

アダルト 動画 投稿 シティ

アダルト 動画 投稿 シティ 1 12% Pdf 圧縮 フリー mac 2 17% ホライゾンゼロドーン 戦弓 チュートリアル 3 11% Pc ゲーム ディスクレス 4 11% アイワナ 無料 ゲーム 5 13% ポルノ グラフ ティー アポロ 6 12% ハイ クラス コース 7 17% 車 を 作る

新しい職場で半年経った - Sexually Knowing

from: 株式会社はてな 退職エントリ to: 株式会社Classi 社の開発者ブログに書いたエントリ 決め手 やっていること・やりたいこと チーム・機能横断の基盤システムの設計と開発 開発者ブログの編集長業 プロダクトチームに出向しての草の根活動 事前の印象と変わらないところ・異なったところ むすび 決め手 転職先を決めるにあたって一緒に働くメンバーから刺激をもらえそうかを一番重視した。 これは抜きん出たタレントを持っているとか輝かしい経歴を持っているかとかではなく: 知的好奇心を持っているか それがよく表出しているか (= アウトプットされているか) ……ということを重視している。転職ド…

COMMENTS


12797:
2021-03-26 22:26

新規顧客を獲得したい… 認知を広げたい… / こんなお悩みありませんか🤔? \ NTTドコモ開発の従来の広告とは異なる新しいプロダクト 【Crossmedia】 ドコモと直接契約を結ぶプレミアムなメディアと、独自の配信フォーマットにより、…

12792:
2021-03-26 22:14

[ブログ公開中] 開発日誌20200525_新しい個人開発プロダクト始めました

12794:
2021-03-26 19:12

同じプロダクトで開発をリードするエンジニアが変わると、技術的なあるべき姿が変わってリリースが遠くなるというのは、会社として大きなリスク 特にエンジニアを抱えていない会社の社長は、その詳細が見えづらく知らないうちにリリースが遅れている可能性があるので…

12789:
2021-03-26 19:06

スマルナリリース前のプロダクト開発黎明期から、支えて引っ張ってくれたリーダーです! 大手製造業からWebエンジニアへ一転、成長し続ける医療系スタートアップでのやりがいと挑戦 | ネクイノOfficial blog by Mao Toyokur…

12801:
2021-03-26 14:37

キーとなるブロックチェーンのプロダクト開発状況について 新規プロジェクトご紹介!Blockchainを活用してユーザーに新たな体験をat is Media Do? – Medicome!

12793:
2021-03-26 14:37

自分も大したコード書いてないですよw ただ「お客様のプロダクトで課題になりそうな部分を解決できるスキルスタックを個人開発で検証しています。それがこちらです」って見せてるだけです。 お客さんが欲しいものを提示してるだけです😁

12802:
2021-03-26 14:23

【新着ランキング(コンピュータ・IT書籍)】 3位:「プロダクトマネジメントのすべて 事業戦略・IT開発・UXデザイン・マーケティングからチーム・組織運営まで」 及川 卓也 (著)、小城 久美子 (著)、曽根原 春樹 (著) 4位…

12790:
2021-03-26 14:13

【新着ランキング(コンピュータ・IT書籍)】 3位:「プロダクトマネジメントのすべて 事業戦略・IT開発・UXデザイン・マーケティングからチーム・組織運営まで」 及川 卓也 (著)、小城 久美子 (著)、曽根原 春樹 (著) 4位:「こ…

12796:
2021-03-26 13:26

による、データドリブンなプロダクト開発の記事公開されました! グロービス学び放題におけるデータドリブンなプロダクト開発|グロービスデジタルプロダクト開発組織te

12788:
2021-03-26 12:26

プロダクトの品質はテストだけでは測れない――新規プロダクト開発における品質管理の考え方

12791:
2021-03-26 03:44

スマルナリリース前のプロダクト開発黎明期から、支えて引っ張ってくれたリーダーです! 大手製造業からWebエンジニアへ一転、成長し続ける医療系スタートアップでのやりがいと挑戦 | ネクイノOfficial blog by Mao…

12800:
2021-03-26 03:37

世間にまつげエクステンションが浸透するにつれて施術中・施術後の事故が多発してしまったため、 2008年に厚生労働省が「美容師免許の取得を必須にする」通達を出したのです。 そんな時代背景を受けて、ヴィーナスプラチナムは 施術時の安全性に対応したプロダクト開発に力を注いでおります。

12798:
2021-03-26 03:26

毎日が学園祭前日準備日みたいって… 文字通り最高だな… テスラが日本車を圧倒したブランド戦略を、“イチゴ”に応用して米で55億調達 ──Oishii Farmに学ぶ、世界を席巻するプロダクト開発術

12799:
2021-03-26 03:25

テスラが日本車を圧倒したブランド戦略を、“イチゴ”に応用して米で55億調達──Oishii Farmに学ぶ、世界を席巻するプロダクト開発術( ) 植物工場は技術があっても儲…

12795:
2021-03-26 02:07

TPM気になる エンジニアは「How」、PMは「Why & What」ならばTPMは?メルカリのプロダクト開発における“位置づけ” | mercan (メルカン)

Recommended

TITLE
CATEGORY
DATE
総務省が携帯大手3社に接続料の引き下げ要請
IT関連
2021-02-10 02:48
大手出身のベテランが集まった新進ゲームスタジオMountaintopが友人と家族から5.8億円調達
ゲーム / eSports
2021-02-06 13:57
財務領域のAIを信頼する日本の管理職は94%で世界首位、活用度は世界最下位–日本オラクル
IT関連
2021-03-04 00:55
グーグルがスマホのカメラだけで心拍数と呼吸数を測定できる機能を3月より順次提供開始
ヘルステック
2021-02-07 10:15
Clubhouse体験、Apple CarPlayならさらに快適 iPhoneをVWゴルフのCarPlayにつないで試してみた
IT関連
2021-02-10 07:23
複数の時間帯にまたがるグローバルなプロダクトチームための非同期ビデオチャット「PingPong」
ネットサービス
2021-04-02 09:29
GoogleのAndroidにおけるJava使用はフェアユース、米連邦最高裁判所が判断
IT関連
2021-04-09 07:49
フロントエンドエンジニアになりたい人の Webプログラミング入門
Udemy
2021-04-09 07:49
バイデン大統領が半導体・EVバッテリーなど4品目のサプライチェーン見直しを要求する大統領令に署名
ハードウェア
2021-02-26 14:55
コロナ禍はシェアサイクルに追い風? 事業者同士“相乗り”の動きも 交通シェアリング事情の今 (1/3 ページ)
くわしく
2021-02-27 12:53
「Cloudera Data Platform」が「Google Cloud」上で利用可能に
IT関連
2021-04-02 07:58
「Windows Terminal Preview 1.7」がリリース、JSONフラグメントへの対応やウィンドウ管理機能の改善など変更多数
IT関連
2021-03-03 20:25
Twitterのトランプ大統領アカウント閉鎖を独仏が批判
IT関連
2021-01-14 02:59
CryptoPie、新規事業開発担当者向けに課題解決のポイントを解説する動画を配信
IT関連
2021-03-23 17:57
蛾の触角をドローンに移植 匂いの発生源に向かって飛行する「Smellicopter」 :Innovative Tech
トップニュース
2021-03-21 21:54
Vue.js&Nuxt.js超入門
amazon
2021-03-21 21:54