新しいコードで新しいチームを管理するためのヒント/トリック[終了]


9

自分が最上級の開発者であり、チームの他のほとんどが数年後輩である新しいチームでどのように自分自身を扱いますか。チームの前の仕事は、あなたを含め、他の誰もがこれまでのキャリアで成し遂げたことはありません。

経営陣はチーム全体の生産性の向上を要求し、上級開発者として責任があります。

このような状況で切り札を出すためのヒントはありますか?明らかに、チーム全体が学ぶ時間を必要とし、チームの新しいことを忘れないようにしましょう。ただし、期限も前倒しです...


pm.stackexchange.com
JBRWilkinson

5
@JBRWilkinson同意しない。これは、厳しい期限のあるジュニアデベロッパーの技術リーダーになることです。ジュニア開発者のプロジェクトをどのように管理するかについては同意しますが、技術リーダーになることはPMになることとは異なります。
maple_shaft

回答:


13

厳しい締め切りやプロジェクトの目新しさによって、優れたエンジニアリング手法が妨げられないようにしてください。ソフトウェアリポジトリのセットアップ、コーディングスタイルへの同意、テストスイートの考案など一生懸命働き、彼らの前の仕事を学びなさい。

または別の言い方をすると、あなたの責任と任務は、あなたの経歴と経験から高品質のソフトウェアを構築するために必要なツールが与えられたと経営陣が信じているためです。この仕事が今困難に思えるからといって、突然あなたのスキルを忘れないでください。


チームの全員が、割り当てられる予定のすべてのタスクを見積もる機会を得て、締め切りに間に合うようにしてください。チームはまだロープを学んでいるので、推定値を経過時間に変えるときは、1日あたり5時間を超えて誰もコミットしないでください。また、期限が間に合わない場合は、経営陣にできるだけ早くそのことを知らせてください。
Dawood ibnカリーム2012年

1
@David-どのようにして5時間エクササイズをしましたか(実際に使用するのは悪い数字ではありませんが、どうやってそれを知るのですか)?そのようなプロジェクトの見積もりがくだらない撮影であることを認め、経営陣に伝えてください。
mattnz 2012年

3
ほとんどの人が1日あたり約6〜6.5時間生産的であると思います。いくつかはこれよりも多くを管理しますが、これは良い平均だと思います。しかし、チームは新しいので、少なくとも1日1時間は学習に費やされます。そして、私は見積もりを信じています-誰もがそれを上手にできるわけではありませんが、タスクにかかる時間を知らずにただジャンプしてプログラミングするよりも優れているはずです。
Dawood ibnカリーム

チームメンバーに計画時間を確認する前に見積もりを立てさせ、計画を大幅に超えないようにすれば、賛同を得ることができます。他の推定値を確認する前にそれらを推定することで、推定値にバイアスをかけることも避けられます。
BillThor 2012年

@BillThor:きっとあなたはその男に仕事をやってもらい、それを見積もり、彼の数字を出発点として使うでしょう。私はちょうど仕事を見積もり、「それはその1/3になるだろうけれども」と言われました。なぜ彼らはそれがどれくらいの時間がかかるか知っているかどうか私に尋ねさえしなかったのですか?
mattnz 2012年

7

まず最初に、コードの最初の行からソースコード管理システムの使用を開始します。早い段階で頻繁にコードをチェックする習慣をつけてください。

次に、テスト戦略を決定します。もちろん、これは単体テストを意味しますが、受け入れテストを自動化する方法も検討する必要があります。

3番目に、継続的インテグレーションサーバーを確立して、コードが定期的にビルドされ、定期的にテストされるようにします。

それができたら、チームとして簡単なコーディング標準を確立します。コードを誰でも簡単に読めるようにしたい。標準が何であるかは問題ではありません。タブ付きインデント、スペース付きインデント、同じ行の中括弧など。彼らが何であるかは問題ではなく、誰もが一貫してそれらを適用するだけです。

チームはほとんどジュニア開発者なので、コードを頻繁に見直して、システムに技術的な負担がかかりすぎないことを確認してください。

最後に、SCRUMの使用を検討してください。もしそうなら、コーチを雇うか、いくつかのトレーニングに行きます。あなたは皆、今までにないことをしているので、現実的な期限を設定することは単に不可能です。SCRUMを使用すると、あなたの経営陣はあなたが毎日何をしているのかを可視化できるので、彼らは何が進んでいるか(またはしていないか)を知ることができます。そして、あなたの締め切りは明らかにあなたに与えられたので、SCRUMは少なくとも締め切りに間に合わない場合、少なくとも段階的に完成したストーリーを配信することを保証します。まったく機能しないシステム。


