潜在的な利害関係者が多すぎるときに開発プロジェクトを開始する方法


15

私は大学で(唯一の)Webアプリケーション開発者として新しい仕事に就きました。

大学には多くの異種のシステムがありますが、どれもかなりひどくコーディングされたレガシーシステムです。ほとんどがPHPで構築されており、出席、試験結果、採点などを処理します。

私の最初の仕事は、このデータを大量に組み込むシステムを構築することです。現在、さまざまなデータベースに格納されており、それを引き出すためのフレンドリーなAPIはありません(既存のシステムは、データとビューを分離せずにPHPでコーディングされています)学生に関する牧歌的な情報を記録し、教師や上級スタッフに有用な方法で提示するための新しいプラットフォームを使用して、学生に関する問題に迅速に対応できるようにします。

最初の会議では18人が参加しました!多数派を代表する明確なリーダーや声はありませんでした。識別可能なクライアントはありません。会議は、学部長からのマイナーな機能に関する詳細な実装のアイデアから、Excelスプレッドシートをデータ入力に使用すべきかどうかについての議論へと変わりました。

想像できるように、私の頭は最後に回転していました。私は実際にはたくさんの良いアイデアを持っていましたが、それらを聞くことはできませんでした。マーケティング代理店の開発チームの一員になる前、これは私にとって非常に新しい役割です。プロジェクトマネージャー、クライアント、デザイナー、開発者という非常に明確な役割がありました。

経験豊富な開発者やマネージャーが、プロジェクトチームに似たものに同僚を誘い込む方法についての指針を教えてくれるかどうかを知りたいです。アジャイルは進むべき道ですか?すべての異なる声を処理する方法はありますか?いくつかのプロセスを非常に迅速に導入する必要があることは明らかですが、それが何であるかはわかりません。


8
あなたが唯一の開発者であれば、会議の他の17人は誰でしたか?
pdr

1
良い質問。学校の校長、教育スタッフのさまざまなメンバー(PEの先生もいた)、および頭字語の名前を持つ多くの人々。
マットハリソン

1
@MattHarrison:しかし、それらはあなたのWebアプリケーションと共通点はありますか?彼らは潜在的なユーザーですか?彼らはあなたが言及したレガシーシステムを維持していますか?それを明確にして、要件を要求する人と無視できる人を確実に把握する必要があります。
Doc Brown

1
@DocBrown申し訳ありませんが、おそらく私は少し不明瞭でした。それらはすべて、システムの将来のユーザーになります。このアプリケーションは大学間で行われ、3000人以上が使用します。ここで起こったことは、人々が人々を招待し、会議がサーカスになったと思います。私がやることは、より小さな利害関係者の関与の必要性を強調することです。
マットハリソン

5
@匿名のダウンボーター/クローザーにとって:これは一見ローカライズされているように見えるかもしれません。しかし、本当の質問は一般的な関心のある開発の質問だと思います:「潜在的な利害関係者が多すぎるときに開発プロジェクトを開始する方法」、そしてその種の質問はここではトピックです。
ドックブラウン

回答:


26

ここでは、現在の問題の解決策として「アジャイル開発プロセス」を期待していません。最初にすべきことは、ミッションをクリアすることです。つまり:

  • 自分の責任を明確にする
  • 他の利害関係者の責任が何であるかを明確にする
  • 各レガシーシステムの責任者を特定する
  • Webアプリケーションのクライアントが(まだ)存在しない場合は、将来それを使用する予定のクライアントを見つけ、そのクライアントをシステムの代表ユーザー(要件について話し合うことができる人)として組み込む許可を求めます。
  • 目標が異なるさまざまな利害関係者がいる場合は、要件を収集します(たとえば、1つの部屋で18人ではなく、1人ずつインタビューすることによって)。結果をリストに書き込みます。その後、優先順位付けを開始します。
  • リリース0.1のロードマップ(全体像)と小さな仕様を書き留め、上司と代表クライアントが正式に同意するようにします
  • 編集:GlenH7のコメントを参照

これにはしばらく時間がかかります。おそらく、プロジェクトのこの段階ではあまりコードを書かないでしょう。このような状況では、最初に「要件エンジニアリング」を行う必要があります。しかし、小さく始めて、大きく考えてください。最初のリリースを開発したら、何かを見せたり、利害関係者と再度要件を話し合ったりします。


素晴らしいアドバイス。ありがとうございました!はっきりさせてください。「責任を明確にする」と言うとき、それを明確にすることを意味しますか、それともそれらを取り除くように明確にしますか?申し訳ありませんが、私はイギリス人なので、おそらくアメリカ英語のものでしょう。
マットハリソン

1
@MattHarrison:私の編集がこれをより明確にすることを願っています-時々、いくつかの責任を取り除くことも良いアイデアかもしれません;
Doc Brown

4
素晴らしい答え。私が追加する唯一の項目は、リードまたはエグゼクティブの利害関係者を識別することです。この人は、機能の優先順位付けと範囲を決定する最終的な権限を持っています。そこに到達するにはさまざまな方法がありますが、プロジェクトに対する最終的な説明責任があります。はい、必要に応じてこのコメントを盗んで回答に追加してください。:

