1

私は過去に、「変更を加えてアップロードする」開発方法論に基づいて、多くのPHPプロジェクトを作成しました。

かなりフル機能のホスト型Webアプリケーションを提供するために、長い(6〜8か月の見積もり)プロジェクトを開始しています。ここ数週間、私はこれを「プロジェクト管理」するための最良の方法を検討してきました(私の実際のコードは問題ありません)。アプリケーションには、基本的な機能を提供する初期リリースと、高度な機能を提供する追加のリリースがあります。私はSVN、Trac、バグトラッキング、ステージングサーバー、または展開ツールを使用したことがないので、これはすべて私にとって非常に新しいものです。

私が先週学んだことに基づいて、これが私が持っていることを考えているものです。

128mb RAM(256バースト可能)および10gbHDDスペースを備えた4xVPS。

次の構成で構成

  1. tools.ops.ourdomain.co.uk -SVN、Trac、およびアップロードとDNS用の安全なファイルストレージをホストするサーバー(ポイントのネームサーバー)
  2. development.ops.ourdomain.co.uk-ソフトウェアのトランクバージョンで動作する開発環境。SVNコミット時に自動的に更新されたhtdocsフォルダー
  3. staging.ops.ourdomain.co.uk-「潜在的なリリース」がテスト用にデプロイされます。
  4. product.ops.ourdomain.co.uk-「最終リリース」がデプロイされている本番サーバー

これは意味がありますか?開発サーバーをローカルマシンにドロップする必要がありますか?DNSをツールサーバーに配置するのは理にかなっていますか?

第二に、単一の開発者にとって最良の開発方法論は何ですか?まず、「ユーザーの認証」、「ユーザーのログアウト」などのすべての機能を計画してから、それらをtracチケットとして作成しました。問題のタスクに到達すると、実際の「方法」と「場所」を計算できます。すべてのクラスメソッド(および一般的なファイル)を計画してから、これらのチケットを作成する方が理にかなっていますか?

前もって感謝します。

4

2 に答える 2

2

ここでは、アジャイル手法に大まかに基づいたヒントをいくつか紹介します。これは、有用性に比べてオーバーヘッドが少ないため、1人のチームにとってはかなり良いはずです。

  • デプロイスクリプトを作成します。アプリをデプロイするために実行できる単一のコマンドです。このようにして、アプリをデプロイするために行う手順を簡単に繰り返すことができます。これにより、本番環境またはステージングにデプロイするときに、小さな間違いを犯したり、手順を忘れたりする可能性が低くなります。
  • 通常、自分のPCでの開発が私にとって最速であることがわかりました。作業中のネットワーク遅延はなく、OSとツールに精通しています。結局のところ、重要なのは個人的な好みです。
  • ステージング環境、できれば最終的な本番環境と同じハードウェア/ソフトウェアを使用することをお勧めします。これにより、すべてが正常に機能することを確認でき、クライアントが変更をテストドライブできるようになります。
  • スクラムスプリントと同様に、定期的なリリースを試してください。次のリリースで完成させたい機能を選択してください。これにより、何をする必要があるかがわかっているので、最も重要な機能に集中しやすくなり、進行状況を表示しやすくなります(このリリースの機能A、B、Cを確認してください)。選択した機能を終了した場合にのみ、現在のリリースの新機能を選択してください。ソース管理で各リリースにタグを付けます。
  • 上記の場合、あなたが言ったように、Tracを使用して機能を追跡することをお勧めします。自分がしていることについてのある種の地図や文書があれば、どのツールやアプローチを使用するかは重要ではありません。
  • 単体テストに精通している場合は、テスト駆動開発の使用を検討することをお勧めします。そうでない場合は、単体テストについて学び始めることをお勧めします

そして最後になりましたが、スケジュールを立ててそれに固執します。そうしないと、プロジェクトに予想よりもかなり長い時間がかかる可能性があります。

これらの少なくともいくつかが、私のキャリアの初期に犯したいくつかの間違いを回避するのに役立つことを願っています=)

于 2010-01-27T20:52:35.713 に答える
0

あまりコストをかけずに変更できる場合は、RAMを2倍または4倍にします。256 MB(固定)の「ワークベンチ」VPSがあり、Trac / Python、Apache2、1つまたは2つのPHPアプリケーション、およびリモートデスクトップ接続を同時に実行するのに問題がありました(ボックスは何もすることを拒否し、「メモリ不足」)。これはWindowsServer2003 VPSでした。Linuxはおそらく全体的に少し質素ですが、RAMを増やしても問題はありません。

計画に関しては、Tracチケットが最初のステップと基本的な開発に進む方法であるかどうかはわかりません。これらは単一の問題、アイデア、機能を処理するのに最適ですが、全体像(機能要件、解決方法のドラフト、機能リスト)については、オフィスドキュメント、UMLダイアグラム、またはアイデアを収集し、構造を構築するために使用するものは何でも。

于 2010-01-27T20:40:30.653 に答える