2
+1およびバージョン管理とコードの早期および頻繁なレビュー。
jmq 2012年

2
ソース管理は非常に必要なプロセスであり、チームの構成に関係なく、何に関係なく実行されるべきであると私は考えています。
maple_shaft

6

@chrisaycockの回答に加えて...メンタリングやトレーニングなどに割り当てる必要がある時間を過小評価しないでください。リードとして、詳細を手放し、チームを信頼する方法を学ぶ必要があります。あなたの仕事は、イネーブラー、ロードブロックリムーバーになり、経営陣がそれに突き当たったときに干渉を実行することです。約7または8の「通常の」チームでは、リードはもはやプログラムしません。状況では、これは3または4(たぶんそれ以下)、あなたはプロジェクトのプログラミングリソースではありません。


メンタリングとトレーニングのための時間の割り当てについて+1。効果的な技術リーダーがジュニアデベロッパーの生産性を高めます。
maple_shaft

「あなたはプロジェクトのプログラミングリソースではありません」。彼の経営陣も同じように感じているのでしょうか。あなたがプロジェクトの「ヒーロー」プログラマーにならないことを願っています。
jmq 2012年

OPは単に最も上級の開発者であり、特別な肩書きや義務はない(つまり、彼は「技術リーダー」または「アーキテクト」ではない)という印象を受けました。その場合、彼は間違いなく開発リソースであり、おそらく最も生産的なリソースになると予想されます。
TMN 2012年

@TMN:私は、1人の熟練/経験豊富な男と他のすべての男が著しく熟練していないチームで何が起こるかという現実を反映していました。間違いなく、経験豊富な人がコーディングすれば、最も生産的になり、コーディングすることが期待されます。彼がそうしなければ、チームは最も生産的になります。啓発されていない組織では、マネージャーが個々のパフォーマンスを測定するので、トップの人は最善を尽くしているように見えます-TEAMをパフォーマンスさせると、報酬はほとんど得られません。彼は後輩を乾かして、自分を素晴らしく見せる方がいい。
mattnz 2012年

1

2つの領域でのコミュニケーションに焦点を当てます。

これを行うのは簡単ではありません。それが、この仕事が難しい理由の1つです。締め切りに間に合うように機能を削減する必要がある場合は、それを超えてください。このすべてで回避しようとしていることの1つは、期限を設定するための迅速なコードです。それは、長続きしないコードベースの終わりの始まりであり、窒息する技術的負債の始まりです。

2)チーム間のコミュニケーション。ブライアンや他の人が推奨するような正式な慣行を設定します。毎日のスクラムに加えて、週一度など、チームとして定期的に会うようにしてください。最も重要なツールであるを聞くことで、尊敬と信頼を得る。あなたが助けることに集中することを確認してください。すべての犠牲を払って否定的な批判を避けてください。必要な場合は、肯定的な批評と励ましを使用します。たとえば、「それは素晴らしいです。検討したいことがXであるとしたら、それは私たちが必要とするものではないので、代わりにXを実行する必要があります」


0

私がやったことは、有能なものを特定し、分割して征服することです。私はトップ2または3を取り、彼らを船長にする。他のチームは、キャプテンに続いて自分の小さなチームに均等に分けられます。

私は船長にチャンクまたはモジュールをプログラムに与えます。

キャプテンは初心者に小さなプログラミングや研究タスクを与え、彼らが何をしているのかを説明しながら、メンタリングが行われています。

全員が同じオープンスペースに入るように部屋を配置しようとしますが、各チームには独自のコンピューターの輪があります。物事が迅速に動くように、私はみんなと叫ぶ距離にいるのが好きです。

これは、これまでのところ約10〜20人のプログラマーに適しています。小さなグループの方が1つのグループにいるほうがいいので、まだ大きなグループには取り組んでいません。


Divide&Conquerには落とし穴があります。これは、すべてのサブチームがチーム全体が直面する同様の問題のために(悪い)ホイールを再発明することで終わります。
NWS 2012年

特に別の建物にいる場合はそうですので、私は誰もがオープンスペースにいるようにし、定期的に歩き回ります。私がしていることは、コアAPIシグニチャーを構築し、チームがそれらを構築してすべてがつながるようにすることです。
Jason Sebring
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.