40

ここにいる多くの人と同じように、私は一人の開発チームです。私は、プロジェクト要件の収集、コンセプトスクリーンの設計、データベースの計画と開発、すべてのコードの記述に至るまで、すべてを担当しています。

一人のチームであることは素晴らしいですが、欠点があります。私には他の開発者とすぐに相談する能力がありません。自分のコードに目を向けることはめったにありません。皆さんも他の多くのネガを思い付くことができると確信しています。

自分の時間を最大限に活用し、自分の仕事に最も効率的に取り組むために、可能な限り最高の1人のチームになるために、日常業務にどのようなヒントや実践を実装できますか?

4

8 に答える 8

41
  • 私がやろうとしていることの毎日のリスト。

  • タスクに集中するために、できるだけ多くの気を散らすものを取り除きます。メールをオフにしたり、IMをオフにしたり...一定期間、休憩中にチェックしてください。

  • 他のコーディング手法、ツール、プログラミングの知恵について学ぶために時間をかけてください。これは私の成長にとって非常に重要であることがわかりました。コーディングするだけで生産性を高めるのは簡単です。次のウィジェットを打ち負かすために、ベルトの下にもう少し知識/武器があればどうなるでしょうか。私はこれが本当に逆効果に聞こえることを知っていますが、実際にはそうではありません。知識/ノウハウは私たちの実際の通貨です。知れば知るほど、何かをどのように行うべきかについてより良い決定を下し、それをより速く行うことができます。

  • 休憩を取り、あなたの体に注意してください。私たちが疲れているとき、私たちはあまり考えず、より多くの間違いを犯し、より簡単に欲求不満になります...

  • 80/20の法則を有利に使用する方法を学びます。私は軽蔑したり怠惰になったりするつもりはありません。多くの場合、それが必要でなかったとき、私たちはその20%のために私たちの尻尾を切り落とします。

  • 自分の目標を設定します(毎日、毎週、隔週)。目標もコーディングしている目標と一致していることを確認してください。一致していないと、時間を無駄にしていることに気付く可能性があります。

技術的な観点から、次のことを考慮してください。

  • ユニットテスト/TDDを検討してください。私は自分の仕事で、これが実際に時間を節約することを発見しました。コツをつかむにはしばらく時間がかかりますが、何をすれば良くなるでしょう。
  • コードに注意してください。リファクタリングします(特に単体テストを開始する場合)。コードが優れているほど、保守が容易になり、時間もかかりません。理解しやすいほど、機能をより速く変更/実装できます。
于 2009-08-23T01:33:12.463 に答える
12

以前よりも一日の計画に多くの時間を費やすことを学んでいます. これには、プロジェクトの計画から、必要なプログラミング用の疑似コードの作成までが含まれます。スケジュールが中断されると、何かを始めるのが難しくなります。すべてを小さなタスクに分割することで、中断後に開始するのがはるかに簡単になります。

于 2009-08-23T01:35:14.833 に答える
3

オペレーションズリサーチによると、最短ジョブ優先は、ほとんどのことを実行するための最良のスケジューラーです。

于 2009-08-23T01:33:09.670 に答える
2

他の多くのヒントは優れていますが、チームで作業する開発者だけでなく、単独の開発者にも同様に当てはまります。

一人のチームとして最も難しいのは、会社の他のメンバーとの効果的なコミュニケーションだと思います。ソフトウェアを構築するための最善の方法に関する会議やディスカッションでは、常に孤独なプログラマーの声になります。

結果として、交渉スキルを向上させ、プログラマー以外の人が理解できる用語で技術概念を説明する方法の向上に焦点を当てることをお勧めします。「はい」「友達を獲得して人々に影響を与える方法」などの本を読むことは、始めるのに良い方法です。

視点に同意する人が複数いる場合、その視点は、あなたが説得しようとしている人との信頼を自動的に獲得します。この可能性がない場合は、十分に研究された証拠とバランスの取れた見解で議論を準備するためにさらに一生懸命働く必要があります。

于 2009-08-23T02:23:54.143 に答える
2

統合テストとシステム テストを作成して実行しますが、初期 (統合前) のテストは必要ないため、単体テストは行いません。内部実装をテストする必要がありますか?

コンウェイの法則の必然性は、開発者を分離/統合する内部ソフトウェア インターフェイスをテストする必要があることですが、「ワンマン アーミー」はこのように内部インターフェイスを明示的にテストする必要はありません。

于 2009-08-23T01:34:40.980 に答える
1
  • 早い段階で頻繁にリファクタリングするようにしてください。それはほとんど2番目の目のセットのように機能します(少なくとも私にとっては)。
  • 非常識な時間に仕事をしないでください(特に自宅で仕事をしている場合は注意が必要です)。実際、差し迫った休憩/一日の終わりのプレッシャーがあなたの効率を高めるので、より少ない時間で働くことはしばしばより生産的であることがわかります。
  • あなたは仕事/時間管理のためにパーキンソンの法則を調べたいと思うかもしれません。
于 2009-08-23T01:32:41.590 に答える
1

私も同じ状況です。上記にはすでに多くの良いアドバイスがありますが、1 つ付け加えておきたいのは、コーディングに最適な時期を見つけ、その時間帯にコーディングしていることを確認することです。朝の数時間は、コーディングに最適なようです。私はその時間をすべての気を散らすものから解放しようとします. 生産性の低い時間のために、会議、ドキュメントの作成、テスト (少なくとも退屈で反復的なもの) などを計画します。コーディングの生産性が 2 倍から 5 倍になったら、コーディング時間を維持してください。

于 2009-08-23T02:40:34.350 に答える
0

私はテキスト ファイルを使用して、毎日行うすべてのことを収集します。問題に遭遇したり、質問をしたり、解決策を見つけたりするたびに、それをファイルに追加します。非常にローテクですが、「どこで最も多くの時間を過ごしているか」などの豊富な情報を提供します。または「以前にその問題をどのように修正しましたか?」。また、請求サイクルの終了時にクライアントに時間のリストを提供することも非常に迅速になります。

また、優先度順に並べられ、頻繁に更新される、すべての作業項目を含む別のテキスト ファイル (クライアントごと) も使用します。これにより、私とクライアントの両方が次に取り組まなければならないことに集中できるようになり、ポンプは常に準備された状態になります。

最終的には、フラットなテキスト ファイルから FogBugz のようなものを使用するように移行しますが、今のところ、価格、検索のしやすさ、または電子メールのしやすさに勝るものはありません。

于 2009-08-23T01:37:51.397 に答える