Help us understand the problem. What is going on with this article?

ペアプロで得られるもの

More than 1 year has passed since last update.

ペアプロで得られるもの

by okapon_pon
1 / 32

ペアプロで得られるもの

2017/08/27 Symfony meetup #17

@okapon_pon

  • 日本Symfonyユーザー会
  • Symfony歴6年

今日お話すること

  1. ペアプロで得られるもの(メリット)
  2. ペアプロの難しいところ(デメリット)

今日お話したいこと

  1. ペアプロで得られるもの(メリット)
  2. ペアプロの難しいところ(デメリット)

※ よって、Symfony関係ありません


今日お話しないこと

ペアプロのやり方は話しません
ペアプロにおける開発環境


ペアプロで得られるもの


月並みですが

  • 成果物の品質向上が期待できる
  • コードの共有所有のが進む
  • 新メンバー(中途採用や別チームの人)の立ち上がりが早い
  • ジュニアの教育として有効
  • 開発tipsの共有(環境、ツール)

成果物の品質向上が期待できる

相談しながら開発するので良いものが生まれやすい

  • 機能やUI
  • システムの設計
  • ネーミング

コードの共有所有のが進む

  • 一緒にコードを書くので単にレビューするだけよりも深く理解することができる
  • エンジニアの冗長化
    • 1人が休んだとしても安心(ビジネス目線)

新メンバーの立ち上がりが早い

  • システム構成が分かる
  • コードだけでは読み取れないビジネス背景が分かる

ジュニアの教育として有効

  • 直接教えられるのは得られるものが大きい
  • PRベースで「直してください」とやり取りしたらコメントだらけ・・・

実際やってみて分かったこと


実際やってみて分かったこと

意外と開発効率は落ちない

  • 開発はコーディングそのものより考えている時間の方がほとんど
  • タイピング中は手元に集中しがちで考えることが難しいが、ナビゲーターはその間も考え続けることができるので次にやるべきことにスムーズに着手できる
  • ナビゲーターはミスにもすぐ気が付いてくれる

やってみて感じた最大のメリット


やってみて感じた最大のメリット

PRにおける心理的ストレスからの開放(主観です)

レビュアー、レビュイーどちらの立場でもストレスから開放されます。


レビュアーの立場


レビュアーの立場として辛いこと1

たくさんのレビューをしないといけない

  • 特定の人にレビューが集中する(レビュー地獄で開発できない)
  • 変更内容の保証まではできない
    • 本当にこれでよいのか判断がつかない
    • どこまで考えられて作られたのか、コードだけで汲み取るのは難しい
    • 下手すると変更の背景自体が良く分からない

レビュアーの立場として辛いこと2

github上のやり取りが辛い
(コミュニケーションコスト)

  • コードは直して欲しいけど、それを伝えるのが大変
  • PRが巨大化する前に設計相談して欲しかった
    • できれば全部書き直して欲しい(でも今更そこまで言えない)

ペアプロはレビュアーの負担が軽くなる

ペアプロしたものに関しては変更背景が分かっている = レビユー時間が短縮できる

  • 実装方針にズレが出ない
  • どこまで考えて作て作ったのか、妥協点はどこだったのか
  • 特に効果が大きいのはリファクタリング
    • コードのdiffだけで読み解くのは辛い
    • 思考過程が追えるので変更漏れがないか確認も簡単

ペアプロはレビュアーの負担が軽くなる

  • 複雑なものほどレビューコストが下げられるし安心
  • 書き終わったコードに対して、「こうして欲しい」と後から言う必要がない
  • なにより一緒に開発することで、自分の開発時間も確保できている

⇒ 心の健康


レビュイーの立場


レビュイーとして辛いこと1

何度も手戻りが発生してしまう(特にジュニア)

  • レビューで何度も差し戻しされて一向にリリースできない

レビュイーとして辛いこと2

動くものはできたけどこれで良いか自信が持てない

  • クラス設計、ディレクトリ設計
  • URLやネーミング等の簡単なことも含む
  • 言語やフレームワークなどのお作法

ペアプロはレビュイーの心理的負担も軽くなる

これから書くコードに自信が持てる = 安心して開発できる

e.g.
* 今回実装すべきこと
* 実装方針
* ネーミング
* テスト


ペアプロはレビュイーの心理的負担も軽くなる

書き終わった時が完成 = 即リリースできる


その一方で


ペアプロの難しいところ


ペアプロの難しいところ1

達成感は得づらい

  • 自分で1人でやり遂げたわけではない

ペアでやると窮屈に感じる時もある

  • もちろん1人で書きたい時もある
  • いいアイデアを思いついたときは一気に書き上げたい

ペアプロは苦手という人はどうしてもいる


ペアプロの難しいところ2

人事評価

  • 誰の成果なのか?
  • 目標もチームのエンジニア皆同じになりがち・・・

まとめ


まとめ

  • ペアプロで得られるメリットは総じて大きい
  • 特に心理的ストレスからの開放は計り知れないほど大きい
  • 一方デメリットもあるので組織にアジャストする必要性はある

ありがとうございました

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away