プロジェクトを開始する最善の方法、または耐え難いほど苦痛にならないようにする方法

すべての良い一日。 プロジェクトの設計について話す番でした。 私自身の経験から、プロジェクトを一から作成することは、既にあるものを整理するよりも難しい場合があることを知っています。 これは主に、あなたまたはあなたが残した遺産によるものです。 この記事では、特別な注意を払う価値があるものを説明し、フォローするための短い計画を提案します。







プロジェクトの理解



何かを計画する前に、どのプロジェクトを実装する必要があるかを理解する必要があります。 私自身は、次のようないくつかのカテゴリのプロジェクトを特定しました。





すべてのグラデーションは条件付きで、フロータイプが最も頻繁に見つかります。 すべての型が相互に変異する可能性があることに注意してください。唯一の微妙な違いは、近​​代化のコストです。 たとえば、プロジェクトは元々「ワンタイムクラフト」でしたが、その後「クローズドシステム」に進化しました。 通常、これにより、システムの完全またはほぼ完全な書き換えまたはリファクタリングが行われます。 ご存知のように、これは経済的に実行可能ではありません。 同じ理由で、どのようなプロジェクトを最初から作成する必要があるかを理解し、その将来の運命を決定することをお勧めします。







プロジェクトのタイプを決定するために、以下で質問をしました。あなたが望むものがあなたに明らかになる答えを受け取りました。









ご覧のとおり、リストはそれほど大きくありません。 ただし、何らかの不明な理由により、何かを始める前に同様の質問をする人はほとんどいません。 なぜプロジェクトのタイプを理解する必要があるのですか? あなたはいつもプロジェクトを永遠にライブにしなければなりませんか?! 概して、あなたは正しいですが、蒸し暑い冗談のように微妙な違いがあります。 これらのニュアンスはリソースとタイムラインです。 私たちがビジネスのために働き、タスクを実行することを忘れないでください。 プロジェクトの種類を知っていれば、あなたは目標を達成するために良心の揺らぎなしで何かを犠牲にすることができます。







技術の選択



選択の際には、ルールを遵守することをお勧めします。テクノロジーは超新星ではなく、時代遅れであるべきです。 テクノロジーまたはフレームワークが新しい場合、次のような問題が発生する可能性があります。









この問題のリストは、テクノロジーだけでなく、サードパーティの依存関係にも関連しています。 上記のすべてが、プロジェクトを芽に埋めることができます。







特定の何かを選択する前に、数回考えてください。 プロジェクトの重要な要因を含む悪名高い利益の表を作成します。



この例は架空のプロジェクト用です:







プロジェクト機能の名前。







プロジェクト重要度比







フォームを操作する







3







ルーティング







1







アニメーションの書きやすさ







0.3









表からわかるように、選択の重要な基準は「フォームの操作」と「ルーティング」です。 このプロジェクトのアニメーション作成の単純さは重要ではありません。 次に、新しいテクノロジー列を追加して、テーブルをアップグレードします。 この場合、2つあります。







プロジェクト機能の名前。







プロジェクト重要度







テクノロジー1







テクノロジー2







フォームを操作する







3







+







±







ルーティング







1







+







±







アニメーションの書きやすさ







0.3







+







-









表のデータに基づいて、フォームとルーティングでの「テクノロジー2」の動作は不十分であり、アニメーションの作成はサタンを呼ぶようなものであることがわかります。 その結果、この技術の比重は2です。なぜ2なのかと尋ねます。 すべてがシンプルです! ±を入力すると、このテクノロジーでは特定の機能を実装しますが、何らかの「クランチ」を使用するか、より労働集約的です。 私たちの比較では、「テクノロジー1」の方が収益性が高く、合計で4.3です。 金額の形成に関する説明は不要だと思います。 この表は、テクノロジーだけでなく、リストからの比較と選択を必要とするすべてのもので機能します。 主なことは、書く基準が多いほど、選択しやすくなることを忘れないことです。







建築



現在、建築設計用のツールを提供するさまざまなサービスから選択することが可能です。 確かに、それらのどれにも欠点があります。いくつかは重大ですが、誰かはそうではありません。 私は「古くさい」ので、一枚の紙とペン、またはボードとマーカーを好みます。







最初に何をつかむかを理解するには、システムの主要部分の概要を説明してから、アーキテクチャの構築方法を選択する必要があります。 原則として、実際には3つだけが使用されます。







