web-dev-qa-db-ja.com

ビジネス要件を技術仕様に凝縮

私は大規模な小売業者のIT部門で働いており、ウェブサイトの主要システムを再設計するというビジネスとのプロジェクトを開始したばかりです。

ビジネスユーザーは、システムを更新して改善したいと考えています。彼らはそれがどのように機能するかについて非常に高レベルの原則をいくつか持っていますが、それはそれについてです。

経営陣は、利用可能なリソースがあるため、開発チームが「何かを行う」ことを開始することを望んでいます。

開発チームとしての時間を過ごすための最良の方法を考えるのに苦労しています。ビジネスユーザーに腰を下ろすことで、非常に高レベルの原則や、それが望まないことを実現することはできませんでしたが、要件への取り組みについて検討することは何もありません。

機能の具体的な実装を漠然としたビジネス要件にリンクし、技術的な専門知識の欠如とビジネスからの賛同を得て、ビジネスが結果に満足できるようにするにはどうすればよいですか?

8
Sutty1000

私の経験から、開発に1分も費やすことはありませんでした。ほんの少しのコードでもありません。この段階では、顧客が何を望んでいるのかわからないため、consultingを適切に実行することが非常に重要です。それはあなたにとっても彼らにとっても重要です。

各プロジェクトの背後には、顧客のビジネスに関連するneed(場合によっては明確でない)があります。したがって、needを明確にするために、最初にできるだけビジネスを学ぶ必要があります。その後、お客様を機能的なソリューションに導くことができます。

学習中、needswhishesを区別するときに注意してください。顧客が必要とするものと同じである場合とそうでない場合がある顧客のニーズは何ですか?

分析中に、お客様が決定を下さない場合は、お客様ご自身で判断してください。 コンサルタントとしてアドバイスおよびリードにプロセスを提供するのがあなたの仕事です。

@Ewanが指摘したように、実行する選択肢がある場合、顧客が決定を行うのは簡単です。いくつかの選択肢(長所/短所を公開)を提供することで、意思決定が容易になります。プロトタイプをモックアップすることは、プロトタイプについて考えていることの概要を示すのに良い方法です。顧客は、物事がどうなるかについての最初の連絡先(および感情)を持っています。この「創造性」の演習を行うと、プロジェクトの光と影が問題になる前にすばやく確認できます。

できるだけ多くのフィードバックを得るようにしてくださいエンドユーザーから私たちが「顧客」と呼んでいる人は、システムを使用する人ではありません。このような状況では、実際のエンドユーザーからより良いフィードバックが得られます。彼らはあなたが彼らが必要とするものについての貴重なヒントを提供します。質問に対する正しい回答を提供できる人物を明確にすると、顧客の期待に応えることができます。

一連の適切な要件を収集したら、それらをプロトタイプに入れます。この段階では、SCRUMのようなアジャイル手法が適切に機能します。プロトタイプに対してスプリントを実行します。

プロトタイプはスプリントに沿って破棄/変更されます。また、お客様に最も適したお客様を「案内」することもできます。 ;-)。双方にとって有利な取引を探しています。

十分に定義されているおよび測定可能の要件が承認される前に、マネージャが開発を開始しないようにしています。それ以外の場合、未定義の要件から始めると、ひどく失敗する運命にあります。誰かが「カオス」を実装することを決めたので、多くのお金と時間が無駄になるでしょう(それを回復する保証はありません)。私たちの愛され混乱している顧客が今生きているカオスと不確実性。

従業員が仕事をしているが(合理的に)あなたに説明する方法ができない会社を見るのは衝撃的です。何人のプロジェクトマネージャーがこの問題を気にしていないかを見るのも衝撃的です。彼らは「全員に「はい」または「始めましょう。何が起こるか見てみましょう」と言っています。

最後に、@ Ewanは再び最も重要なポイントを指摘しました。

お客様に、必要なものを承認して実装してもらいます。

プロジェクトが完了したと言うために満たす必要のある要件と条件)を明確に定義することを忘れないでください。合格条件

理由を言う必要はありません。

4
Laiv

に沿って2つまたは3つの解決策を提案する文書を書いてください:

「「高水準のプリンシパルx」を達成するために、「技術ソリューションが行うこと」を行う「技術ソリューションy」を提案します。」

お客様に、必要なものを承認して実装してもらいます。

7
Ewan

ムード音楽を正確に判断できなければアドバイスするのは難しい。

どちらか:

ビジネスユーザーと管理者は仕事をしておらず、開発者が対処するための道を進んでいます(問題が発生した場合に開発者をキックすることができます)。

または:

彼らは何を望んでいるのか本当にわからないので、開発チームがガイドする必要があります。


当然、2番目のシナリオの方が適しています。いくつかのデザインのワイヤーフレームを作成し、それを土の中に入れて、計画を立てることができます。

