4

あなたがプロジェクトに100日間取り組んでいるとしましょう。プロセスの各フェーズ(要件分析、仕様など)には何日かかりますか?

また、ライティングテスト、バックエンドコーディング、フロントエンドコーディング、ビジュアルデザイン、データベースデザインなど、すべてのフェーズでの特定のアクティビティの比率にも関心があります。

どうもありがとう!

編集:

明確にするために、私はWebサイトのデザインについて話しているのではありません。カスタムビジネスWebアプリケーションなど、より「深刻な」Web開発に興味があります。すべてが各プロジェクトの詳細に依存することは知っていますが、比率はプロジェクト間でほぼ同じである可能性があると思います。

EDIT2:

ヘレンが正しく述べたように、プロジェクトは非常に異なる可能性があり、チームも異なる可能性があるため、この質問に答えるのは非常に困難です。具体的には、4人の開発者のチームがあるとします。2人はバックエンド作業用、1人はフロントエンドプログラミング用、もう1人はデザインとhtml / cssコーディング用です(チームの1人のメンバーがプロジェクトとして機能します)マネージャー)そしてあなたはStackOverflow.comサイトを開発することになっています。

4

8 に答える 8

8

私たちはアジャイル スクラム プロジェクトを実行しているため、通常、これらすべてのアクティビティを並行して実行しています。そのため、正確な質問にはお答えできませんが、効果的であることが判明した比率についていくつかのアイデアをお伝えできます。

クライアント側プログラマー (html/css) 1 名、オンチーム テスター 1 名、インタラクション デザイナー (顧客と協力してワイヤーフレームを設計する) 1 名が、4 ~ 5 名の開発者にサービスを提供できます。このようなチームは通常、ほとんどのアプリケーションで 50% のグラフィック デザイナーを必要としますが、マイレージはそれによって異なる場合があります。次に、プロジェクト マネージャーがいて、コア開発チームの一員ではない、あらゆる種類の利害関係者がいます。

開発チームには通常、クライアント側の開発に精通し、バックエンドにも同程度の数の開発者がいます。これらの人員配置は、リソースの使用状況も反映する傾向があります;) テストは開発の不可欠な部分であり、チーム内のテスターの努力でもあります。

もちろん、地域の状況は異なる場合がありますが、これらの数値は、いくつかのアイデアを提供するためのものです.

于 2009-01-24T13:11:11.000 に答える
4
  • ステップ1:拒否
  • ステップ2:怒り
  • ステップ3:受け入れ

各ステップにかかる時間は、関係するすべてのチームメンバーによって異なります。

于 2009-01-27T20:50:58.300 に答える
3

「プロジェクト次第」ということから始めた皆さんの意見に賛成です。

一方で、従うことができる一貫したプロセスがあると思います。プロジェクトに一致するように努力のパーセンテージを微調整するだけです:

