メモ

優れたソフトウェア開発チームが持つ共通点とは?


メンバーが上司を恐れて意見を言えないチームや、業務の優先順位がはっきりせず何週間も時間を無駄にしてしまうチームなど、さまざまな理由からパフォーマンスが低下している開発チームが多く存在します。ソフトウェア開発者のデニス・ユー氏は、さまざまなソフトウェア開発チームと仕事をする中で「パフォーマンスの高いチームには共通点があった」と語っています。

Habits of High-Functioning Teams | deniseyu.io
https://deniseyu.io/2020/05/23/habits-of-high-performing-teams.html

◆心理的安全性が高い
他者の反応に怯えたり羞恥心を感じたりすることなく、自然体の自分でいられる環境を指す心理的安全性が、パフォーマンスの高いチームで実現されていたとユー氏は述べています。心理的安全性をチーム内で実現するには、まずリーダーやマネージャーがメンバー個人の社会的・政治的背景や対人関係を把握し、それらが議論にどうに影響するかを理解する必要があります。

ユー氏によると、心理的安全性の高いチームには4つの特徴があったそうです。

1:継続的なフィードバックが業務改善に必要であることを全員が理解しており、チームメンバーがオープンに自己批判できる。
2:個人が業務上の問題に行き詰っている時間が短い。個人で問題に対処する時間にはタイムリミットがあり、タイムアップした場合はチームメンバーに助けを求める。
3:各メンバ-はチーム内における自分の価値と、目に見える業務上の成果を切り離して考える。メンバーの成果はチーム全体の成果であり、自分が書いたコードでも「私が書いたコード」ではなく、「私たちが書いたコード」という表現をしている。
4:休暇を取る人が多い。メンバーが欠けても業務の進行に影響が出ないよう、チーム全体が業務上の技術的な決定を十分に共有している。


◆業務状況が把握しやすい
ユー氏によると、パフォーマンスの高いチームは、ソフトウェア開発において業務状況を記録したり、管理したりするために少し余分な時間を取っていたそうです。例えば、ユー氏が所属していたチームでは主に4つの習慣が根付いていたとのこと。

1:コミットの際、変更点を詳細に記し、最低でもすべての説明に動詞を含める。後から探索しやすくするために、すべてのコミットに番号を振って管理をする。
2:言語やフレームワークの規則に従った、用途が分かりやすいクラス名とメソッド名をつける。
3:変数には「hoge」や「piyo」のようなメタ構文変数を使わず、用途を明確にした変数名を使用する。
4:チーム間のコミュニケーションは、履歴が削除される可能性のあるツールや、新しいメンバーが参照できないツールでは行わない。


◆均等に経験を積ませる
経験豊かなエンジニアなら難しい仕事も安心して任せられるかもしれませんが、一部のメンバーに似たような業務を押しつけないこともパフォーマンスの高いチームが持つ特徴です。チーム全員がどんな仕事にもある程度対処できるよう、メンバーに場数を踏ませることが重要というわけ。

優れたチームは、経験を積ませるために、経験の浅いエンジニアにも難しい仕事を与えていたとユー氏は述べています。もちろん、もし経験の浅いエンジニアがつまづいたとしても、すぐに経験豊かなエンジニアがフォローできるように進捗状況をメンバーで共有しておくことが前提です。


◆コミュニケーションを惜しまない
チーム間でコミュニケーションを頻繁にとることは、質問しやすい環境作りにつながります。しかし、質問する側は何でも質問していいわけではなく、自分で基本的な調査を行った上で分からなかった場合にのみ周囲のメンバーに質問するという姿勢が重要です。

また、「質問される側は寛大であるべき」とユー氏は主張。「相手は自分より知識が劣っている」と決めつけて、相手が既に知っていることまで教えようとしたり、自分の知識を必要以上にひけらかしたりするべきではないと指摘しています。回答する側も、答える際に「○○について知りたいの?」と一言確認を入れるなど、一方的に教えるのではなく、相手の理解を確かめながら説明するのが理想的です。

この記事のタイトルとURLをコピーする

・関連記事
チームやプロジェクトを成功へと導くために必要になる意外な能力とは? - GIGAZINE

従業員が「話せる」上司になるにはどうすればいいのか? - GIGAZINE

優れたリーダーになるためには絶対にスティーブ・ジョブズを模倣してはいけない - GIGAZINE

完璧なチームはどうやって生み出されるのか? - GIGAZINE

Googleの優秀なチームを分析して見えてきた「優れたチームを作っている要因」とは? - GIGAZINE

男女の好感度はチームワークにどのような影響を与えるのか? - GIGAZINE

in メモ,   ソフトウェア, Posted by darkhorse_log

You can read the machine translated English article here.