最初のシナリオを処理する場合は、プロジェクトを何度も殺すことはやりがいのある要件であり、「完了」の概念がないことは絶対に明らかです。プロジェクトは確実に完了します最終的にしかし、それまでにいくらのお金がトーチングされますか?

4
Robbie Dee

ある時点で、開発者はアプリケーションを開発し、後でそれが要件を満たしているかどうかを確認できる一連の要件が必要になります。次に、要件に合ったアプリケーションを作成します。

そして、要件を満たすアプリケーションがビジネスにメリットをもたらすような要件を持つことは、本当に、本当に良いアイデアです:-)

誰かがこれらの要件を作成する必要があります。ビジネスの所有者はできません。開発者は望んでいない。開発者は、ビジネスの所有者に要件を作成させようとしましたが、成功しませんでした。それでも、誰かがこれらの要件を作成する必要があります。

あなたは会社で誰かを見つけ、それを彼の仕事にすることができます。開発者が最初に行ったようではなく、要件を要求しようとして失敗しましたが、人を選んでフルタイムの仕事にしました。開発チームが要件を作成できると感じた場合は、それを会社に提案し、ジョブとその権限を割り当てます。

どちらにしても、要件を作成するのは誰かの仕事です。また、開発チームが要件を作成する場合、要件は会社が取得するものであり、それが気に入らない場合は要件が変更されていることを確認する必要があることを明確にする必要があります。開発作業が始まる前にこれを行うのが最善です。

そして、あなたは人々に選択を与える必要はありません。あなたは彼らに、要件にあるものは何が起こるかであると伝えることができ、彼らはそれを承認するか、不平を言って要件を変更することができます。

0
gnasher729

プロトタイプが洗練されすぎてクライアントを混乱させると思われる場合は、スケッチしてください。クライアントにプロンプ​​トを表示するのに役立つと思われる場合は、複数のバージョンを使用できます。

これは、捨てるコードの束を作成せずに何かをする必要があるという経営陣のニーズを満たします(あなたにとって何が良いかを知っている場合)。

また、クライアントは、このタイプのものに支払う必要があることを知る必要があります。そうでなければ、彼らをプロジェクトに移す動機はほとんどありません。多くの人が物事を遅くするだけの役に立たない提案を投入することなく、プロジェクトと意思決定に本当に関与している人を絞り込むことができれば、会議にメリットがあります。

0
JeffO

思考実験をしてみましょう。一から家を建てたいと思っていて、建設について何も知らない場合を想像してみてください。 ビルダーに要件をどのように説明しますか?たとえ可能だとしても、「私はたくさんのことを確認したいのですが、クローゼットスペース」と「モダンキッチンが欲しい」。明らかに、すべての詳細を知ることは期待できません。計画を描くアーキテクトは大量の質問をし、業界のベストプラクティスに従って自分でいくつかの決定を下します。

これはあなたがいる場所です:誰かが何かが欲しいと決めましたが、彼らはあなたが何を望んでいるかを正確に説明するのに苦労しています。それを理解するために彼らと協力するのはあなたの仕事です。

利用可能なリソースがあり、高度な原則がある場合は、それらの原則をユーザーストーリーに分解し始めます。そこから、実行するタスクのリストを作成できます。途中で提案を行いますが、最初に更新のビジネスニーズを完全に理解していることを確認してください。パフォーマンスは悪いですか?それは安全ですか?デザインが古くなっていますか?エンドユーザーが認識していない詳細の多くを処理するのはあなた次第です。行った選択とその理由を文書化し、ビジネスユーザー(または該当する人)にサインオフしてもらいます。今、あなたは要件を持っています!

開発者は常にコーディングしている必要はありません。時間のかなりの部分も計画している必要があります。開発者が持つことができる最も重要なソフトスキルの一部は、漠然とした「ビジネスアイデア」を取り、それらを実用的なプロジェクトに変換し、ビジネスニーズに合った製品を出力するこのプロセスから生まれます。

プロトタイプを作成することは、より良い要件につながる具体的なフィードバックを得るための素晴らしいアイデアです。軽くてシンプルにしてください:コードは1行も書かなくても、動作するモックアップを作成できるツールがあります(ここでは one )。

また、基本的なプロトタイプは、ビジネスユーザーによって誤って解釈されることがよくあります...

もちろん可能です。だからこそ、コミュニケーションは非常に重要です。何度も試作品であることを説明します。何であれ、その上に「ドラフト」と書かれた透かしをたたく。ビジネスユーザー、特にハイテクに精通していないユーザーは、特に何も見当たらない場合は、単に要件を与えるだけで信じられないほどの困難に直面するでしょう。彼らが一緒にプレイできるプロトタイプをすばやく作成できれば、見たときに「私はこれよりも好きだ」と言うのが簡単になります。

0
DrewJordan