ペアプログラミング
ペアプログラミング（英: pair programming）は、2人のプログラマが1台のワークステーションを使って共同でソフトウェア開発を行う手法という説明が起源である。一方が単体テストを打ち込んでいるときに、もう一方がそのテストを通るクラスについて考えるといったように、相補的な作業をする。プログラム開発の現場では、一人で複数台を同時に使ったり、一台に複数台のディスプレイを使うことも多くなり、具体的なやり方は変わっている。
実際にキーボードを操作してコードを書く人を「ドライバ」、もう1人を「ナビゲータ」と呼ぶ。30分ごとか、単体テストを1つ完成させる度に役割を交替するのがよいとされる。また、1日に一度の頻度でパートナーを変えるのがよいともされている。
リモートペアプログラミング
テレワークなど、何らかの理由で遠隔地で作業する場合は、文字を入力する度に相手側のコンピュータに変更がリアルタイムで反映されるエディタや統合開発環境のプラグインを使用したり、画面転送のためのソフトウェアを使用したりして行われる。
git, dockerなどを利用し、同じソースの設計と試験を同時に分担して書いたり、お互いにissueを発行しながら、お互いにcloseし合うなどの方法を使うこともある。