クレジット:
クレジット:
個人で作業している場合でも、チームで作業している場合でも、整理整頓と生産性を維持するためのヒントを以下に示します。
1. 契約を盤石なものにする
クライアントと取引するときは、範囲の変更、支払いの遅れ、期限などの問題が常に懸念されます。そして、あなたにとって明白なことでも、クライアントにとっては明白ではないかもしれません。傷ついた感情、遅延、経済的トラブルを避けるために、最優先事項は徹底的でしっかりとした、しかし公正な書面による契約を締結することです。
適切な契約はあなたとあなたのクライアントの両方を守ります。契約書には、一般的な契約条件に加えて、支払いスケジュール、期限、期限(および期限を過ぎた場合の影響)、キャンセルポリシー、知的財産およびプロジェクトの範囲に関するガイドラインなど、プロジェクトに関する詳細を含める必要があります。ウェブ上で多くの契約書のサンプルを見つけることができますが、弁護士に相談することに代わるものはありません。ビジネスと生活の安全に対処する場合、その出費は正当なものであり、ビジネス諸経費として計算される必要があります。
2. 明確に定義されたロードマップを用意する
契約に必要な補足の 1 つは、常にプロジェクトのロードマップである必要があります。プロジェクトのすべての機能を可能な限り徹底的に概説し、調査から展開までのプロジェクト進行の一般的な計画を確立する必要があります。
まず、すべての機能をアウトライン形式で書き出します。たとえば、「アカウント管理機能」や「在庫管理機能」などのグループに分類すると役立ちます。何が期待され、何を開発する必要があるかを正確に定義するまで、アウトラインを洗練し続けます。
次に、プロジェクトを調査、設計、開発、テスト、展開などのさまざまなフェーズに分割します。各フェーズの目標を明確に述べ、フェーズ完了時にプロジェクトがどこにあるべきかを定義します。クライアントに各フェーズに署名してもらい、この文書を契約書に含めてください。このロードマップの 2 番目のコピーを作成して、採用するテクノロジや各機能の実装方法など、より技術的な詳細を含めることもできます。ただし、クライアントが変更に同意するまで範囲は変更しないでください。
3. スタイルガイドを確立する
一人で作業している場合でも、チームで作業している場合でも、時間をかけてプロジェクトのスタイル ガイドを確立すると、全体を通して一貫性を維持するのに役立ちます。さらに、6 か月後にプロジェクトを更新する必要があるとき、努力してよかったと思うでしょう。
考慮すべきスタイル ガイドには、ビジュアル ガイドとコーディング ガイドの 2 種類があります。どちらかまたは両方がプロジェクトに適用される可能性があることに注意してください。ビジュアル スタイル ガイドには、フォント、色、ブランド、および外観に関するその他の注意事項に関する情報が含まれている必要があります。ヘッダー、フォーム、本文コンテンツ、サイドバー、メニューなどの一般的な要素の例もいくつか含める必要があります。ここまで詳しく説明する必要はないかもしれませんが、Skype ブランドブックは素晴らしい例です。このガイドは、クライアントに優れたプレゼンテーションを提供し、プロジェクトが最終的にどのように見えるか、どのように感じられるかを理解するのに役立つツールとなります。クライアントと一緒に確立されたスタイルを確認し(ムードボードはこの目的に最適です)、外観について承認してもらいます。作業中にビジュアル スタイル ガイドを頻繁に参照して、設定されたガイドラインに準拠していることを確認してください。
プログラミング スタイル ガイドは、プロジェクト固有のものである必要はありません (自分のチームとは異なるスタイルをすでに確立している新しいチームと協力している場合を除く)。それは、次のような既存のスタイル ガイドに従うのと同じくらい簡単かもしれません。Zend スタイルガイド。ここで最初から始める必要はありませんが、一貫性を保つ必要があります。明確なガイドラインを用意しておくことは、後で参加する可能性のある開発者にとって役立ちます。
4. 時間をかけて調査、計画、テストする
新しいプロジェクト、特に興味深くエキサイティングなプロジェクトを開発するとき、人々はすぐに作業に取り掛かりたいという誘惑に駆られます。初期段階で適切な調査と計画が欠如していると、特に大規模なプロジェクトの場合に悪影響を及ぼす可能性があります。適切な最初のステップを踏み、時間をかけて調べ、図を作成し、ソース コードを読み、考えを整理してください。最終的には時間とお金の節約につながります。
コードのテストにも同じことが当てはまります。これにより、コードの書き換えという退屈で厄介な問題を回避できます。デモ中にコードが失敗するよりも悪いことは、実稼働環境でコードが失敗することだけだからです。コードのテストとデバッグは後から考えるべきではないため、プロジェクトの見積もりとスケジュールの両方に取り組んでください。現在、PHP や JavaScript から Ruby や Python、その他数え切れないほどの言語に至るまで、自動テスト スイートが数多く存在します。使用する予定の言語ごとに少なくとも 1 つずつ学習することをお勧めします。実際のユーザーにソフトウェアを操作してもらうことも忘れないでください。あなたとあなたのクライアントは、公開する前に、開発したサイトを実際に使用する時間を費やす必要があります。
5. 実行しながら文書化する
クレジット:
あなたがほとんどの開発者と同じなら、ドキュメントを書くことを考えるだけでうんざりするでしょう。時間をかけて何かを文書化することは、特に作成時点では明確に見えていた場合に、貴重な時間を無駄にしているように感じられます。しかし、数年後には、それらの数千行のソース コードはほとんど意味をなさないかもしれません。
さらに、プログラミングのスタイルとスキルは時間の経過とともに進化するため、古いコードに戻るのが困難になる場合があります。そのため、時間をかけてコードを文書化してください。わかりやすい名前と論理的な進行を使用して、できるだけ直感的にできるようにします。経験則として、何かが何を行うのかを文書化する必要はありませんが、機能の目的と機能を説明するメモをコード内に作成します。また、依存関係または作成される依存関係にも注意してください。それぞれの新機能の最後で立ち止まり、時間をかけてエンドユーザー向けドキュメントの草案を作成することも良い考えです。これにより、ソフトウェアに関するクライアントのトレーニングがはるかに簡単になり、また、ユーザビリティの問題や誤って省略された機能を発見する良い方法としても機能します。
6. バージョン管理を使用する
これはほとんど言うまでもないことですが、多くの個人開発者はプロジェクトにバージョン管理を使用しません。大規模なプロジェクトの場合、これは単純に選択肢ではありません。優れた VCS (SVN、Git、Mercurial、またはその他のシステムを選択するかどうかに関係なく) を使用すると、コードを誤って削除したり上書きしたりする可能性が事実上排除されます。
コミット ログは、貴重なセーフティ ネットを提供するだけでなく、進捗状況を追跡するのにも役立ちます。また、コードを分岐、フォーク、マージできるため、さまざまな機能実装方法を柔軟に試すことができます。既存のコードを壊すリスクを負うことなく、ソフトウェアのパフォーマンスを改良および微調整することもできます。最後に、リモート バックアップとテスト環境および運用環境への展開が簡素化されます。最近では、特に他の個人と共同作業する場合には、バージョン管理が開発の重要な部分であると考える必要があります。
7. 会議のメモを徹底的に取る
ラップトップを使用する場合でも、スパイラル綴じのノートブックを使用する場合でも、クライアントや他の共同作業者と会うときはメモを取ってください。そうしないと、会議中に議論された細かい詳細を効果的に保持できない可能性があります。優れたメモの取り方は、あなたが気配りがあり、関心があり、優れたサービスを提供することに専念していることをクライアントに示します。そうすることで、細かい点を忘れることがなく、またクライアントに説明を求めに行かなければならないという恥ずかしさもなくなります。単純なことのように思えますが、忘れられたり見落とされたりする小さな変更が 1 つあれば、コードや機能に大きな変更が生じる可能性があります。頭痛、ストレス、屈辱を避けて、すべてを書き留めることを学びましょう。
8. 資産を整理する
徹底したメモを取ることと同様に、アセットを整理しておくことが、プロジェクトのワークフローを合理化するためのもう 1 つの重要なステップです。完成したコード ベースに属さないプロジェクト アセットについては、別のバージョン管理リポジトリを検討することもできます。クライアントはおそらく、フィードバックや修正や新機能のリクエストを含む大量のファイル、コンテンツ、アートワーク、電子メールをあなたに送信するでしょう。多くの場合、それらのファイルまたはリクエストの複数のバージョンが送信されます。
これらの資産をバージョン管理または明確に定義されたプロジェクト管理ソフトウェアに入れることを検討してください。情報を整理しておくのに大いに役立ちます。間違ったファイルを送信したり、何百もの電子メールを探し回ったりすると、作業が遅くなり、エラーが発生する可能性が高まるだけでなく、プロフェッショナルではないように見えます。
9. 期日を書面で明記する
プロジェクトとその契約の概要を説明するときに期限が設定されることがよくありますが、これがすでに取り組んでいることではない場合、または現在のシステムが期待どおりに機能していない場合は、間違いなく注意する価値があります。大規模なプロジェクトには多くの依存関係がある傾向があり、期限を 1 つ逃すとプロジェクト全体が予定より遅れてしまうことがよくあります。カレンダーに期限を記入し、それを守るように自分を律してください。
期限はあなただけのものではありません。コンテンツやブランディングなどのさまざまな成果物についてクライアントに期限を与えたり、資産のレビューと承認に一定の期間を設定したりすることは、まったく不合理ではありません。すべての関係者に対して期日を明確に定義し、さらに期日が守られなかった場合の影響に対処します。契約交渉やプロジェクト概要の草案作成と同様に、常に公平であるよう努めますが、毅然とした態度をとることを恐れないでください。クライアントはその点であなたを尊敬し、あなたの評判とキャリアはそれにかかっています。
Rackspace がサポートするシリーズ
クレジット:
のウェブ開発シリーズによってサポートされていますラックスペース、ホスティングを行うためのより良い方法。 Web ホスティングの稼働時間を心配する必要はもうありません。パッチの適用、更新、監視、データのバックアップなどの最新情報を維持するために時間、エネルギー、リソースを費やす必要はもうありません。その理由を学びましょう。