ベトナムIT企業におけるペアプログラミングの活動の役割はとても大切です。ベトナム システム開発チームの能力を上げて、プロジェクトの質を改善します。

ベトナムIT企業におけるペアプログラミングの活動の役割はとても大切です。ベトナム システム開発チームの能力を上げて、プロジェクトの質を改善します。
では、ペアプログラミングとはなにか?どうやって実行できるか?ベトナムIT会社のペアプログラミングの活動はどうなのか?すべては、NALのベトナムシステム開発のベテランスペシャリストであるPham NgocHoang氏が説明します。
1. ペアプログラミングとは何か?
ペアプログラミングはペアリングとも呼ばれます。ペアでのプログラミングはソフトウェア開発の基本的な技術です。一つのコンピューターで二人で一緒に一つの仕事をしています。
それぞれ、ドライバーとナビゲーターの2つの役割があります、ドライバーはソースコードを実装して、その間にナビゲーターはドライバーを監視し、アドバイスを出して、タスクの概要をまとめてドライバーに伝えます。この2つの役割は、定期的に入れ替わり立ち替わりが可能です。
2. ペアプログラミングの役割
人間
– チームワークの改善:ソースコードを実装する際に、ソースコードについて相談する必要があります。チームのメンバーはコミュニケーションを密に取ることで、お互いをよりよく理解するのに役立ち、チームワークの問題も強化されます。
- お互いのスキルがより磨かれる:コードをペアリングすると、2人の視点が違ったり、知識や技術が違ったりして交流が生まれます。特にレベルの高い人が同じコードをペアリングしていた場合⇒チーム全体のスキルが一緒に磨かれます。
- チームの集中力、自信と満足度がが改善されています:ペアコードをする場合、気が散ることが少なくなります。また、他の人一緒に実装することはより面白く、より楽しく行うことができ、徐々に持っている知識にもっと自信を持つようになります。
- 問題解決力の強化:Rubber Duckingという技術を聞いたことがありますか?ペアコードをする際、自分のソースコードをパートナーが分かるように説明する必要があります。これもRubber Duckingと同じ結果が得られます⇒理解を助け、思いもよらなかった問題を解決できるかもしれません。
プロジェクト
– プロジェクトのソースコードの質が向上します:バグが減り、ユニットテストをより多くカバーし、コードが分かりやすくなります。ペアコードを行う際、間違ったところを見つけやすく、より良い問題解決方法を思いつくことができます。
- 問題解決時間が短縮されます。通常は1人1つのしごとを行う方が早くなりますが、実際、ペアプログラミングは複雑な問題に対しての問題解決のスピードが早くなります。
- ペアコードをする際、プロジェクトを詳しく理解できます。プロジェクトをうまく進めるために、その点は非常に重要です。
=>上記のように、ペアプログラミングはプロジェクトの質を向上させ、時間と費用を節約します。
3. ペアプログラミングの実行方法
2種類:経験値とタイプ
経験値
経験値が高い人ー経験値が低い人(シニア-ジュニア、後輩–-新入社員など、)。これは経験値の低い人が学習をスピードアップするために素晴らしい組み合わせです。チーム全体で経験を共有できる良い方法ですが、バランスに注意しましょう。
経験値が同じ人(例えば:ジュニアージュニア…)この組み合わせは生産性や品質も大幅に向上させます。同じレベル同士でも、情報共有することで相乗効果がうまれます。
タイプ
ドライバーナビゲーターは一般的なタイプで、2つの役割を変更⇒一番良い結果を出力できるようにします。しかしながら困難なことがあります:
+ ドライバーはコードの実装に焦点を当ている間にナビゲーターは邪魔をしたくありません。
+ ドライバーが「ちょっと待って」と言った時⇒その時ナビゲーターはフリーになって、仕事に集中していない可能性が高いです。
つまり、ペアプログラミングを成功させるためには、鍵となるのはお互いの尊重とコミュニケーションです。しかしながら、新しいペアコードグループでは難しいことが多いです。
他にも次のような新しいペアのために、始めるべきだと思うテクニックがいくつかあります。
強力と伝統的なペアリングテクニック
この技術の方針は”ナビゲーターの誘導があるまではドライバーは何もしません。”というものです。
ドライバーがナビゲーターにアイデアの説明を求めても、ナビゲーターはそれを明確にした上で、見守ります。
ピンポンペアリング
ユニットテストを扱う際にこの技術を利用します。最初の人がテストの失敗を作成して、2人目の人はそのテストの失敗を完了させ、また別のテストの失敗を書いて1人目に渡します。カバレッジがカバーされるまで繰り返します。
4. いつペアプログラムを利用したほうがいいのか?
ペアプログラムを利用したほうがいい場合:
- 複雑なタスクや大きなプロジェクトの場合
- コーチングをする場合
- 修正する場合
- チーム内のメンバーのレベルを上げたい場合
上記のような場合、適切なタイミングを見つけて適用してみてください。一度でもペアプログラムの経験を持っていれば、躊躇せずに提案してみてください。
ペアプログラムを利用する際の注意:
- 公平を期すためにも、2人は同等の役割
- 自我を低くして、お互いに尊重して、お互いの意見を把握する
- パートナーを信頼する
- 無理強いしないこと
- パートナーに適切なタイミングで「ドライブ」する機会を与える。
- オープンなコミュニケーションを促す。
- 休憩時間を確保する
- 間違いを確認する
- 自分の誤りを受け止める
- 落ち着いて、慌てない行動
5. NALにおけるペアプログラムとは:
NALでのペアプログラムとはほぼ欠かすことのできない活動になりました。この活動を通してメンバーはお互いに知識を共有し、同時にプロジェクトの質を改善します。実際、この活動は一回60分か時々仕事が終了するまで行います。
ナビゲーターは通常、より高度な人です。開始時には、両方が対処すべきタスクを分析して、解決方法を統一してから、ドライバーがコード化し、ナビゲーターは仕様書を詳細に分析します。そのタスクの影響とソースコードを実装する際の注意点をドライバーに伝えます。
実践してみると、メンバーのレベルが上がり、タスクの解決が早くなり、ベースコードが良くなることによって、バグが減るなどの効果が証明されています。
ペアプログラムには多くのメリットがありますが、どんなプロジェクトにも適しているわけではなく、ある人にはうまくいくかもしれませんが、他の人にはうまくいかないかもしれません。ベトナムIT企業ごとに、ベトナムのシステム開発者のビジネスに合ったペアプログラミングの実装方法があります。