こちらに参加してきたのでそのメモ書きを
モブプログラミングしよう! -言葉が通じなくても、コードで通じ合える- - ギルドワークス | Doorkeeper

モブプログラミング

一つのモニタを見ながら、複数人でああだこうだ言いながら、みんなでプログラミングをすること。
上記リンクより引用

コーダーはドライバー
その他のサポートする人はナビゲーター

n分区切りでドライバーは交代して、一周したら休む

環境はrepl->itを使った
色んな言語の実行環境を提供しているサービス
https://repl.it/

実験的にやる場合、
みんなで使ったことない言語使うと一緒にパワーアップできていいらしいです

ドライバー

自発的に何か書く場合には、何をするかっていうのを表明する

ナビゲーター

ドライバーに何をコーディングするか指示する

やってみて

  • ()はブラケットとか普段のプログラミング生活で聞かない単語を覚えた

  • ドライバーはナビゲーターの指示を聞いてコーディングするのが基本なので
    指示には、n行目をこうという風に言うとよい

  • 後ろから指示が飛んで来るのでやりやすい
    みんなで作ってる安心感がある
    ブラックボックスは生まれにくそう
    生まれたとしてもその場でTodoとかに詳細に書けばいい
    その文言もチームで考えられるのがよい
    自分でメモを残しても他の人がわからなかったらそのメモは全く意味がないので

  • ゴールを共有しとかないと発散してしまう
    そのため、テスト駆動でやったほうがいいと思った
    徐々に確かなものを作りながら開発できるので

  • コメント書いていって概要設計だけでも面白そう
    大事なことはみんなで決めて、決めたことを並列で各人が実装する
    再度集合してレビューするとか

  • 今回は10人でやったんだけど実際に発言するのは2 ~ 3人
    → 4 - 5人がいいのかな

  • チームのレベルが均等になっていないときつい、プロジェクトの概要がわかってないときつい
    例えば、新人がいると新人は聞いてばかりになってしまうし
    とてもデキる人が1人で進めてしまったら意味がない
    プロジェクトの概要がわかってないと、こうすればいいっていうことも
    検討ハズレなことがある、自信がなくなったりするかなと
    その点、みんなで新しいことをやってみるのにはいいのかも
    実際の仕事では中々やる機会がないのかもしれないけど

  • コードベースだと意外とコミュニケーションがとれる
    画面にコードを書いてデバッグしたりすればいいので
    話せたほうが画面に書かずに済むから早いとは思うけども

  • 普段コードを書いているより、活発にコミュニケーションは行われる
    複数人で問題解決をしているため
    普段は、あるタスクについて一人でコードを書いているので