導入事例

Hamee株式会社 様 事例

Hamee株式会社は、創業時期より運営してきた自社Eコマースサイトの知見を活かし、国内No.1シェアであるECバックヤードプラットフォーム「ネクストエンジン」の開発・提供を行っています。国内外において活発な成長を続けるEC業界において、“EC運営の自動化”を目指し進化を続ける成長企業です。
Hamee株式会社 / ネクストエンジン

プロジェクト概要

提供開始から8年が経過した同社の主力商品「ネクストエンジン」の品質改善のため、まずは日本側の既存チーム内にて全面的なユニットテスト導入を開始しました。しかしサービス自体がすでに膨大な規模であること、また数多くの既存顧客が日々利用している状況から、あらためて中長期的視野にもとづいて専門の品質向上プロジェクトを立ち上げることになりました。しかし社内で同プロジェクトにアサイン可能なエンジニアリソースが十分でなく、ムロドーのラボ型開発を導入することに決定しました。

プロジェクト名 既存システムへのユニットテスト導入開発
プロジェクト開始時期 2016年3月~
チーム人員 3名→6名
開発方式 スクラム型アジャイル開発

ベトナムラボチームの体制

本プロジェクトにおいては、日本のお客様側にプロジェクトマネージャー(PM)を置き、PMの指示に従ってベトナムラボチームが開発を行っていくスタイルです。PHPエンジニアはムロドー社内研修にてあらかじめユニットテストについて学び、さらに開発を進めていく中で専門性を高めていきます。

  • PHPエンジニア 6名

チーム内の役割分担

お客様側のPM中心に、二週間のスプリントごとのタスクに分解し、PHPエンジニアが質疑応答を通じて実装を行います。

PHPエンジニア
スプリントごとの対象クラスのリストアップ 作業量見積もり コーディング
スプリント振り返りミーティングの開催 知識・情報を共有

開発プロセス

開発プロセスはその多くがルーティン化されており、習熟と慣れに従ってスプリント内でこなせるボリューム増大を目指す運用となっています。


開発計画単位:2週間
  • 計画 スプリント計画

日本のお客様側にて、既存クラスから作業対象クラスをリストアップします。ここで各テストで達成すべきカバレッジのレベル(C0~C4)も決定します。

  • 計画 作業見積もり→承認

リストアップした対象クラスに対して、着手する範囲と作業時間を見積もります。ここで当該スプリントにおけるゴールが定まります。

  • 準備 プログラムリーディング

対象となる部分のコードを調査・解析し、テスト記述の方向性を定めます。

  • 準備 質疑応答

必要に応じて、日本のお客様側と質疑応答を重ねます。ユニットテストの実装方法の相談や、既存処理のリファクタリングの要否について議論します。

  • 開発 実装作業

ユニットテストを実装します。

  • 開発 リファクタリング

ユニットテストと相性の悪いコードに対しては、お客様側で都度リファクタリングを行います。

  • QA VN側コードレビュー

ベトナムチームにて、都度すべてのコードレビューを行います。

  • QA JP側コードレビュー

お客様にて、検収のためのコードレビューを行います。CIを導入しているため、ユニットテストが通過しているか否か、C0でのカバレッジの確認は自動で行われます。C1以上のカバレッジを指示した場合、テストコードの網羅性についても確認します

  • 終了 振り返りミーティング

お客様とベトナムチームでビデオ会議を行い、改善点について議論・共有します。