リモート作業でiOSアプリ開発のペアプログラミングをする環境をご紹介します。
環境
リモート作業, iOSアプリ開発, Mac, Xcode, Teams
手順
- (ドライバが)Teamsで画面共有をしておく
- (ドライバが)Xcodeで実装を進める
- (お互い)同じ画面を見ながらペアプログラミングをする
- (ナビゲータが画面操作したい時は)Teams画面上部の「制御を要求する」をクリックし、ドライバの画面操作権限を要求する
- (ドライバが)画面上部の「許可」をクリックすれば、ナビゲータが遠隔操作可能となる
- (ナビゲータが)ドライバの画面を直接操作する
Teamsの使い方は以下の記事がわかりやすいです。
Teamsの画面共有の使い方と、共有画面を遠隔操作する方法を解説 | WEB会議DEどうでしょう
役割
ナビゲータの役割
以下の解説がとてもわかりやすいので転記させていただきます。
ペアプログラミングのやり方 - Qiita
- プログラムの大局的な構成を考える
- テストを書く
- ドキュメントを書く
- ドライバの疑問をググる
- ドライバが書いたプログラムをレビューする
(以上に加えて)
- プログラムの局所的なアルゴリズムを考える
- レビューを積極的に行う(付きっぱなしでも良い)
- 関連するtipsを教える
- (一緒にプログラムを書く)
ドライバの役割
- 実装する
注意点
- 同じOS同士でないと、遠隔操作はうまく動かなかったです
- (私が試した環境では、WinとMacでの遠隔操作は出来なかった)
- 時間は決めて休憩をとりましょう
- (時間を決めておかないとエンドレスになり、お互い疲れ果てます)
その他参考サイト
ペアプロの振り返り
約1ヶ月ペアプロを続けて振り返りを行なったところ、かなり好評でした。
「なんで今までやらなかったんだろうと思うぐらいやって良かった」という声もあり、始めた甲斐もありました。
ペアプロには賛否両論あると思いますが、個人的にはやって良かったかなと思います。
以下は振り返りの抜粋です。
良かったこと
- 分からないことが相談することですぐに解決できた
- 一人で悶々と考えるよりも解決が早かった
- 雑談がしやすかった
- リモートで一人でやるよりもコミュニケーションをとりやすい
- 教育
- 社内教育としてペアプロは適している
- チーム内での考え方、方向性の統一がしやすい
- 品質
- 一人で考えるよりも正しい方向に進みやすい
- 声に出すことで客観的に自分を見れる
- コミュニケーション
- リモート環境でのコミュニケーションに最適
- 雑談がしやすい
- チームでの一体感が生まれる
悪かったこと
- Teamsの遠隔操作が私の環境からは出来なかった
- 謎の解明が必要
- ナビゲータは遠隔操作を出来たのに、ドライバー側からの遠隔操作が出来なかった
- ペアプロをやって悪かったことが思い浮かばない
- (ドライバにとっては良いことずくめ)
- ナビゲータの作業時間が奪われる
こうすれば良かったこと
- 時間が足りなかった
- 30分ではもの足りない
- 最低1時間は欲しい
- もっとペアプロをできる人を増やしたい
- 個人のやる気、チーム全体の雰囲気、組織の仕組みが必要
- モブプロをもっとやりたい
ペアプロをやった感想
- なんで今までやらなかったんだろうと思うぐらいやって良かった
- 今後も絶対やった方が良いと思う
- 特に現場に入ったばかりの人にはペアプロをやった方が良い
- ペアプロ最強
- モブプロはもっと最強
- リモート環境なら尚更ペアプロをやるべき
- ストレス発散にもなる
- 何よりもペアプロをやって楽しかった
- おそらくこれが一番大事