タグ付けされた質問 「project-management」

プロジェクト管理は、特定の目標を達成するためのリソースの計画、編成、確保、および管理の分野です。

19
プログラマーが複数のプロジェクトに同時に取り組むことは正常ですか?
現在の仕事には、2つのプロジェクトがあります。1つ目は非常に巨大なシステムであり、2つ目はそれよりも小さいが大きなものです(最初のプロジェクトは12年間、2番目は4年間開発されています)。 最初は、最初のプロジェクトのみに取り組んでいて、それに慣れようとしていました。それから私は2番目のプロジェクトに移り、そこで試みたので、最初のプロジェクトについての私の知識は日陰になりました。今、私は両方のプロジェクトに同時に取り組む必要があります。 どちらもJavaを使用しているにもかかわらず、異なるフレームワークを使用しており、理解するコードとビジネスロジックの量が非常に大きいため、私は本当に両方のプロジェクトを頭に入れることができません。 私の専門知識は非常に不自由になりましたが、それは普通であり、それに慣れる必要があります。単一のプロジェクトでのみ作業する場合はどうなりますか?または、懸念を提起するべきですか、それとも雇用主を変えるべきですか?

8
プロジェクトで開発者を交代させるのは良い考えですか、悪い考えですか?
私は小さなチームで働いており、別の小さなチームと一緒に大規模な新しいプロジェクトに取り組み始めます。他のチームは現在、長年取り組んでいるレガシーシステムで作業しています。 マネージャーは、私のチームの開発者が、レガシーシステムで作業している開発者を置き換えるために、数か月ごとに交代することを決定しました。そうすれば、他のチームは新しいプロジェクトに取り組み、新しいシステムをよりよく理解できるようになります。 2〜3か月ごとにプロジェクトから開発者を交代することの利点と欠点(ある場合)を知りたい。 これは「主任開発者を交代させるのは良い考えなのか悪い考えなのか」と似た質問であることを知っています。、しかしその質問は主任開発者に焦点を当てています。この質問は、プロジェクト全体でチーム全体をローテーションすることに関するものです(新しいプロジェクトの技術リーダーはローテーションされる場合とされない場合があります。まだわかりません)。

7
より大きなソフトウェアプロジェクトに必要な時間を見積もることが難しいことを説明するにはどうすればよいですか?
私はジュニア開発者であり、より大きなソフトウェアプロジェクトを完了するのにどれくらいの時間がかかるかを見積もることは難しいと感じています。一般にアーキテクチャを構築する方法は知っていますが、どの詳細を実行し、どの問題を解決する必要があるかを知るのは困難です。だから、どのプロジェクトを解決する必要があるのか​​、そしてそれらを解決するのにどのくらいの時間がかかるのかわからないので、より大きなプロジェクトを完了するのにどれくらいの時間がかかるかを見積もることは難しい。 ソフトウェア開発者ではない人にこれをどのように説明できますか?

9
コーディング時に解析によって麻痺を克服するにはどうすればよいですか?
新しいプロジェクトを始めるとき、私はしばしばすぐに実装の詳細について考え始めます。「DataBaseHandlerはどこに配置しますか。どのように使用する必要がありますか?それを使用するクラスはいくつかの抽象スーパークラスから拡張する必要があります..?インターフェイスを使用する必要がありますか?を含むクラスで使用する抽象化のレベルリクエストを送信してデータを解析する方法は?」 拡張性と再利用性のためにコーディングしたいので、私は長い間行き詰まってしまいます。しかし、完全に実装する方法について過去の考えを得るのはほとんど不可能だと感じています。 そして、「ネジを締めて、やるだけだ!」と言うと、コードが整理されていないため、抽象化のレベルが混在しているなどの理由で、レンガの壁にすばやくぶつかります。 新しいプロジェクトを立ち上げながら、拡張性の高い論理/モジュール構造をセットアップするためのテクニック/方法は何ですか? - - EDIT - - まあ、これはすでに答えを受け入れるのが難しいタイプの質問ですが、いくつかのコンセンサスがあるかどうかを確認して、より多くのフィードバックを取得したいです。TDDは本当にクールに聞こえますが、率直に言って、JUnitなどの使用方法をもっと理解することを意味してきました。同時に、TDDのファンは、TDDに関連する1つの正当な点が特定の問題は、TDDが実際に設計の問題に対処していないように見えることです。確かに、TDDは自分がやりたいことを定義するのに役立ち、徐々にその方法を進めることができますが、ユニットテストをすべて通過できるさまざまな全体的なデザインパターン/構造があります。それだけです:単一のUNITSをテストします。私は少し混乱していると思います...私は知らない。多分、私' ありがとう!

