概念実証のシュートアウトを行うための最良の方法は何ですか?


8

私たちの会社が管理しているソフトウェアの新しいリリースに備えて、私はスケーラビリティの問題を解決するための本当に良いアプローチであると私が信じるものに取り組んできました。私は、紙面上のデザインが実際に私が望んでいることを検証するために、概念実証をまとめるつもりです。チームに説明すると、上司は反対の提案をしました。これは、問題のある領域を説明する方法に一部影響を受けています。上司はまた、代替案を評価するために2つの概念実証を行うという私の提案を受け入れました。

それでは、概念実証のシュートアウトを実行するための最良の方法は何ですか?ソリューションの評価に使用している客観的基準と主観的基準の両方があります。リンゴとこれらのかなり異なるアプローチのリンゴを比較していることを確認したいと思います。

  • スループットとサイズに関する要件があります。つまり、1秒あたり特定の数のオブジェクトを処理し、そのレートを1時間維持する必要があることがわかります。
  • スケーラビリティを評価する必要があります(コアを追加したり、オブジェクトの数を増やしたりして)
  • 開発のしやすさ(主観的)を評価する必要がある
  • アルゴリズムを理解するのがいかに簡単かを評価する必要があります(主観的)

私は物事がどのように傾くかについて私の理論を持っていますが、それが私の結果に影響を与えたくありません。このプロセスで客観性を維持する方法に関するあらゆる意見、および私が検討する必要があるかもしれないことは、大いに感謝されます。

回答:


9

一般的に私たちがしていることは...

  • 1ヶ月のような期限を設定します
  • リストした要件を使用してコーディングします。
  • どちらのプログラムも作成していないモデレーターが要件を制御し、短期間で実行できるはずの隠された要件を彼らが考えないようにします。

  • チームの他のメンバーがプログラムを調べて評価する場合、各システムに要件を追加して、両方のシステムの感触をつかむ必要があります。チームがコードを掘り下げ、不足している要件を追加した後、彼らはコードベースについて合理的な感覚を持ち、どちらから開発するかを選択する必要があります。

    • 次に、「敗者」の残りの最良の部分を取り、それらを勝利のアーキテクチャに組み込みます。

私はこのアイデアが好きです
ジャスティン・オームス

1

主観的なアイテムについては、ある程度の時間の数値評価を考え、公平なフィードバックを得ようとします。例:「アルゴリズムの理解」の場合、どちらも記述していないプログラマーに両方を見て、お互いに対してランク付けします。

また、コード「複雑さ」のようなコードの客観的な尺度を考慮に入れることもできます。制御ステートメントの数などに基づいてそれを測定するいくつかのツールがあります。

各カテゴリのランキングを取得し、各アプローチの「合計スコア」まで合計します。


1

このプロセスで客観性を維持する方法

客観的な基準は1つだけです。スループット。

すべてが主観的です。あなたは「客観的」になることはできません。あなたができることは「公正」であることだけです。違いの世界。

最終決定は常に政治的です。利用可能なすべての情報が提供されている限り、できることはすべてやった。

完璧な(「客観的」)ポイントを作成しようとすることを強調しないでください。「チームが提案されたソリューションに必要なスキルを持っていない」などのとんでもない言い訳によって、あなたが正しいと思うか、または最善と考えるものは単に覆されるかもしれません。

デモを作成するだけです。それらを実行します。ランダムな意思決定に備える。あなたが望むことができる最高ですな情報フェア。「目的」を簡単に達成することはできません。


勝ち負けではありません。最適なオプションを選択することです。ここのチームは素晴らしく政治的で、本当に珍しい発見です。彼らはまた、最良の選択を選ぶことだけに関心があります。ところで、スケーラビリティも測定可能です。
Berin Loritsch、2011年

@Berin Loritsch:「最良の」オプションを簡単に予測することはできません。スケーラビリティは完全に将来についての仮定に基づいています。将来を予測できないため、客観的な基準はありません。疑わしい仮定はたくさんあります。「ベスト」は難しいです。完璧は達成できません。リラックス。何かを選んで先に進んでください。今から1年後、あなたは自分が犯したいくつかの間違いに気付くでしょう。
S.Lott、2011年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.