通常、私は次の基本原則に従います。

  1. 発見-システムの特徴/機能を決定します。最も簡単な(そして最悪の)ことは、求められていることを受け入れてそれを実行することです。
    たとえば、「stackoverflow.comの構築」はかなり広範なリクエストであり、実際には間違ったリクエストです。プロジェクトは「プログラマーがコラボレーションできるオンラインの場所が必要」から始める必要があります。解決しようとしている1つのことに基づいて、質問への回答、質問、評価など、必要なすべての詳細にドリルダウンできます。これが最も重要なステップだと思います。出力=要件/仕様; 20/100日はここで安全に過ごすことができます
  2. ワイヤーフレーミング-これは、基本的なHTMLページ、paint.NET、さらには画用紙と接着剤を使用して、最終的なサイトの機能のあらゆる側面をモックアップするのが好きな場所です。変更が簡単なため、紙を使用するのが好きです:)このプロセスを実行すると、ユーザーエクスペリエンスのほぼすべての側面を考慮する必要があり、必要に応じて機能を追加/削除したり、要件を調整したりする柔軟性が得られます。あなたがコードを書くことに多くの時間を費やす前に、あなたの顧客は変更に対していくらかのインプットを持っています。追加のボーナスは、ペーストを使用できることです:)10/100日
  3. 実装/テスト-途中でテストせずにサイト全体を開発するのは近視眼的だと思うので、実装とテストをグループ化します。(同時に、ステップ4が必要です)。ゴムが道路にぶつかる部分です。手順1と2でクライアントを適切に処理した場合は、スコープを直前に変更することなく(または、少なくともごくわずかな変更を加えることなく)、コードを快適に記述できます。私は実装のための一般的な一連のステップに従うようにしています:
    • データ開発(データベース設計、クエリ設計、サンプルデータ設定)
    • サイトフレームワーク(環境をセットアップします);本番、開発、およびqa)
    • フロントエンド構造(css、標準クラス、標準html構造)
    • コーディングを始めましょう!55/100日
  4. SQA-関係のない関係者やエンドユーザーに、アプリをテストしてもらうことができれば幸いです。何をテストすべきか、そして望ましい結果が明確になるように、テスト計画を作成する必要があります。フロントエンドのテストに実在の人物を使用するのが好きです。自動化されたツールはコード/バックエンドモジュールに適していますこれは、クライアントに進行状況を確認させる良い機会です-この時点で変更を加える能力は非常に限られているはずです。10/100日
  5. 配信/ポストプロダクションの新婚旅行-あなたはそれを構築し、テストし、そして展開する準備ができています。そこにコードを入手して、クライアントにプレイさせます。微調整する必要はあまりありません。しかし、私はいくつかの調整があると確信しています。5/100日

これのいくつかは理想的なようです。しかし、十分にレビューされ、十分に作成された仕様がある場合、アプリケーションをどれだけ迅速に出荷できるかに驚かれることでしょう。

于 2009-01-29T18:15:01.293 に答える
1

おそらく私たちは珍しい開発店です。私たちの存在全体(少なくとも勤務時間中)は、要件の収集です。開発者は、他のすべての部門で作業する必要があります。アフターセールスサポート(およびCRMソフトウェアとの戦い)での電話への応答、倉庫でのフォークリフトの運転(およびモバイル端末との戦い)、または配送ステーションでの箱の梱包(および紛らわしい納品書との戦い)などです。

私たちが新しいプロジェクトに取り組むとき、「要件の収集」は通常、ホワイトボードで午後に行われ、通常、新しいソフトウェアを最も使用した部門の誰かが参加しました。先行設計はほとんどなく、リファクタリングと書き直しがたくさんありました。私たちはこれに非常に満足しており、適切に設計された安定した約100.000行のコードを生成しました。

しかし、今は複雑さの壁にぶつかっているようです。ハックアンドスラッシュコーディングよりも「重い」プロセスに移行すると、生産性が劇的に低下するため、これは非常に苛立たしいことです。

于 2009-01-27T20:47:30.477 に答える
1

それは本当にトリッキーな質問です。設計、実装、テスト、および展開の従来のアプローチを採用する場合、各ステップに適用する必要がある時間の比率をある程度正確に見積もるには、プロジェクト メンバーの仕様と専門知識を知る必要があります。McConnell の著書 "Software Estimation" (これを強くお勧めします) を読むと、履歴データとそれを将来のプロジェクトに使用する方法についての章があります。以前のプロジェクトの正確な歴史的データを持っているとは思いません - まあ - 私は持っていません - 私はいつもそれらを記録することを思い出します ;) 設計段階での最小の失敗または不確実性が最も重要なものであるためやりたいことを明確にするのに多くの時間を費やす. 全員が同じように理解していることを確認し、書き留めてください。簡単に言えば、50% から 75% の時間を設計に費やし (75% にすべての不確実性をクリアするためのプロトタイプが含まれる場合)、実装とテストに同等の部分を費やします。TDD を使用している場合は、デザインとテストを少し混ぜて、デザイン フェーズを少し取り、それをテスト フェーズに追加します。

