はじめに

コミュニケーションとは実に難しいものだ. 私のチーム開発で感じた経験をまとめる.

1つの経験につき,1つの記事を書いていこうと思う.その方が読みやすい.

本文

大学2年の時にハッカソンに出場した時のことだ.SNS系のアプリを開発していた.

この時に,メンバーからの提案を,内容をよく見ることなく却下してしまった.

背景

私はチーム開発で,サーバーサイド側を担当していた.比較的開発に慣れている人と,慣れていない人がいた. 私は比較的慣れている側だった.

確か,SNSの投稿の一覧を表示するフロントエンド機能について開発している時だった.細かい違うはあるかもしれないが,概ね. フロント側のとある機能を担当してくれていた人が,この機能をするにあたって,SQL取得こうすればいいかも的な提案をしてくれた. 相手は,比較的開発には慣れていないが,頑張ってくれていた人であった.

内容

投稿の一覧を表示するときに,ユーザーテーブルをこう結合して取ってくれば欲しいデータが取れる!みたいな提案だったと記憶している. この時私は,ユーザーテーブルと投稿テーブルの責務が混ざっちゃう的なことを言って,この提案をよく考えもせずに却下してしまった(今思えば,この責務が混ざるだのなんだのという発言も大きな誤りである).

しかし,正しかったのは相手の提案だった.投稿一覧の時に,投稿したユーザーの名前を表示したいという要件があった.それを考えれば,相手の提案は妥当で,かつ具体的な案も示してくれていた非常に素晴らしい提案であった.

私は提案を却下してしまってから,約1時間後にこのことに気づいた.即座に自身の誤りを認め,謝罪し,提案を受け入れてアプリに反映した.

私はこのことを反省し,今後のチーム開発において2度とこのように安易に人の提案を却下しないと心に決めた. なぜ相手がその提案を考えるに至ったか?に目を向けるべきであった. 該当の機能について,私よりも相手の方が詳しく,私が知っている情報は限定的であることを自覚するべきであった. 今思い返してみれば,プログラミング・アプリ開発について,相手よりも自分の方が詳しいのだという傲慢が原因であった.

自分と相手は大学でも同じ学部で,関わりがあった.また,相手は穏やかで優しい人であった.これらのことが幸いし,チームが険悪な雰囲気になってしまうことはなかった. しかし,私が行った行為は,一歩間違えればチームを瓦解させかねない危険な行為であった.例えばこれが初対面の相手であったらどうだっただろうか?信頼関係がまだ全く築けていない相手であったら,どうだっただろうか?

教訓

ここから得られる教訓は次のとおりだ.

  1. 自分の方が開発に詳しい,慣れている,ベテランだという傲慢は捨てるべきである.
  2. 自分が担当していない領域では,自分よりも相手の方が往々にして詳しく理解している.
  3. 相手の提案には,それを提案するに至った理由や背景がある.そのことを理解するよう努めるべきである.
  4. 相手の提案を無碍にしない.それは,チームの雰囲気悪化につながる.