降順 -開発者はシステムの大きなノードからプッシュして、小さなノードに移動します。 アーキテクチャの意味は、主要なコンポーネントが小さなノードを含む大きなノードであることです。







昇順 -開発者は小さなパーツからプッシュして、大きなパーツに移動します。 アーキテクチャの意味は、最初は多くの小さなコンポーネントが作成され、大きなコンポーネントはすでにそれらから組み立てられているということです。







モノリスは不可分なアーキテクチャであり、しばしば「レガシー」と呼ばれます。 実際、これは堅固な構造であり、その変更には「隙間」のない解決策が必要です。 これは最悪の選択肢ですが、私たちの世界のあらゆるものと同様に、存在する権利があります。 モノリスは特定の機能を実装するために使用されるものであり、今後維持する予定はありません。 他と比較して、このアプローチの速度は何倍も高速です。 まあ、あなたが目をたくさん閉じられるからです。







アーキテクチャの選択は、プロジェクトの目的と開発の速度に依存します。 通常、最初の方法は、期限が切れず、大きなモジュールの数が少ない場合に使用されます。 その特徴は、特定のモジュール間の関係を正確に表現できることです。 マイナス面のうち、一連のアクションに関連する長い開発時間に注目できます。



2番目の方法は、高い開発速度が必要であり、最上位アーキテクチャの理解がない場合に適しています。 機能は、さまざまな大きなノードで使用されることがある多くの小さなコンポーネントです。 他のタスクに関係なく、ほとんどすべての開発を並行して実行できることに注意してください。 このアプローチの欠点は、上位レベルのアーキテクチャの要件を満たさないコンポーネントになります。したがって、コンポーネントを書き換えるか、カスタマイズの可能性を作成する必要があります。



実践が示すように、すべての開発手法はスパイラルアプローチに縮小されており、機能の段階的な構築が特徴となっています。 この記事の枠組みの中で検討することは適切ではないと思います。







計画中



いわゆる「ロードマップ」は、仕事をより効率的に行うのに役立ちます。 実際、これは特定の機能の配信の条件付き期限を伴うスケジュールです。 日付は延期できますが、実践が示すように、上記の点を適切に実装することで、修正は最大30%になります。 実際には、これは通常10〜15%です。 計画により、プロジェクトの進行状況を追跡したり、たるみを確認したり、リソースやシフト日などの形で調整したりできます。







後で彼らはあなたに感謝します



すべてのプロジェクトはドキュメントから始まり、それが多ければ多いほど良いです! だから怠けてはいけません-私たちはすべてを文書化します。 はい、時間がかかりますが、その後、あなたのせいではなく何かがうまくいかない場合、リーダーシップの怒りからあなたを救うことができます。 また、プロジェクトに参加した後は、作成したものを理解する必要がある人々を忘れないでください。 そして文書がなければ、これは簡単ではありません。







結論



この記事では、プロジェクトを開始するときに、どのように行動し、何を探すべきかについて説明します。 これらの段階は、前部、後部、テスト、またはすべてを同時に行う場合に共通です。 誤解を招かないように、私は意図的にテクノロジーの詳細を避けました。







使用するテクノロジースタック、アーキテクチャ、およびプロジェクトの時間枠を決定する必要がある場合に選択できる場合、以下の表が役立ちます。







プロジェクトの種類/機能







使い捨てクラフト







スタートアップ







情報システム







クローズドシステム







サースのソリューション







他のプロジェクト







5歳未満の人の数







X

X

X

X

7から10までの人数







10〜30人の人数







X

30を超える数量







X

X

完了日は最大3か月







X

X

X

X

納期は6〜12か月







12ヶ月以上の期間







X

ドキュメント







他のシステムとの統合要件







既知の特定の顧客







さらなるサポート予定







計画中







役割が明確に描かれている







外部依存関係の使用を許可







テストおよび分析用のライブデータがあります。







安全要件







テストが必要







必要な製品ドキュメントまたは指示の作成







モジュラー実装が必要







いくつかの開発チーム







合計







テーブルの使用方法は、誰もがすでに推測していると思いますが、念のため-前のものとまったく同じで、塗りつぶされたセルの形で少し追加されています。 つまり、このプロジェクトでは値を使用できません。 また、テーブルが不完全である可能性があることに注意してください。必要だと思われる行を追加してください。








All Articles