engineers_blogこんにちは。iOSエンジニアの廣瀬です。おいての活動でもそうなのですが、このような取り組みを行うきっかけは、何か課題を感じた場合です。実現するために起こしたアクション、および何故アクションをとったか、どういう課題を感じていたのかをお話ししていきます。コミュニケーションエンジニアとデザイナー間のコミュニケーションについて課題を感じていました。チームで開発している以上コミュニケーションは欠かせないものです。ついてどういう風に課題を感じていたか説明します。iOSアプリ開発の大まかな基本の流れはデザイナーがデザインをしてiOSアプリエンジニアがコーディングすると言った流れになると思います。ついて実装者側から代替案を提案することもあるでしょう。下記の要因でお互いに考えをうまく伝えられない・伝わらない時もあるでしょう。下の画像のような感じですね。デザインのコンセプトをまとめて共有してもらったり、このような取り組みのおかげで随分わかりやすくなったと思っています。ペアプログラミングの実施についてお話ししていきます。ペアプログラミングなのかペアプログラミングを行なった背景として大きく二つあります。エンジニアが何を考えてコードを書いているかを把握してもらうために実際にコーディングしてモバイルアプリを作るのが一番手っ取り早いなと思いました。言ってもそれを一人で初めから勉強して行うのは大変だし効率も悪いと感じたのでペアプロの選択肢を取りました。ペアプロ以外の選択肢もありました。勉強会を開いて登壇して発表する等。1〜2時間でコミュニケーションが円滑になるほどの効果は見込めないだろう。デザイナーのやってみたい、という気持ちも強かったので対話でのコミュニケーションをとった方が効果が高く満足する結果になるだろうと判断してペアプロを選択しました。導入してみた話)新しいメンバーが入ってきたとき等にデザインのコンセプトを説明できるものが無いと言った課題を取り上げました。このデザインのコンセプトがまとまっているアプリがあったら良いなと思っていました。普段入れていない人への共有へちょうど良いと考えていたからです。あと、画面ぽちぽちやって実際の画面サイズで誰でもアプリのUIを簡単に作って提案できるところまでいけたら面白いなと、頭の中での妄想もありちょうど良い粒度だと思ったので、このアプリの完成をゴールにペアプログラミングを実施していきました。ゴールにすることはしませんでした。頭の中でイメージしやすいようにすること。いったものの存在があること、ちょっとした用語を使ってもデザイナーが戸惑わないようにしたい、といったことを目指しました。目標がコミュニケーションの円滑化だったのでとりあえず動かしながら書いて大まかな動きをイメージできるように必要であれば細かい部分も教える、といったスタンスで実施しました。1.5ヶ月くらい行なってみてこの試みもアプリを完成していないという意味では途中経過ではあるのですがもうほとんど完成しているといっても過言ではないです。2月中には完成するでしょう。実際にコミュニケーションに役立っているかというと役に立っています。(とデザイナーからもフィードバックをいただいています)話す側のエンジニアも代替案を提示するときに何が難しいか、こうした方がもっと良いだろう、という理由も説明しやすく感覚値なのですが前よりも説明を理解してもらえる感じがしています。お互いに言っていることが分かるというのは相互理解において必要なことです。チーム開発を行う上でコミュニケーションのわだかまりが減ったことは大きな一歩と言えるでしょう。注意点この取り組みを行ったことで少し危ない方向に進んでしまったのでその出来事も書かせていただきます。チャット内でデザイナーがペアプロに対しての感想を述べてくれた時に発言したことなのですが、そのまま貼り付けます。部分を把握したうえで気を使ってくれた発言ではあるのですが、良いものを作るためには大いに理想を語りましょうという出来事です。デザインについては理想を考えてもらった方がエンジニアとしても嬉しいなと思っています。取り組みの狙いはコミュニケーションの円滑化を図ることでより良いチーム開発をすることでエンジニアが楽するためではないっていうことを頭に置いてこの記事を読んでもらえると嬉しいです。途中経過ではありますが貼ります。最後にマネーフォワードでは、課題を改善につなげ、効率化を探求するエンジニアを募集しています。ご応募お待ちしています。