web-dev-qa-db-ja.com

初心者レベルの開発チームを最大限に活用するにはどうすればよいですか?

私は今、8人以下の初心者レベルの開発者を指導し、適度に複雑なSPAWebサイトの開発を任されているシナリオに自分自身を見出しています。 React(開発者はある程度知っています-のように、小規模で機能するコードをまとめることができますが、完璧にはほど遠いため、明白な問題が含まれる可能性があります)を使用して開発されますそのため、プロレベルのソリューションに直接含めるには不適切です)。

私自身、そのようなウェブサイトを問題なく適度に有能な基準で作成することができます。これは自慢するためではなく、私が前に設定したシナリオをさらに概説するためです。ただし、メンターとして、これらの開発者を可能な限り開発プロセスに関与させ、それによって自分自身も可能な限り開発プロセスから排除することが重要です。

これを行うための戦略を探しています。下位レベルの開発チームを管理した経験と、これをできるだけ少ない問題で達成するために行ったことを聞きたいと思います。私はそれ自体特定の戦略を試していません。しかし、私が指導しているこの開発チームは毎週(または、せいぜい週に2回)会合を開くので、(少なくとも短期的には)より良いものに指導するのは難しいことがわかりました。オールラウンドなソフトウェア開発者であり、今では、十分に開発された製品を1日の終わりに公開する方法を探しています。

  • これでの私の役割は何ですか?私はプロジェクトマネージャーに最も近いと思いますか?私は、このすべてを動かす必要があると同時に、初心者レベルの同僚ができるだけ参加していることを確認する必要がある人です。
  • 誰かがプロジェクトを管理していますか、それとも私ですか?これについて厳密な期限は与えられていませんが、チームのすべてのメンバーと関わりながら、できるだけ早くこれを完了しようとする必要があります(上記のように)。
  • 誰かがこのチームを率いていますか、それとも私ですか?それは私です。私は、誰が何をし、いつ彼らが何をすべきかを言う責任があります。
  • 建築家はいますか、それとも私ですか?それも私です。私は全体像を決定することを気にしません、そしてそれは私が自分自身を好むところだと思います-そのような低スキルの個人と仕事をするときに何とかプロレベルの品質を維持しながら、仕様に一致するように彼らの決定と全体的な出力を導きます。
1
Lucas

一般的な管理アドバイス以外に私は言うでしょう:

  1. 最初に技術要件を取得します。応答時間、セキュリティなど
  2. 使用する技術スタック、jsフレームワーク、バックエンド、データベースを定義します
  3. サンプルページを提供する
  4. タスク要件が明確に定義されていることを確認し、UIスケッチのフローと結果の例
  5. プログラミングスタイルに汗を流さないでください。それが機能する場合、それは機能します。
  6. タスクは小さく、短くしてください。人々が失敗し、必要に応じて別のタスクに移るようにします。

何かが不十分であるとしてプッシュバックする必要がある場合は、以前に定義された要件に対してバックアップする必要があります。できれば1または4

3
Ewan

メンタリングは、スナッフに取り掛かるジュニア開発者が1人か2人しかない場合に最も効果的です。締め切りは厳しくないので、利害関係者からの期待を管理する必要があります。すでに実施されているはずのいくつかのことがありますが、十分な規模の経験の浅いチームがあるため、さらに多くのことがあります。

  • スプリントごとに速度を上げるという目標を設定します。最初のスプリントで1つのことをほとんど達成できない可能性があります。しかし、初心者の1人でも「完了」の意味を理解できれば、次のスプリントで全体的な作業量を増やすことができます。この目標は、作業速度にかなり満足するまで続きます。
  • 量より質を優先します。初心者とベテランを区別するのは、仕事を遂行する際の注意のレベルです。チームが何かをやり直さなければならないたびに、彼らは時間を失い、イライラします。できる限り、時間のプレッシャーを彼らの仕事を正しく行うためのプレッシャーよりも低く保つようにしてください。時間のプレッシャーを完全に取り除くとは言わなかったことに注意してください...
  • 完了の定義。機能が機能している必要があるだけでなく、定義した品質基準を満たしている必要があります。最初はイライラしますが、ほとんどの人はやり直し、必要に応じてやり直すことで学びます。
  • それを取得した人に注意を向けてください。誰が最も早く学習しているかに基づいて、誰かと一緒に作業する時間を優先します。あなたが彼らを適度なレベルの能力に達するとき、あなたは次の人に集中することができます。あなたは一人であり、8つの方法で自分を分割するよりも自分を複製する方が良いです。
  • メンティーをメンターにしましょう。最近のメンティーの1人に、いくつかのタスクを完了するのに十分な能力を持たせた後、まだ一緒に働いていない人と一緒に仕事をさせます。週に1、2時間取って、説明の仕方を指導することができれば、全員をどれだけ早く訓練できるかを加速できます。
  • POSY POSITIVE!前向きな姿勢は伝染性であり、チームのモチベーションを維持するのに役立ちます。否定的な態度は癌のようなものであり、あなたの士気、生産性、品質を食いつぶします。さらに重要なことは、誰かの仕事をレビューしたり、問題を抱えている人を助けたりするときは、それを教える機会として利用することです。良い先生は生徒を怒らせるのではなく、物事をより良くする方法を教えます。
  • 聞く。大量の情報をダンプして、誰かがそのすべてを保持することを期待しないでください。多くの初心者を指導してきましたが、メンティーから多くのことを学んでいることがわかりました。その一部は、その人が情報を処理する方法を見つけることから来ています。仕事の半分は、生徒が何を失っているのかを理解することです。残りの半分は、彼らが理解できる方法でそれを説明する方法を考え出している。メンティーがあなたが教えようとしていることを最終的に理解したときに、メンティーの目が見えるのを見るのは非常にやりがいがあります。

簡単なことではありませんが、それは可能です。運が良ければ、8人の初心者を8人の有能な開発者に変えることができます。そして、それらの有能な開発者は、それを成し遂げるのに1年もかからないところまで、成し遂げられる仕事の速度を上げることができるでしょう。あなたはあなたの質問で、それらの初心者は物事を機能させることができると述べました。今、あなたは彼らに他に何に注意する必要があるのか​​、そしてなぜあなたがあなたのやり方で物事を行うことを勧めるのかを教える必要があります。

3
Berin Loritsch

あなたはこれらのプロジェクトに確かな例を提供することができるようです。ほとんどの開発者はサンプルコードから学ぶので、それを提供してみませんか?これらのタイプの開発プロジェクトをどのように構成するかを概説する必要があるかもしれません。質問に対応し、プロジェクトのレビューに参加してください。 「彼らは私が彼らに言ったようにそれをしなかった」と言うその男にならないでください。

あなたはメンタリングをしているので、これらの新しい開発者を担当する人々からあなたの役割を理解するようにしてください。この問題にどのように取り組むかは、特に彼らが堅実な設計を犠牲にしてできるだけ早く生産的な何かをする必要がある場合、これらの開発者から必要なものによって制限されます。

時間をかけて、できるだけ自分でこれを行う方法を彼らに学ばせたいと思うかもしれませんが、あなたにはその贅沢がないかもしれません。彼らの最初のプロジェクトを堅実な地盤で進めることができれば、彼らはほとんどの新しい開発者よりもうまくいくでしょう。

1
JeffO