BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース 分散型チームで高品質なプロダクトを開発する

分散型チームで高品質なプロダクトを開発する

ブックマーク

原文(投稿日:2019/04/02)へのリンク

Intermediaでは、製品とサービスの品質を保証するために、すべての分散型チームが共通のテスト環境と運用準備(pre-production)環境を使用している。同社プロダクトマネージャのLilla Gorbachik氏は、European Women in Techでの講演で、完成度の高いテストプロセスを持つこと、リスクに取り組むこと、そして高品質プロダクトの側面から日々の意思決定を行うことが、高品質のプロダクトを開発する上で重要だ、と述べている。

Intermediaが直面する大きな課題は、急成長と新たな市場セグメントへの参入である。同社は急激な成長を遂げている、とGorbachik氏は言う。これはつまり、各チームのメンバがアジャイルで学習意欲を持っていることの現れだが、同社での仕事が楽しいという意味でもある。次の目標は常に、会社にとっても、すべての従業員にとってもチャレンジなのだ。同社は今、非常に競争の激しい市場、企業としてのIntermedisaにとって新たな市場に、新たなプロダクトをローンチしようとしている、と氏は説明した。

Intermediaでは、共通的なテスト環境と運用準備環境によって、テストプロセスの初期段階における問題の明確化を可能にしている。チームメンバ全員がひとつの環境を最新状態に保つことにより、各チームメンバがプロダクトが何であるかを知ることができる、とGorbachik氏は言う。一部分だけではなく、プロダクト全体を理解できるのだ。最終的にローンチするのはプロダクトであって、部品ではないからだ、と氏は主張する。

高品質のプロダクトを開発するための、もうひとつの側面はテストプロセスである。テスト計画と自動テスト、統合テスト、負荷テスト、ストレステストによる、成熟したテストプロセスが必要だ、と氏は言う。これにより、最終段階ではなく、可能な限り早い段階での問題の特定が可能になる。

高品質な製品プロダクトを開発するためには、品質を最優先として、この優先順位に基づいた意思決定をすることだ、と氏はアドバイスする。そのためには、成熟した品質プロセスを持ち、最高のソフトウェアテストエンジニアをチームに持つ必要がある、と氏は主張する。その上で、リスクを無視するのではなく、軽減するための取り組みを行うのだ。

高品質なプロダクトという観点から、日々の意思決定を行うべきだ、とGorbachik氏は提案する。例えば、自動テストが十分でなくてもプロダクトを早く提供するか、プロダクトの提供が遅れても自動テストを実施するかは、あなたの判断次第なのだ。高品質のプロダクトが主要目標であるならば、オプション2(提供は遅れるが自動テストを実施する)が取るべき選択肢だ、と氏は主張する。

Lilia Gorbachik氏は、European Women in Techで講演を行った。InfoQはこのイベントについて、Q&Aとサマリで取り上げている。さらに、Intermediaが分散開発チームにおいて、どのような方法で高品質のプロダクトを開発しているのかを、Gorbachik氏にインタビューした。

InfoQ: オーナシップが不明確である点について、どのように対処していますか?

Lilia Gorbachik: オーナのいないプロジェクトはありませんが、複雑なプロジェクトでは、複数のオーナが存在する場合があります。一般的なレシピはコミュニケーションです。また、企業としてのIntermediaには、命令やマイクロマネジメントといったものはありませんから、複雑なプロジェクトに関わっているのであれば、チームと一緒になって進むべき方向を決めなくてはならないのです。

あなたとあなたのチームは、次のような判断をします。

  • 各パートの責任者は誰か
  • 主なコミュニケーションポイントは誰か
  • プロジェクト全体のオーナになるのは誰か

このケースに銀の弾丸はありません。一般的な指針は、(グループではなく)チームを結成し、信頼を築くことです。それができれば、意思決定プロセスがより簡単になります。

InfoQ: さまざまな種類の情報を、どのように扱うのですか?

Gorbachik :私たちはIT企業ですから、情報の保存と共有にはツールを活用しています。中央ポータルを用意して、過去、現在、将来のプロジェクトに関する情報を格納しているのです。合わせて、テクノロジや専門知識、プロジェクトとプロダクト管理の観点から、多くのチームが考えを同じくできるように、さまざまなタイプのシンクアップ(sync-up)も用意しています。

開発チームは、ベストプラクティス、ワークショップやカンファレンスから得た新たなアイデア、社内実験の結果を共有しています。プロジェクト管理チームは、依存関係やリスク、スケジュールを監視しています。プロダクト管理チームはアイデアやフィードバックを共有し、ビジョンなどを一致させています。大規模な企業において、複雑なプロダクトを迅速かつ高品質で提供するためには、これが役立つのです。

InfoQ: 分散チーム間の効果的なコミュニケーションのためには、どのようなプラクティスを使っていますか?

Gorbachik: 最初に必要なのは、プロジェクトに関わるすべてのチームを示す、地図のようなものです。メンバのリストとプロジェクトにおける役割、および専門分野を示すマップです。質問したい時に、質問をするのに適した人を簡単に見つけることができることは、とても重要なのです。ですが、私たちはみな人間ですから、人間としてのコミュニケーションに勝るものはありません。チームが直接会うことができれば、それに越したことはないのです。たとえ短期的なグループであっても、強いつながりが生まれます。グループからチームを作ることができるのです。

それと同時に、プロジェクトのコミュニケーションポイントとなる人を決めておくことも重要です。これはつまり、不確実な状況でも、対立した状況であっても、連絡を取って支援やアドバイスを求めることのできる人がいる、ということです。私たちの場合は、プロジェクトマネージャがこの人です。プロジェクトマネージャはスーパーヒーローなのです。世界中の大陸を結び、さまざまな人々と仕事をすることに共感を持ち、常に気遣っています。

この記事に星をつける

おすすめ度
スタイル

BT