Jørn Larsen氏に聞く; チームワークとユーザ協力

Tirforkの共同設立者でCEOのJørn Larsen氏がGOTO Amsterdam 2015カンファレンスで,“Waste Is a Crime: Don’t Waste Your Team”と題したプレゼンテーションを行った。その中で氏は,意思決定と独自の判断による行動の自由がチームにとって必要な理由を説明した上で,多数のユーザが関与することの影響や,それを効果的に行う方法について語った。

InfoQはLarsen氏にインタビューして,ソフトウェア製品開発のための“Perfect World(パーフェクトワールド)”とは,多数のユーザの意向を調整するには,ソフトウェアチームにとってなぜ“Waste is a Crime(無駄は罪)”なのか,フローが重要なのはなぜか,フローを確立するために何ができるのか,などを聞いた。

InfoQ: 講演の中で,ソフトウェア製品開発に必要なのは“パーフェクトワールド”だ,という話題がありましたが,ここで言うワールドとは何か,それをパーフェクトにするにはどうすればよいか,説明して頂けますか。

Larsen: 私たちのビジネスは,ユーザのために,クールで革新的なソリューションを構築することです。 最初に“ワールド”を定義しましょう。それは次のようなものです。

  • 有能なプロダクトオーナ
  • 7人のクロスファンクショナルなチーム
  • 有能なスクラムマスタ
  • すべての関係者間の信頼関係
  • 2週間ごとに部分的に提供されるシステム
  • すべての機能にバグがないこと

ドメインの知識を持った有能なプロダクトオーナがいるならば,ユーザのために優れたソリューションを構築する作業もずっと簡単になります。また私たちは,チームのサイズが7人を越えないように,通常はもっと少人数になるようにしています。そうすることでチームのオーナシップが向上し,チームはより効率的で献身的になるからです。私たちは,全社員がスクラムマスタになれるようなトレーニングをしています。もちろん能力のレベルは同じではありません。それでも,チームの全員がスクラムマスタの知識を持っていれば,何をするにも有利です。さらに必要なのは,チームメンバとユーザとの信頼です。信頼は築き上げるものです。ユーザとの信頼関係が確立すれば,ユーザとチームは最小限の労力で,ユーザが必要とするものを構築できます。

InfoQ: 講演にもありましたが,最近のプロジェクトにはたくさんのユーザがいて,その調整に多額の資金が使われる傾向があります。このことは,プロジェクトにどのような影響を与えるのでしょう?

Larsen: 私が述べたかったのは,多くのプロジェクトが多数の利害関係者を抱えていて,すべての利害関係者の調整に多くのエネルギが費やされている,ということです。

InfoQ: 多くのユーザに対処しながら事を取りまとめていく上で,何かよい方法はありますか?

Larsen: 新たなソリューションの開発を始める上で,信頼できる人を見つけて連携するには,ユーザにもある程度の努力が必要だと思います。

プロジェクトによっては,ユーザの側に10人以上の利害関係者がいる場合もあります。彼らの望むものが最初から一致しているはずがありませんから,当然ながらこれは大きな課題です。

利害関係者の中で誰が本当の意思決定権を持っているのかを探し出すのも,ソリューションの一部です。実現可能なシステムがどのようなものになるか,どのように機能するのかを可視化することも必要です。

すべての関係者の声を聞いた上で,彼らとの議論で使用するため,最小限のプロトタイプを開発する方法を用いることがよくあります。このプロトタイプと,それをもとにした議論の結果を,新しいシステムの要件やルック・アンド・フィールに転用するのです。

私たちの側から取り得る方法は,これらを調定して,システムがどのように動作すべきかという,適切な提案を作り上げることです。システムのあるべき姿という点で,多くの利害関係者の視点をただひとつの選択肢にまとめる上では,ドメイン知識や外交的アプローチもツールになります。

InfoQ: “無駄は罪である(waste is a crime)”という言葉がありましたが,これについて詳しく説明してください。

Larsen: 長年にわたって多くのことを学ぶ中で,多くの無駄が生み出されてきました。

ここでは3つ挙げましょう。

  • 一度に多くのことを手掛け過ぎること。これが正しくないことは明らかなのですが,それでも私たちは,多くのことを同時に解決しようとする状況に陥ることが多過ぎます。
  • 最初からうまくやろうとすること。最初から適切な判断ができるようになるには,経験を積むことが必要です。従って,経験を積んだメンバが各チームにいることは重要です。
  • 多くの仕事をやり過ぎること。これが無駄を生み出す,最悪の源です。働き過ぎることでミスが多くなり,ミスの修正が難しくなります。誰でも知っていることなのに,今でもこれが多過ぎます。

InfoQ: ソフトウェア開発チームにとって,フローが重要である理由は何だと思われますか?

Larsen: フローの中にいることで,意欲や幸福感といったものを得られるからです。こういった精神状態は,極めて生産的なものです。フローこそ,私たちが求めているものなのです。

InfoQ: チームがフローを達成するにはこれを行うべきだという,何か提案はありますか?

Larsen: チームの中で十分なトレーニングと経験を積むことが大切です。 それから,新しいテクノロジを一度に数多く使用しないことです。チーム自身が,自分たちの行っていることを90%は理解していなくてはなりません。その上で,難しいテーマを加えたり,新たな技術を採用したりすることが必要です。また,チームに新たなタレントを加えること,メンバがチームに染まり過ぎる前にチームを離れさせることも重要です。