10
これらの悪い開発者の兆候はありますか?[閉まっている]
以前は、ビジネスモデルが変化することを認識せずに、クライアントからの仕様の変更を非難し、適応可能な方法で開発することが私の仕事です。私は今、それを悪い開発者の兆候として見ています(変更しました!)。 しかし今、私は自分の中に他の「泣き言」を見る。最近、「丸い穴に四角い釘を嵌めようとするようなものだ」と言っていることに気付きました。また、プロジェクトが進行していないことに対するクライアントの優柔不断を非難しています。 態度を変えるべき場所に注意すべき兆候はありますか?クライアントは常に正しいですか、それともイライラすることを正当化できますか?

7
スクラム/かんばんボードを使用する場合、従来の課題追跡の役割は何ですか?
非常に高いレベルの観点から見ると、私には一般に2種類のプロジェクト管理ツールがあるようです。 Fogbugz、JIRA、BugZilla、Trac、Redmineなどの従来の課題トラッカー 仮想カードボード / Pivotal Tracker、GreenHopper、AgileZen、Trelloなどのアジャイルプロジェクト管理ツール 確かに、それらは何らかの方法で重なります。たとえば、Pivo​​tal TrackerタスクをJIRAにインポートできます。GreenHopper自体はJIRA課題ベースの上に実装されます。 従来の問題追跡ツールは、アジャイルプロジェクト管理を行う企業でも使用されているようです。私の質問は、なぜ彼らはそれをするのですか?また、会社で課題追跡を使用する必要があると思いますが、それについて考えているとき、なぜそれを必要とするのか実際にはわかりません。 たとえば、Trelloの開発は、最高の課題追跡ツールの1つであるFogbugzにアクセスできる場合でも、Trello自体(この仮想ウォールを参照)を使用して管理されているようです。したがって、アジャイルPMツールの1つを使用して作業の100%をアジャイルな方法で行う場合、従来の課題トラッカーは必要ないでしょうか?

21
大規模なITプロジェクトが失敗する傾向があるか、コスト/スケジュールのオーバーランが大きいのはなぜですか?[閉まっている]
私は常に、大規模な変革または統合プロジェクトについて読んでいますが、これは完全またはほぼ完全な災害です。なんとか成功したとしても、コストとスケジュールの破綻は莫大です。大規模なプロジェクトが失敗しやすい背後にある本当の理由は何ですか。この種のプロジェクトでアジャイルを使用できますか、それとも従来のアプローチが最適です。 オーストラリアの1つの例は、プロジェクトを実施するためにテストの成功基準を変更したクイーンズランド州の給与プロジェクトです。 このSOの質問(Wayback Machineで)で失敗したプロジェクトをいくつか見る 共有する個人的な経験はありますか?

9
高価なプログラマーに対してどのように主張するのですか?
当社では、モバイルUIの開発など、一見複雑ではないように思われる多くのことを行う必要があります。 経験豊富なプログラマーは初心者の4倍の費用がかかるとしましょう。 どちらも基本的には、一見単純なことを同じ時間で完了することができます。 違いは、経験豊富なプログラマーはバグが少なく、コードはより安定していることなどです。初心者プログラマーは他の全員(PM、クライアントなど)の多くの時間を無駄にします。しかし、彼らはかなり安いです。 反論は、HTMLでテーブルを作成するのに経験と初心者が同じ時間かかることです。したがって、経験豊富なプログラマーを雇うことは贅沢です。初心者プログラマーも同様に達成できます。 私たちの分野で経験のあるプログラマーと新しいプログラマーの違いは4倍になる可能性があるので、より多くの優れたプログラマーに投資する必要がありますか。

6
アジャイルはXPとどう違うのですか?
Webでいくつかの記事を読んで、アジャイル、XP、スクラム、ペアプログラミングが互いにどのように異なり、互いに関連しているかを調べ、次の行を導き出しました。 スクラムとXPはほぼ同じです。XPのリリース期間はスクラムよりも短い ペアプログラミングは、アジャイルとXPの両方の方法論で採用されています しかし、アジャイルがXPとどのように異なるかを特定できませんでした。 URLを提供するだけでなく、これに関するあなたの経験と考えを読んで喜んでいるでしょう。

10
従業員に課題トラッカーを更新させるのがそれほど難しいのはなぜですか?
私は、会社と職場の両方で、人々に問題を更新してもらうために常にこの苦労を経験してきました。私は、人々が心の良さから実際にそれを行ういくつかのケースを経験しましたが、時間の〜70%は人々を追いかけなければなりません。 一般的に何らかの形で管理を行う(私は最優先の開発者です)ため、私が説明しようとする主な理由は、人々を追いかけたり、進行状況の照会を中断したりしたくないからです。結局、人々は多くのことを尋ねられると思います。まれで極端な場合には、(レポートを作成する必要があるときに)チケットを更新することになります。 だから、この問題に遭遇しましたか?開発者にどのように問題追跡ツールを頻繁に更新するように奨励しましたか?あなたはどの程度の成功を収めましたか?