6

このプロジェクトを実際に動作させたい人を群れから分離します。

多くの政治のために、誰かがこの会議を出席者のリストと一緒にまとめました。出席者のリストは、招待しないと誰が最も怒るのかによってメンバーシップが決定されます。それは起こります。この目標は達成されましたが、開発者として、何も決定されていないことがわかりました。誰も何をすべきか割り当てられていません。運がよければ、彼らは次の会議のスケジュールを立てるか、毎月第3火曜日に繰り返し会議を設定します。

次は委員会、小委員会、タスクフォースの編成です。これはベッターですが、あなたはそれらすべてが等しく価値がないことに気付くでしょう。

最後に、このプロジェクトを本当に気にしている人を見つけます。誰が本当にそれを正しくするために時間をかけたいですか。願わくば、この人には、すでに長いToDoリストの別の項目を作成するだけでなく、これを行う時間を与えるスーパーバイザーがいることを願っています。できるだけ早くこれらの人々を見つけてください!上司の期待を管理し、合意された量のコミットメントを獲得できるようにします。

元のグループにいる多くの人々の前で何かを手に入れましょう。彼らはすべて賢い人や教育を受けた人かもしれませんが、多くの仕様を読むつもりはありません。彼らはあるものが好きで、他のものを憎み、もっと欲しがるでしょう。提案を書き留めても害はありませんが、そのパーティーにゲーム内のスキンでフォローアップしてもらいます。すべてをすることを約束しないでください。近い将来に何ができるかを述べてください。

定期的に5人以上の人とやり取りしなければならない場合は、マネージャーが、実際にそこに行きたくない人を何人か参加させたからです。


1
そのような状況の政治的側面を強調するために+1。
Doc Brown

4

観察とその「ニーズ」に基づいて既存のシステムを強化/改善すると考えられるアイデアのリストを考え出し、実際の目に見える利益を達成できる場所に集中できるようにします。そのリストに、あなたが役に立つと思う各アイデアと、非開発者からの顕著な「合理的な」提案を含めてください。

開発作業に「含めるべき」ものの機能リストを作成します。多分「スティッキースター」の形で各メンバーに「投票」権限を与え、各メンバーが重要だと思うものの隣にスターを置くことで、全体が実際に何を望んでいるかを見つけます。チェックに署名したり、最終的な発言権を持っている場合、より多くの星を獲得する人もいます。その後、あなたと他のすべての人が全体にとって重要なものを確認し、優先度に同意することを願っていますその後、ロードマップに変換します

1)。チームを調査する -各メンバーが重要/必要/最優先事項と考えるものを見つけます

2)。すぐに何かを手に入れましょう-すべての問題を一度に解決しようとせず、「最低限の」機能を入手して承認してから、ユーザーのフィードバックに基づいてまとめて前進させてください。

3)。彼らのフィードバックを使用し、開発プロセスを導くために、他のユーザーのフィードバックを

(ビルド、フィードバックの評価、ビルド、フィードバックの評価)すすぎと繰り返し。

また、「エフォートポイント」または推定時間を完了することを検討することもできます。これは優先順位付けにも役立ちます。


1
+1、それはあなたが車を動かした後に車を運転する方法です:
Doc Brown

1
このために+1を行いますが、実際に必要なことを行う「悪いシステム」に注意する必要があることをさらに明確にします。壊れていないものを修正しないように優先順位を付け、実際に目に見える利益を得ることができる場所に焦点を当てます。
ジョリスティマーマンズ

@MadKeithVが同意しました。「実際に目に見える利益を得ることができる場所に焦点を合わせて」、その声明を含めるためにコメントを更新しました。
ハンゾー

2

最初の課題は、このプロジェクトの必要性を特定することです。それらすべての人々との別の会議を開き、解決する必要のある問題を書き留めるよう依頼します。このプロジェクトが解決策となる多くの方法について彼らに話させないでください。本当に彼らにニーズ/問題を特定させる。

これを行う1つの方法は、それぞれに個別にそれらのニーズを付箋紙に記録するよう依頼することです-付箋ごとに1つのアイデア。次に、アフィニティダイアグラムを実行して、それらの異なるアイデアを特定のニーズにグループ化するのに役立ちます。最後に、最大のニーズを確認できるように、投票(マルチ投票)します。

アジャイルは、顧客価値が最も高い機能に最初に取り組むことを思い出させます。最も大きなニーズから始めてから、短時間で実際にできる最初の小さな部分ができるまで、そのアイテムを分割し続けます。


0

KISS-旅程を作成します。皆さん、来てくれて、レビューして、やってくれてありがとう。懸念事項を共有して対処し、会議後も滞在するように依頼すると、サイドトラッキングは遅くなります。最も幸せを維持するための論争がある場合は、投票によって決定を下します。システムに参加する動機は、その方法に対する個人の信念に直接関係しています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.