大規模プロジェクトを開発する際の最大のボトルネックは何ですか?[閉まっている]


11

私の会社がMS Wordのレプリカを開発することだったとしましょう(例として)。開発プロセスのボトルネックは何でしょうか。無限の現金とMicrosoftのような組織があると仮定するとどうなりますか?言い換えれば、そのようなソフトウェアを迅速に開発する際の最も一般的な障害は何ですか?すべての仕様が整っており、組織が完全に機能していると仮定しましょう。そのため、製品の出荷準備が整うまでソフトウェア開発に専念します。-コードの作成-テストの作成-最終製品の手動テスト-設計の不備によるコードの再作成-コードの設計-経験豊富な開発者によるコードレビュー-GUIの設計-アルファに基づくGUIの再設計/ beta-user feedback-ユーザーからのフィードバックの処理-alpha / beta-userフィードバックを待っています

回答に参考文献を使用するか、主題に関する経験を述べてください。


4
優れた開発者がいますか?

@ThorbjørnRavn Andersenマイクロソフトと同じように良い面と悪い面が混在しているとしましょう。
デビッド

1
これは厳しく指定されておらず、答えることができません。

回答:


3

私の経験では、主要な「ボトルネック」は学習プロセスです。架空の会社が次のMicrosoft Wordの開発に着手するとき、知っておくべきことと実際に知っていることの間に大きなギャップがあります。ギャップのサイズは多くの要因に依存しますが、それはテクノロジーまたはドメインにある可能性があります。デザイン、ユーザーフィードバックなど、これらの問題のいくつかに触れました。MicrosoftWordは現在30年以上開発されているため、歴史、コード、ツール、そして人々の間には多くの知識があります。

それで、もし私がこれをやろうとしたら、技術と管理の両方の分野で経験のある最高の人を雇おうとするでしょう。この分野で入手可能な文献を試してみてください。また、できるだけ早く顧客からのフィードバックを得ようとします。最大の問題は、あなたが知らない重大な事柄であり、あなたのプロセスの非常に遅い段階で発見するかもしれません。

ちなみに、これはソフトウェアプロジェクトに固有のものではありません。何か新しいことをしようとしているすべての大規模プロジェクトに当てはまります。たとえば、ボーイングドリームライナーをご覧ください。これについて書かれた本はたくさんあります。Mythical Man Monthは1つです。


37

すべての仕様が整っており、組織が完全に機能していると仮定しましょう。

ソフトウェア開発プロセスの2つの最大の「ボトルネック」は存在しないと仮定しました(私の個人的な経験から)。


4
++はい。そして、あなたが仕様を持っているなら、それらは変わらないという仮定。専門の開発者は、どの変更がまだ要求されていないかを予測する方法と、それらの変更を処理する方法を知る必要があります。
マイクダンラベイ

私はこれらが大きな障害であることを知っていますが、それらについてはすでに知っていて明らかであるので、私はそれらについて尋ねません。
デビッド

8

あなたの仮説的で完璧な世界でさえ、私が見ることができるいくつかの問題があります:

私自身の観点から、おそらく最も重要なのは顧客との取引です。私自身の経験では、ビジネスは、開発中に頻繁にプロジェクトを変更しようとする顧客に対処する必要があります。場合によっては、お金を払わなくても済むように、バグ修正として変更要求を送信しようとしました。これは多くの官僚主義につながり、プロジェクトを遅らせたり、コードの急速なハッキングにつながり、さらに技術的な負債に発展する可能性があります。呼吸するのと同じくらい簡単にこれらの問題に対処するチームについて読んだり聞いたりしました。

2番目の問題は、適切なドメインモデルの欠如です。エリック・エバンスは、彼の著書であるDomain Driven Designでこれについて良い記事を提供しています。優れたドメインモデルの欠如は、バグの特定を試みるなど、グレンの回答で強調された問題の一部につながります。クリーンなドメインモデルがなければ、コードをウォークスルー/デバッグして問題を切り分けて修正するのに時間がかかります。優れたドメインモデルを使用すると、アプリケーションの保守と拡張をさらに進めた場合に、さらに簡単に生活とデバッグが容易になります。

上記の問題はすぐに問題を引き起こすことはありませんが、この製品を長期間維持する必要がある場合、あなたとあなたのチームを悩ませるために戻ってくるかもしれません。


これは素晴らしい答えだと思います!
デビッド

4

「組織は完璧に機能している」という意味がわかりませんが、素晴らしい組織であっても、あらゆる規模のプロジェクトの最大のボトルネックはコミュニケーションです。Mythical Man Monthは、プロジェクトチームが成長するにつれて、コミュニケーションの組み合わせが爆発し、エラーと情報の欠落をほぼ保証する方法を指摘しています。


2

私がこれまで仕事で見たものから、ボトルネックの大きな原因は、単にバグとそれらを作成した人為的エラーにあります。コードをデバッグし、問題の修正を見つけて、新しいソリューションを再テストするのにかかる時間を考えてください。その修正が別の微妙なバグを引き起こしたかどうかを想像してください。それは痛みの大きな流れになる可能性があるため、開発全体が遅くなります。


これは素晴らしい答えです。バグの中では、最大のボトルネックは何だと思いますか。これは、開発者にとって最も時間のかかる消費者について尋ねることとは異なります。バグの特定、修正の発見、再テストなど。
デビッド

1
再テストは問題ではありません。本当のボトルネックは、通常、私の意見ではバグを見つけることですが、適切な修正を見つけるには、同じ時間を要する場合があります。

2

Brandon Moretzが最良の答えを持っていると思います。ただし、大規模なプロジェクトから最初のバージョンを取得するのはそれほど難しくないことを付け加えておきます。私は個人的にそれをすることに失敗したことはありません。

私ができなかったのは、2番目、3番目などのバージョン、バグ修正、またはマイナーな機能拡張もタイムリーに配信できるように、最初のバージョンを作成することでした。


0

はい、上記のことに同意します。ソフトウェアモデルに従う必要があります。私の知る限り、主なものは次のとおりです。

1.時間管理2.チームの効率性とチーム管理3.チームでの調整と4.クライアントとのより良い理解

上記の4つがあれば、人格とソフトウェアの面で成功し、多くの改善を伴う新しい世界に移動できます。これらはクライアントとの良好な関係につながり、クライアントは私たちを考えずに注文を出します。


0

要件、設計、実装、展開などの潜在的な欠陥... ソフトウェアの開発が、すべての新しいバグが最新の変更によって引き起こされたと想像してください。

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