17
主任開発者を交代させるのは良い考えですか、悪い考えですか?
私は数ヶ月前に作成されて以来、組織的にフラットなチームで働いています。私のマネージャーは非技術的であり、これは私たちのチーム全体が意思決定に責任があることを意味します。 私のマネージャーは、リード開発者(タスクの単一の連絡先と単一の責任者)と私たち(紛争解決、組織的な技術ガイダンスなど)の両方のために、リード開発者を持つことにはいくつかの利点があることに気付き始めています。 チームがフラットであるため、1つの懸念は、1人のリード開発者を選ぶと他の開発者を落胆させる可能性があることです。開発者以外の人が、この問題を回避する方法として、開発主任を交代させることがマネージャーに提案しました。1人の開発者が1か月間、別の開発者が1か月間、というように続きます。 これはいい考えですか?なぜですか? これはすべての開発者を意味することに留意してください—すべての開発者は優れていますが、必ずしもリーダーシップに等しく適しているわけではありません。 そうでない場合、単に利己的な理由であるように見えることなく、このアプローチを避けることをどのようにお勧めしますか?

4
バックエンドとフロントエンドをWeb開発プロジェクトの2つのポジションに分けることは一般的ですか?
Webのスタートアップで、機能のフロントエンドとバックエンド(基本的に機能全体を担当する)を担当するエンジニアがいる方が一般的ですか?または、エンジニアはバックエンドとフロントエンドを分離しましたか? どちらがより有益で、どのような状況に適していますか? 機能全体を担当するエンジニアが1人いることの欠点は、フロントエンドまたはバックエンドの開発のどちらかではなく、両方ではなく、スピードと品質が低下することがあることです。 1つの機能にフロントエンドとバックエンドの開発者を配置すると、機能の速度と品質が向上し、コラボレーションが促進されます。しかし、1人のエンジニアを別の機能に配置して作業を行うことができるため、2人のエンジニアが1つの機能を使用してリソースの使用率が低い可能性があることを心配しています。 小規模の初期段階のスタートアップでバックエンド/フロントエンドのエンジニアリングリソースを割り当てるための一般的/ベストプラクティスは何ですか?そして、成長するにつれてどのように変化しますか?

