2009-04-22 7 views
3

最終製品/出力に大きな影響を与えるソフトウェア開発の難しい部分は何ですか?そしてどうやって?ソフトウェア開発の難しい部分は何ですか?

私は、より良いアプリケーションを開発するために「より多くの」技術に焦点を当てる必要があると思っています。

答えて

20

ソフトウェア開発の難しい部分は、お客様とチームメンバー、ビジネスパートナー、顧客、およびその他のステークホルダーとのコミュニケーションです。最終的な出力に最も大きな影響を与えます。これらは、書面および口頭の要件、ベストプラクティスのコミュニケーションなどの形を取るでしょう。

この権利を取得して、いくつかの才能を持つ開発者を抱えている場合、技術部はそれ自体を世話します。

+0

+1:私は全く同意します。コミュニケーションが最も難しいだけでなく、ほとんどの場合、最も重要な部分です。 – Michael

4

私の経験上、私は古い言葉に従うようにしています。「2回測定して、1度カットしてください。要件の収集と設計に費やす時間が長くなればなるほど、実際にコードを実装してテストすることがより素早くきれいになります。

他の多くの回答が合意しているように、コミュニケーションが最も重要であり、あなたが仕事をしている人によっては、挑戦することも不可能なこともあります。要件はほとんど決まっていません。あなたの上司や顧客があなたのやりたいことを常に変えたり、プロジェクトの上にもっと多くの機能を積み重ねていくと、設計が難しくなります。 実際にソフトウェア開発は、無能な経営者やプロジェクトの毎週の要件を変更するボスを使用すると、ソフトウェア開発の最も困難な部分を見つけることです。

3

通信、通信および通信。私が参加しているプロジェクトでは、成功(またはその欠如)はほとんどの場合プログラマーにとって(まったく有能な開発者のチームを持つことを除いて)、顧客と話す能力にのみ関連しています。

8

最も難しい部分は、人間を扱っています。神は私を憎む!

+1

+1 - この回答は私に笑顔をもたらしました。 – duffymo

3

計画。特に、毎回異なるタイプのプロジェクトに取り組むのに十分な運がよければ、特にそうです。さらに別のWebコミュニティを作成する計画はあまり難しくありません。そのようなプロジェクトは、ソフトウェア開発ではなく、プログラミング言語を使用している場合でも、より多くの設定であると言えるでしょう。しかし、まったく新しいプロジェクトの計画は、おそらくいくつかの新しい技術を必要としています。私はいつも一番難しい部分を見つけました。

1

大企業で開発している場合、エンタープライズアーキテクトが計画した戦略的方向性とプロジェクトマネージャーの戦術的懸念のバランスを取る必要があります。

2

最初の難しい部分は、通信です。伝統的な規範的な開発モデルを使用している場合は、要件と仕様書が正しいことを確認する必要があります。正しいことは、開発チームと顧客の両方が合意に達していることを意味します(「しかし、私は機能Yが必要でした!」)。より機敏なアプローチ(正式な要件文書を実際に作成しない場合)を使用する場合は、顧客およびステークホルダー(マーケティング、管理者など)と常に連絡を取り合わなければなりません。アジャイルは、絶え間なく常にコミュニケーションを取ることによって、巨大な要件文書を持たないことで逃げることができます。

通信した後、私は次の難しい部分がテストだと思います。誰もテストを書くのを好きではありません。それは退屈だ。その繰り返し。しかし、プロジェクトでコードが追加または変更されるたびに自動回帰テストを行うことができます。また、優れた単体テストはチームの他の開発者にとって素晴らしいAPIドキュメントとして役立ちます(メソッドXはどのように動作しますか?

テストの後、私はスケジュールが次のだと思います。あなたがプロジェクトマネージャーでない限り、これに晒されていないかもしれませんが、十分な揺れの部屋を持っている良い開発スケジュールを思い付いています(遅刻などがある場合)。

7

私は恥知らずにスティーブ・マッコネルの行をCode Completeから騙します。ソフトウェア開発の難しさは、複雑さです。

配信機能とスケジュールとコード品質の管理。

適切な機能の作成と機能の取得を管理すること。

要件を管理し、顧客とのコミュニケーションを十分に行い、構築していることが実際に顧客が望んでいることを確信します。

チームとコンポーネント間の調整を管理する。多くの部品を持つシステムの統合を管理します。それぞれの部品は異なる手で構築され、システムの他の部品に依存します。

チームと個人のダイナミクスを管理する。

開発の速度と開発の品質と予測可能性とのバランスを取るために、適切な量の監視、追跡、説明責任、計画、分析を管理する。

+0

これは非常に一般的な回答ですが、私は同意します。これは難しいことです:) –

関連する問題