web-dev-qa-db-ja.com

何が最初に来るのか、プロジェクト計画と要件分析?

最初に、私はプロジェクト計画をSDLCの最初のフェーズとする記事を読んだことを意味します。

プロジェクトの要件を知らない場合、どのようにそれについて計画できますか?

私には意味がありません。

要件がわからないプロジェクトを計画している場合、それは単に愚かです!

1
Hassaan Raza

両方とも。

プロジェクトで1回だけ実行し、その後は決して実行しないステップとしての「計画」のアイデアは、かなり非現実的です。計画は、要件分析の前に(まさにこのステップのために)行うことです。その後、計画を立てます。プロジェクトの特定のマイルストーンに到達したときはいつでも、場合によってはマイルストーン間で再度実行します。

SDLCのモデルを文字どおりに解釈しないでください。これらはmodelsであり、現実ではなく現実の近似にすぎません。

4
Doc Brown

要件にはさまざまな形式があります。プロジェクトの要件が何であるかに関係なく、会社には、プロジェクトのニーズが邪魔されたからといって変化しない時間と人員配置に関する要件がある場合があります。

それは不合理に見えるかもしれませんが、会社のニーズを満たさないままにすることは、会社なしであなたを残すことができます。

ここでのダークマジックの多くは、両方の種類の要件を一致させる方法を見つけることです。それはプロジェクトが実際に何であるかを再定義することができます。

1
candied_orange

要件は、ソフトウェアの有効期間中にいつでも表示、変更、または消失する可能性があります。


ソフトウェアの寿命がソフトウェア開発プロジェクトの寿命と同じではないことは注目に値します。

ソフトウェアの寿命は概念として始まります。アイデアは誰かの頭です。 このアイデアは、問題または必要性に由来する場合とそうでない場合があります。そして、その人の頭の中にいる間、それは最初の要件を取得しています。

ソフトウェアの寿命は、(誰もそれを使用しなくなって)忘れられたときに終了します。ソフトウェアが忘れられると、それ以上の要件はないと確信できます。ソフトウェアには、その時点までに新しい要件がある場合とない場合があります。ソフトウェアが使用されたが、ユーザーが先に進んだ場合、それはソフトウェアが要件に適合しなくなったためです。


また、ソフトウェアの寿命がシステムの寿命と同じではないことにも注意してください。システムにソフトウェアコンポーネントが含まれていない場合があります。多くの場合があります。そしてはい、それは1つだけを含むかもしれません。実際、関連するソフトウェアコンポーネントの数は、システムの寿命の間に変化する可能性があります。

一部のソフトウェアは複数のシステムで使用され、それらを超えてその寿命を継続します。一部のシステムは、おそらく必要に応じてそれらを交換することにより、そのソフトウェアコンポーネントよりも長く存続します。

ハードウェアコンポーネント、およびピープルウェアコンポーネント


ソフトウェアが必要であると判断した企業(問題がある可能性が高いため)は、サードパーティソフトウェアのライセンスを取得するのか、それとも開発プロジェクトを開始するのか(ここではアウトソーシングを担当します)を把握する必要があります。サードパーティのソフトウェアが彼らの望むものに適合しているかどうかを判断できるようにするには、粗雑な要件が必要です(たとえば、在庫管理ソフトウェア、Windowsで実行する必要があり、イントラネット経由でアクセスできる必要があります)。そして、ソフトウェアをチェックする過程で、これはリストの要件が増えるかもしれません。

次に、ソフトウェア開発プロジェクトを青信号で表示します。彼らはすでにいくつかの大まかな要件を持っています。 見積もりを求めることさえあるかもしれませんが、その道を進まないでください。さもないと私は暴言を言います。

したがって、プロジェクトが始まる前に、ソフトウェアはアイデアとして存在し、すでに要件があります。次に、スコープの管理と計画が始まります。作業するいくつかの機能が選択され、リソースがアクティビティに割り当てられます...要件エンジニアリングを含みます。プロジェクトの終わりに(うまくいけば)ソフトウェアのバージョンが(どんな方法論によってでも)作成されました。

要件は、計画前、計画中、計画後を含め、いつでも表示、変更、または消失する可能性があります。それらを収集し、文書化し、分析することは、要件エンジニアリングアクティビティ(フェーズかどうかに関係なく)の仕事です。

まあ、それは ありそうもない ソフトウェアの最初のバージョンが完璧であることは不可能です。可能性が高いのは、新しいバージョンが作成される新しいプロジェクトがあることです。その間、開発者はソフトウェアに組み込みたいアイデアをいくつか持っていて、ユーザーはいくつかの提案とバグレポートも思いつきました...それらはより多くの要件です。

メンテナンスは、ソフトウェアのライフフェーズの1つです。プロジェクトのフェーズではありません。ソフトウェアを保守するプロジェクトを行います。 「変更管理」も参照してください。

したがって、第2バージョンのプロジェクトにはさらに多くの要件があります。私たちはそれに基づいて計画を立て、次に、より多くの要件エンジニアリング(そのフェーズなどを含む、あらゆる方法論による他のアクティビティと共に)を行い、その過程でソフトウェアの新しいバージョンを作成します。

その後のバージョンごとに繰り返します。 またはフォーク、またはその他

それで...計画する前に要件はありましたか?はい。要件エンジニアリングの前に計画を立てましたか?はい。

1
Theraot

鶏が卵に会う、卵が鶏に会う

要件を理解せずに開発した計画は、本質的に貧弱な計画になります。ユニコーンがはしゃぎ、虹が終わり、何も場違いなものではない、その壮大で十分に開発された計画であるという希望はありません。

しかし、それはパンツを打ち負かす計画はありません。計画がないので、次の行動をどのように選ぶのですか?

コツは、愚かな計画を立てることを避けることです。

  • stupid計画は、特に新しい情報が発見されたとき(新しい要件、または理解の大きな穴に気付いたときなど)、それ自体を修正することを拒否する計画です。 。
  • stupid計画は、すべてが既知であり、不確実性、問題、隠されたトラップがないことを装って意図的に盲目的に行われます。それは世界を権威ある形で定義しようとしています。

これが意味することは、要件が分析され、目標が特定され、問題が特定されると、非愚かな計画が進化するということです。愚かではない計画は、不確実なところ、未知のところがあることを認め、結果を約束できないほど控えめであり、合理的にサポートすることはできません(そして、約束を破らなければならないことが判明した場合は、すべての当事者に破ることを通知します) )。

0
Kain0_0