3
複数のサブプロジェクトでプロジェクトを分離する場合
私が取り組んでいるプロジェクトを1つではなく2つのリポジトリに分割することが理にかなっているかどうかを知りたいです。 私が言えることから: フロントエンドはhtml + jsで記述されます .netのバックエンド バックエンドはフロントエンドに依存せず、フロントエンドはバックエンドに依存しません フロントエンドは、バックエンドに実装された安らかなAPIを使用します。 フロントエンドは、任意の静的httpサーバーでホストできます。 現在、リポジトリは次の構造を持っています。 ルート: フロントエンド/* バックエンド/ * 両方のプロジェクトを同じリポジトリに保持するのは間違いだと思います。両方のプロジェクトは相互に依存関係を持たないため、個々のリポジトリと、必要に応じてサブモジュールを持つ親リポジトリに属する​​必要があります。 私はそれは無意味であり、それを行うことで利益を得ることはないと言われました。 私の議論のいくつかを以下に示します。 相互に依存しない2つのモジュールがあります。 長期的に両方のプロジェクトのソース履歴があると事態が複雑になる可能性があります(探しているバグとはまったく関係のないコミットの半分がある間にフロントエンドで何かを探してみてください) 競合とマージ(これは起こらないはずですが、誰かがバックエンドにプッシュすると、他の開発者がバックエンドの変更をプルしてフロントエンドの変更をプッシュすることになります。) 1人の開発者はバックエンドでのみ作業するかもしれませんが、常にフロントエンドを引っ張る必要があります。 長い目で見れば、いつ配備するのか。何らかの方法で、フロントエンドを複数の静的サーバーにデプロイし、バックエンドサーバーを1つ持つことができます。いずれの場合も、バックエンド全体を複製するか、すべてのサーバーにフロントエンドのみをプッシュするか、バックエンドを削除するカスタムスクリプトを作成する必要があります。1つだけが必要な場合は、両方よりもフロントエンドまたはバックエンドのみをプッシュ/プルする方が簡単です。 反論(1人が両方のプロジェクトで作業する可能性があります)、サブモジュールで3番目のレポを作成し、それで開発します。履歴は個々のモジュールに分けられており、バックエンド/フロントエンドのバージョンが同期して実際に連携するタグをいつでも作成できます。フロントエンドとバックエンドの両方を1つのリポジトリにまとめても、それらが連携して機能するわけではありません。両方の履歴を1つの大きなレポにマージしているだけです。 サブモジュールとしてフロントエンド/バックエンドを使用すると、プロジェクトにフリーランサーを追加する場合に物事が簡単になります。場合によっては、コードベースへの完全なアクセス権を実際に与えたくないことがあります。「外部者」が表示/編集できるものを制限したい場合、1つの大きなモジュールがあると事態が難しくなります。 バグの紹介とバグの修正のために、フロントエンドに新しいバグを挿入しました。その後、誰かがバックエンドのバグを修正します。1つのリポジトリで、新しいバグの前にロールバックすると、バックエンドもロールバックされ、修正が困難になる可能性があります。フロントエンドのバグを修正しながらバックエンドを動作させるには、別のフォルダにバックエンドをクローンする必要があります...その後、物事を再マージしようとします... 1つのリポジトリのHEADを移動するので、2つのリポジトリを作成するのは簡単です他を変更しないでください。また、異なるバージョンのバックエンドに対するテストは簡単です。 誰かが私を説得するためにもっと議論をすることができますか、少なくともプロジェクトを2つのサブモジュールに分けるのが無意味な(より複雑な)理由を教えてください。プロジェクトは新しく、コードベースは数日前のものなので、修正するのに早すぎません。

11
失敗したプロジェクト:いつ呼び出すか?
数か月前、私の会社は、プロジェクトの白熱した緊急事態に手を出し、6人のチーム全員が基本的に5週間の「クランチウィーク」を終了しました。本番開始の48時間前に、私はそのうちの41人、2人で徹夜で作業しました。その真ん中に、これまでで最も成功した質問を投稿しました。 その間、「失敗」の話はありませんでした。それは常に「痛みに関係なく、成し遂げられる」ことでした。 事態は終わり、私たちは組織としてしばらくの間、学んだことをじっくりと検討する時間がありましたので、1つの質問がありました。「失敗」したと言うプロジェクトに参加したことがあるとは言えません。予算が遅れたり予算を超過したものもありましたが、悲惨なものもありましたが、私は常に何かを提供することになりました。 それでも、私は常に「失敗したITプロジェクト」について耳にします。私はそれに関する人々の経験について疑問に思っています。「失敗」を定義したパラメーターは何ですか?コンテキストは何でしたか?私たちの場合、私たちは外部クライアントを持つソフトウェアショップです。大企業の内部にあるプロジェクトには、「失敗」する余地がありますか?いつ電話しますか?するとどうなりますか? 私たちがやったことをやるのは賢明なビジネスの動きだとは全く確信していません。それは私の電話ではありませんでした(私は単なるコードモンキーです)が、損失を削減し、配信しないと言って先に進む方が良いのではないかと考えています。長時間の刺し傷のために、会社はプロジェクトでシャツを王室で失い、さらに従業員の士気と忠誠心に関する会社の無形の費用が大きかったとは言いません。このような注目度の高いプロジェクトを提供できなかったというPRヒットに反する要因は...そして、私は正しい答えが何であるかわかりません。

6
スクラムは、要件が変わらないプロジェクトに追加のオーバーヘッドを作成しますか?
Gunther Verheyenのスクラム-ポケットガイドを読んでいます。 Standish Groupによる2011年のChaosレポートは転換点を示しています。従来のプロジェクトとアジャイル手法を使用したプロジェクトを比較するために、広範な研究が行われました。このレポートは、ソフトウェアを期限内に、予算内で、すべての約束された範囲で提供しなければならないという古い期待に反して、ソフトウェア開発へのアジャイルアプローチがはるかに高い歩留まりをもたらすことを示しています。このレポートは、アジャイルプロジェクトが3倍成功し、従来のプロジェクトと比較して失敗したアジャイルプロジェクトが3倍少ないことを示しています。 ですから、一部のプロジェクト(要件が変わらない医療/軍事など)では、アジャイル(および特にスクラム)がすべての会議などでオーバーヘッドであり、より論理的であると言う同僚との議論がありますたとえば、ウォーターフォールを使用します。 私の見方では、このようなプロジェクトにスクラムを採用する必要があります。これにより、プロセスがより透明になり、チームの生産性が向上するからです。また、1か月間のスプリントのために8時間をスプリントプランニングに費やす必要がないため、スクラムイベントが必要なければ、それほど時間はかからないと思います。全員が同じページにいることを確認して作業を開始するためだけに、5分間を節約できます。 では、スクラムは、要件が変わらないプロジェクトに追加のオーバーヘッドを作成しますか?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.