より良い開発チームを構築するための16の方法

ロックスター開発者の話のすべてについて、最高の仕事を成し遂げるには、強力で首尾一貫したチームが協力して作業する必要があることは誰もが知っています。それで、ここに質問があります:優れた製品を作成し、部門間でうまく機能する開発者の優れたチームを確立するには何が必要ですか?

私たちはまさにそれを行った技術幹部とエンジニアリングマネージャーに連絡を取り、チームビルディングの苦労して得た知恵を共有するように依頼しました。

次の採用に最適なものを見つけることから、チームを新鮮でやる気に保つことまで、次の集合的なアドバイスにより、チームは最高の状態でコーディングできます。

1.エンジニアに力を与える

エンジニアチームは、特定のプロジェクトの管理、事業開発、またはマーケティングと対立することがよくあります。多くの場合、チームは共同作業者ではなく受注者のように扱われるためです。開発者を最大限に活用するには、開発者の意見を聞いて、彼らが取り組んでいることについて発言してもらいます。

オンラインの不動産サイトTruliaでは、管理チームと開発チームが四半期ごとに集まり、問題の計画と解決を行っています、と消費者サービスのエンジニアリング担当副社長であるJeffMcConathyは言います。

「このプロセスは従業員主導です」とMcConathy氏は言います。「チームは独自の優先順位とロードマップを作成し、それらを会社全体の上級管理職とリーダーに提示する責任があります。各チームはまた、過去の四半期における成功と[学んだこと]を共有します。これにより、各チームが計画を決定し、プロジェクトに優先順位を付けることができます。また、管理チームが質問をして、各グループが成功し、会社にとって正しい方向に進むように設定されていることを確認できます。」

従業員のエンパワーメント対策は、エンゲージメントを確保し、最高の開発者の才能を維持するのにも役立ちます。

「チームは、独自の専門的なロードマップと、特定のタスクに最も適したテクノロジーを決定することを許可されるべきであると同時に、彼らの決定に責任を負います」とMcConathy氏は言います。「チームに特定の高レベルの目標に焦点を合わせてもらい、アイデアと実行を実行させます。これは真のエンパワーメントであり、結局のところ、私たちは皆、違いを生み出し、新しいことを学ぶことができる環境で働きたいと思っています。」

2.あなたのルーツを覚えておいてください

エンジニアリングマネージャーは、コードを書くという最初の愛から離れてしまうことがよくあります。しかし、開発マネージャーの作業プロファイルの「管理」の側面を強調しすぎると、問題はさらに深刻になります。

GitHubのインフラストラクチャ担当シニアディレクターであるSamLambertは、マネージャーとエンジニアの見方が異なる企業は業績が悪い運命にあると主張しています。

「企業は、マネージャーをチームの強力な技術メンターとして位置付ける必要があります」とランバート氏は言います。そうすることで、エンジニアリングマネージャーは、「コードとプロジェクトに関するガイダンスを提供し、技術的な課題を乗り越え、個人的な経験を利用してグループの有効性を高めることができます」。

トレーニングは、マネージャーとチームメンバーを同じボートに集める絶好の機会です。ブーズアレンハミルトンでは、プリンシパルのダンタッカーが、チームとマネージャーのトレーニングとコーチを行うアジャイルコーチのチームから支援を受けています。

「原則として、マネージャーはチームでこれらの経験を経験します」とタッカー氏は言います。「これは、共通言語のレベルを設定し、抵抗と混乱を乗り越え、今後の旅を設計するのに役立ちます。」

TruliaのMcConathyは、ビジネスベースの職務に直面している場合でも、従業員に焦点を当てた文化と開かれた扉を推奨しています。「新入社員や問題を解決しようとしている人とコーヒーを飲むために、社長との会議をキャンセルしました」とMcConathy氏は言います。

3.ビジネスの可視性を高める

開発者にビジネスの可視性を高めることは、技術チームがビジネス目標の達成に向けてより深い理解をもたらすことができるようにするもう1つの方法です。このため、EnvoyのCEOであるLarryGadeaは透明性を説いています。

「個人の従業員情報と顧客データを除いて、私たちは従業員にビジネスに関するすべてを見せます」とガデアは言います。「これには、投資家の最新情報、取締役会のスライド、銀行口座の残高を含む最新の財務情報、編集されていないカレンダーなどが含まれます。」

RedfinのCTOであるBridgetFreyは、開発者が貴重な洞察を得るのを支援する上で、会社のコアビジネス活動への露出が重要であることに同意します。

「私たちのエンジニアは私たちの不動産業者に影を落とし、顧客をツアーに連れて行ったり、住宅購入価格を交渉したりするのがどのようなものかを学びます」とフレイは言います。

4.壁を壊します

プロジェクトが想定されている問題を解決していない場合は、障壁を打ち破る必要がある可能性があります。

Ciscoの開発者エクスペリエンスディレクターであるAmandaWhaleyは、文化とテクノロジーの2つの領域をターゲットにしてサイロを攻撃します。

「文化面では、会社全体の関係構築にエネルギーを投資しています」とWhaley氏は言います。「1つの例は、多くの組織のチームメンバーがワークショップで協力し、コラボレーションを促進するために使用できる接続を作成できる、内部のアンカンファレンスとハッカソンの日を後援することです。」

「テクノロジーの面では、APIファーストの文化を大切にしています」とWhaley氏は付け加えます。「これにより、開発チームがAPIを構築するようになり、他のチームが統合を構築して互いのプロジェクトを活用しやすくなります。」