于 2009-01-28T22:53:27.990 に答える
1

この質問に意味のある答えを出すことは不可能です。比率は、プロジェクトごとにほぼ同じではありません。一部のプロジェクトでは、ビジュアル デザインはほとんど重要ではありませんが (多かれ少なかれ機能する限り)、データベースは重要で複雑です。他の人にとっては、多くの AJAX グッズやその他のアイ キャンディーでスムーズなユーザー エクスペリエンスを提供することがすべてですが、基礎となるデータは整理して保存するのが簡単です。

主にワンマン プロジェクトを考えているように聞こえますが、大規模なチームの場合、チームのサイズとセットアップ、および開発プロセスも重要です。

于 2009-01-24T12:53:44.453 に答える
1

明確にするために-あなたは基本的にあなたの仕事をタイムボックス化しています-これは固定予算を持つことに直接関係しています(4人の開発者x 1日あたりx $ x 100日-100日の作業時間ではなく100日の期間であると仮定). その場合、平均で。あなたが費やすだろう:

  • 範囲、仕様開発、技術アプローチ、物流 (コンピューター、サーバー、作業スペース)、リソース収集を含む 25% の先行計画。
  • 50 % 開発 - テスト ケース (TDD) の開発、スキーマの設計と実装、フロント エンドのコーディング、バックエンドのコーディング、展開
  • 15% テスト - 基本的な破損/修正作業
  • 10% のオーバーヘッド/管理 - プロジェクト管理、コミュニケーション、および調整。

非常に大まかな見積もり - リソースのスキル/成熟度、使用されているテクノロジー、リソースの場所 (1 つの部屋または全国)、要件のレベルなどを含む、考慮すべき多くの「領域」 「スキル固有の」リソースを使用すると、計画が作成されます。複数の役割を実行するにはリソースが必要になる可能性があるため、より困難です。1 つの提案は、仕様/設計/計画を支援できる 3 人のゼネラリストと、プラットフォームとデータベースが正しくセットアップされていることを確認する 1 人の技術ウィザードを取得することです (成功の鍵は、可能な限り良い要件があります)

于 2009-01-28T13:31:07.597 に答える
0
  1. クライアントのニーズのリストを作成する 1 ~ 2 日
        これは、クライアントとそのニーズ、およびクライアントがどれだけ準備しているかによって異なります。
  2. デザイナーは最初のスケッチアップを 2 ~ 3 日行い
        ます。2 と 3 が同時に発生するため、ここで少し分岐が発生します。
  3. プログラマーは、既存のシステムにまだない機能を構築します 1 日 - 1 か月
        これは、クライアントによって異なります。
        これも機能コードのみを生成します。
  4. クライアントが私たちの全体的な感覚に満足するまで、ステップ 2 と 3 を繰り返します。
        1回の繰り返しで100回になる可能性があります(10回までに満足させることができなかった場合、別の場所に送ることはありません.
  5. 最終デザインの作成 1 ~ 5 日
        これが最終版です。エラーはなく、有効な CSS/HTML/JS です。すべてがクロス ブラウザーなどです。
  6. 最終的な機能を構築する 2 ~ 3 日
        このコードは「完璧」で、100% 動作します。きれいで、既知のバグはなく、開発者は喜んで送信します
        これとステップ 5 は同時に行われます。
  7. 10秒間展開します。

そして、2週間後、2ヶ月後、6ヶ月後にレビューを行い、問題がないことを確認します。

したがって、レビューをスキップすると、通常は 8 ~ 20 日かかりますが、IDK では、それを 100 日で処理できます。


クライアント用のアプリケーションを構築する (または拡張する) だけの場合、必要なものを正確に定義するのに 2 ~ 3 時間を費やし構築に時間がかかります。

于 2009-01-24T11:30:08.583 に答える