私たちは3人の開発者(2人の経験豊富な開発者と1人のジュニア)のチームです。
私たちは真新しいプロジェクトを始めました。アプリケーションを設計し、適切なアーキテクチャを選択することに集中して取り組み、コードの最初の行を配置します。その中核、つまりアプリケーション全体の基盤となるものを書いています。
これも簡単なアプリケーションではありません。厳しいパフォーマンス要件、大規模に分散された複雑なエンティティモデルなど。
私たちは皆、特にジュニアの快適ゾーンの外にいます。彼は優れたデザインを事前に作成する経験がありません。私と他の開発者が助けを求めており、私たちは両方ともメンタリングとチームの構築を信じているので、それは問題ではありませんが、私たちはそれを行うための最良の方法が何であるかを正確に知りません。楽しい経験とスキルの最大量を学びます。
新しいプロジェクトには後輩がいないことに気づき、既存のプロジェクトでは後輩が学習し、刺激するための完全なコードベースを持っていたので、後輩にとっては簡単でした。しかし、このアプリにはほとんどコードがありません。始めたばかりです。
私たちはいくつかのアプローチを考えていました:
彼をどうにかして設計に関与させて、彼がどういうわけかそれの外に残されたと感じないようにして、彼が経験から多くを学び、自分で試してみるのに十分な自信を得ることはできますか?
次のガイドラインをお勧めします。
それは、ジュニア開発者にどの領域を改善してほしいかによると思います。私が(非常に)ジュニアだったとき、彼らは私に次のような特定の制限されたものを構築するために必要なAPIを与えていました:
->
タスク:人事レコードがクリックされたときに彼/彼女の統計を表示する人事のリストを含むページを作成します。これは、プロジェクトで以前に作成した簡単なサンプルページです。
与えられたタスクの最も重要な側面は、与えられたリソースによってのみ解決可能であり、それらを変更する必要がないことです。
3つの方法すべてが私によく見えます。実際に10種類のアジャイル方法を同時に試してみると、すぐに良い結果が得られるはずです。少なくとも、どちらが機能し、どれが機能しないかがわかります(どちらが最も効果的かは、プレイヤーの性格に大きく依存します)。
ケントベックによって最初に記述されたプロセスに従って、タイピング/シンキングハットが10分(またはそれ程度)ごとに切り替わるプロセスに固執する場合、ペアプログラミングの問題は発生しません(私はどこか覚えていません)
設計に他の人を巻き込むことに関しては-設計段階でいくつかの設計文書(UMLモデルを含む)が作成されると役立つことがわかりました。他の人々(あなたの後輩)は、それらを校正して読み、レビューし、悪魔の擁護者を演じることができます。独立した手付かずのサードパーティのこの役割は、実際には非常に有益です。探索的テスト用- http://www.softwaretestinghelp.com/exploratory-testing-beyond-traditional-testing-boundaries