
アジャイル手法はソフトウェア開発の世界、ひいてはデータサイエンスの世界に確固たる地位を築いています。高度な数学とソフトウェア開発を融合させ、分析的なソリューションを導き出すこの分野では、データサイエンティストはアジャイルプロジェクトにおけるステークホルダー管理という厳しい現実に直面することがしばしばあります。
アジャイルプロジェクトにはステークホルダーにとって多くのメリットがありますが、そのデメリットへの備えは未だ整っていません。そして、ステークホルダーの不安の多くは、マネジメントの不備に起因しています。アジャイルプロジェクトを運営するための8つのヒントをご紹介します。
1: スポンサーを確保する
利害関係者のリーダーシップと経営陣からの支援を確保せずにアジャイル プロジェクトを開始しないでください。
アジャイルアプローチには、計画不足、ドキュメント不足、時間的コミットメントの増加など、ステークホルダーから激しい反発を招く側面が数多く存在し、その行動の多くはマネージャーによって煽られています。ITマネージャーはアジャイルのニュアンスに精通しているため、そのニュアンスに対して比較的寛容ですが、IT以外のマネージャーはそうではありません。そのため、ステークホルダーが上司に報告する際には、彼らも同意していなければ意味がありません。
2: セットアップに十分な時間をかける
アジャイルプロジェクトでは、速く進めるためにはゆっくり進めなければなりません。これはある意味矛盾しているようにも思えますが、紛れもなく真実です。関係者に何が起こるかを十分に理解させなければ、実行時に多くの問題が発生するでしょう。アジャイルプロジェクトの実行計画を立てる際には、関係者への意識向上と教育に十分な時間を確保してください。
サン・マイクロシステムズで働いていた頃、実行チームを立ち上げる前に、関係者と数週間かけてアジャイルの全体像や期待される効果について話し合いました。これにより、開発者がテストハーネスとソフトウェア変更構成管理(SCCM)を構築する時間ができただけでなく、私自身も関係者にアジャイル実行を成功させるための準備を十分に行うことができました。
3: 開発者の権利を守る
すべてのデータサイエンティストをはじめとする開発者の権利は、厳重に守られなければなりません。この考え方は、開発者の権利章典が文書化され、神聖視されていたエクストリームプログラミングの時代から引き継がれています。これらの権利には、ステークホルダーとオープンかつ即時にコミュニケーションをとる権利、所要期間の見積もりを更新し、それを管理する権利、そして日々のスケジュールを管理する権利などが含まれます。
注意を怠ると、これらの権利は定期的に侵害されてしまいます。ステークホルダーは開発者を細かく管理したり、優先事項のために長期間不在になったりするのです。
4: 顧客の権利を守る
ステークホルダーにも権利があり、同様に厳重に保護されるべきです。これらの権利には、優先するユーザーストーリーを選択する権利、開発期間全体から最大限の価値を引き出す権利、そしていつでもプロジェクトを中止して、開始時よりも優れた稼働システムを残す権利などが含まれます。
こうした権利が侵害されるのをしょっちゅう目にしています。開発者は期間見積もりを甘く見て、ステークホルダーを説得し、機能的な価値のないアーキテクチャや基盤の構築を強要します。誰もが慣れ親しんでいるため、こうした行為を免れるのは簡単です。アジャイルは物語を変えるので、それを守らなければなりません。
5: 仕事を与える
ステークホルダーに現状を把握してもらう最良の方法は、開発の現場に実際に立ち会わせ、実際の任務を任せることです。多くの場合、ステークホルダーは要件定義を行い、データサイエンティストはソリューションを構築します。しかし、要件定義が完了すると、ステークホルダーは仕事がなくなるため、姿を消す傾向があります。これは問題です。
ステークホルダーが一旦ネットワークから離れると、日々発生する問題との接点を失ってしまいます。期待が現実から乖離するにつれ、誤った期待が満たされないことで彼らのフラストレーションは増大します。これを避ける最善の方法は、彼らに解決策に貢献する実際の仕事を与え、常に現状を把握できるようにすることです。
6: スタンドアップミーティングに必ず出席する
毎日スタンドアップミーティングを開催し、ステークホルダーの参加を必須とすべきです。データサイエンティストのように参加できないため、ステークホルダーはこれらのミーティングの価値を理解しないかもしれません。また、他の優先事項に追われることも当然あります。しかし、それは問題ではありません。彼らには参加する責任があり、彼らを見逃すことはできません。これは、先ほどお話ししたような誤った期待を抱かせないように、ステークホルダーを常に意識させておくためのもう一つの方法です。
7: 異常な慣行を防御する準備をする
ペアプログラミング、軽量ドキュメント、範囲に対する確固としたコミットメントがないなどの通常とは異なるアジャイル動作を防御する準備を常に整えておかなければなりません。
残念ながら、アジャイル開発についてステークホルダーをどれだけしっかりと準備させても、うまくいかない行動は存在します。ペアプログラミングはその好例です。ステークホルダーにペアプログラミングとは何か、なぜ行うのかを3ヶ月かけて説明しても、彼らは頷いて従ってくれるでしょう。ところが、開発者が実際に実践し始めると、すべてが狂い始めます。私はこのパターンを数え切れないほど経験してきました。
8: 誠実さと信頼の文化を育む
何よりもまず、信頼の文化が不可欠です。信頼がなければ、アジャイルはすぐに機能不全に陥ります。信頼の欠如は、開発者が時間を無駄にし、ステークホルダーが機能の完成日について開発者と交渉する原因となります。
信頼を築くには、全員が正直でなければなりません。正直であることは時に難しいものですが、アジャイル環境では不可欠です。データサイエンティストの作業は予定よりもずっと早く完了する可能性があります。そのことをステークホルダーに開示することで、イテレーションでより多くの価値を提供できるようになります。ステークホルダーはプロジェクトが中止になることを知っているかもしれません。開発チームをギリギリまで引き延ばし、できるだけ多くの作業を引き出そうとするのはやめましょう。
一度信頼が損なわれると、アジャイル プロジェクトが成功する望みはありません。
まとめ
これらのヒントは、アジャイル開発がマイクロマネジメント、交渉、そして不意打ちといった形で後々あなたを悩ませることを防ぐはずです。8つすべてを確実に実践してください。さもないと、仕事を失う可能性があります。