5.いつクロストレーニングするか-いつ専門にするかを知る

短期的に役割を揺るがすと、予期しない問題をその場で処理するためのより良い訓練を受けたチームが構築される可能性があります。ここでは、チームを最大限に活用するためにクロストレーニングが不可欠です。

RedfinのFreyによると、同社はクロストレーニングを広く使用しています。「エンジニアリングの範囲内で、ほとんどのエンジニアは複数のテクノロジーを使用しており、誰でも参加できる一連のエンジニアリングトレーニングクラスを実施しています。」

ただし、クロストレーニングには上限があり、リターンによってスペシャリストをドメインから引き離して汎用性を高めることはもはや正当化されません。VectorSoftwareの共同創設者兼CTOであるJohnPaliottaは、重要ではありますが、クロストレーニングは行き過ぎになる可能性があると述べています。

「開発グループの場合、複数の開発者が製品の同じ領域で作業できるように冗長性が必要ですが、各開発者にも深い専門性が必要です」とPaliotta氏は言います。「専門化により、ジェネラリストのチームを持つよりも生産性が大幅に向上します。」

6.それを混ぜる

結束を促進し、障壁を打ち破るもう1つの方法は、チームメンバーを、日常業務で通常はやり取りしない可能性のある同僚の技術者に公開することです。

cPrimeの創設者兼CEOであるZubinIraniは、それを混ぜ合わせる必要があると強調しています。「前回の全員会議では、通常のチームに割り込む代わりに、実際には異なるチームを混ぜ合わせて、チーム間の問題について話し合うことができました。物事を改善する方法について一緒に解決策を考え出します」とIrani氏は言います。「たとえば、モバイルチーム、eコマースチーム、APIチームはすべて、チーム間で何がうまく機能していて何がうまくいかないかについて話し合うことを目標に集まり、問題のある場所を改善する方法を考え出すことに時間を費やしました。 」

Yahoo CloudServicesのプロダクトディレクターであるUshaParsaは、チーム間の他家受粉はすべて共通の目標を作成することであると言います。

「私たちは、共通の目標に向けて実行するために集まったさまざまなレポート境界を越えたアジャイルアプローチを信じています」とParsa氏は言います。「モジュラーチームは共通の目標を共有しています。チームは効率を上げるために毎日個別にスタンドアップを行いますが、チームは週に数回、短い「スクラムオブスクラム」でお互いに会い、進捗状況やお互いの助けが必要な場所を共有します。」

7.部門の枠を超えて

開発チームを最大限に活用するための最良の方法は、開発チームを分割し、ビジネスのさまざまな側面から才能をプールする部門横断的なチームにまとめることです。これは、部門のサイロによって妨げられているプロジェクトを見つけた場合に特に効果的です。

RetrieverCommunicationsのCTOであるNicGrangeは、機能ではなく結果に基づいてグループを作成することで、サイロで見つかった問題を減らすことができると述べています。それはあなたのビジネスがどのように構成されているかにかかっています。

「部門の枠を超えたチームの構造を作成することで、サイロの影響を減らすことができます」とグランジ氏は言います。「一部の情報は、部門の枠を超えたチーム内でサイロ化されますが、少なくとも、ビジネスの成果を実現するために必要なすべての情報を持っています。」

8.オフィスを出る

チームメンバーが一緒にうまく機能し続ける方法はどうですか?グループがやる気を感じ、お互いに安心し、そして重要なことに、燃え尽きないようにするにはどうすればよいですか?

FishermenLabsのCEO兼創設者であるEdenChenは、彼の会社がロサンゼルスに本拠を置くオフィスから毎年2週間離れていると言います。

「今年はシドニー、マドリッド、またはブダペストを見ています」とチェンは言います。「私たちはそこで働き、この2週間の期間中もプロジェクトを完了することができますが、これはチームビルディング、プロセスの非効率性について話し合い、複数のチームを同じページにまとめる(ビジネス、プロジェクト管理、設計)ために非常に大きなものです。 、および開発。また、月に1回、外出して楽しいことをするミートアップも行っています。」

9.成功を祝う

燃え尽き症候群を避けて士気を高めるもう1つの方法は、時間をかけて背中を軽くたたくことです。ここでは、Elektrobitの副社長であるArtur Seidelが、成功をすぐに祝うようアドバイスしています。

「私たちは常に、顧客にとって重要なリリースを祝う出荷パーティーを主催しています」とSeidel氏は言います。

彼は、休暇中に仕事をすることになった厳しい締め切りのプロジェクトを思い出します。

「私たちは12月29日に終了し、カナダの荒野でスノーモービルの1日を祝いました…そして、家に帰りました」とSeidel氏は言います。「本当のドラッグだったかもしれないものが、前向きな記憶とチームの絆に変わりました。」

10.恩返しと絆

それに直面しましょう。誰もが常にビジネス目標を追求するためにバグレポートに取り組むことに情熱を感じることができるわけではありません。一部の開発者は、時間があれば、自分のスキルを職場の外でより差し迫った問題に耐えられるようにしたいと考えています。

その本能で走り、エンジニアの魂と精神に貴重なリフレッシュを提供してみませんか?

シスコのWhaley氏は、「従業員が地域社会を支援したり、世界的な大義を支援したりするためにボランティアで時間を割くことを奨励しています。これらのボランティアの機会は、恩返しをし、チームとして一緒に時間を過ごす方法です。」