InfoQ ホームページ チームワーク に関するすべてのコンテンツ
-
プリンシパルエンジニアになるためのスキルを養うには
プリンシパルエンジニアになるには技術スキルだけでなく、周囲へポジティブな影響を与える発信力やコミュニケーション能力、戦略的思考といった側面も問われる。「成功とは、集団としての文化を形成し、チームワークを活性化することだ」と、Sophie Weston氏は述べている。QCon Londonでの講演では、協業能力という誰もが持っているスキルを活かし、複数分野における専門的なスキルを磨いていくことを奨励している。スポーツやボランティア活動、ゲームといった業務以外の私生活で培われるスキルがあると、プリンシパルエンジニアに求められる協業観点やリーダーシップの素質を養うことが可能だ。
-
ソーシャルドライバーを活用してソフトウェアエンジニアリングチームのパフォーマンスを向上させる
Lizzie Matusov氏が、技術的なドライバー(例えば、速度)はチームのパフォーマンスの不完全な視点しか提供しないと発表した。信頼、自律性、目的、心理的安全性といった「ソーシャルドライバー」(社会的要因)はより完全な視点を提供し、改善のための重要な機会を明らかにする。彼女はQCon San Franciscoで高パフォーマンスのエンジニアリングチームの背後にあるソーシャルドライバーについて話した。
-
ソフトウェア業界でレジリエンスを高める業界・企業文化や習慣を育むには
レジリエンスを高めることで、課題に対する個人や企業の柔軟な対応が可能になる。Kathleen Vignos氏曰く、個人のレジリエンス、技術におけるレジリエンス、企業のレジリエンスの根底には、それぞれ適応力、幅広いツールの習得、柔軟性と強力なネットワークが必要になるという。 急速に変化するソフトウェア業界では、技術変化にアンテナを広げ、新たな知識の吸収して柔軟性を高め、協業を進めることがレジリエンス向上につながるというのだ。
-
コーディングの規約とガイドラインで得られた学び
コーディングの規約とガイドラインに従うことでコードの一貫性が向上するが、運用を誤ると残念な結果につながることがある。 Arne Mertz氏は、規約やガイドラインの採用範囲をソフトウェア開発者で選択し、逸脱箇所を明確に文書化しておくことを提案している。こうすることで、開発者同士がコミュニティや日々の仕事の中でエクスペリアンスを議論でき、不必要で煩雑な書類作業に煩わされることなく、コラボレーションの促進やコード品質の向上を目指すことができる。
-
データコントラクトでデータチームのチームコラボレーションを促進するには
データコントラクトは、データプロバイダーとデータコンシューマー間のインターフェース定義であり、データモデル、品質保証、所有権などを指定する。Jochen Christ氏によると、データコントラクトはデータメッシュでの分散データのデータ所有権の決定に不可欠であり、このおかげでデータ特定性、データ相互運用性、データガバナンスが確保されている。データコントラクトでチーム間のコミュニケーションが促進され、データプロダクトの信頼性と品質が向上している。
-
コピー&ペーストのデプロイから完全なGitOpsへ移行する方法
InnerSourceは、GitOpsを導入する際、企業固有のロジックを共有することで開発作業の軽減に貢献したと、Jemma Hussein Allen氏はQCon Londonで語った。彼女は講演の中で、コピー&ペーストのデプロイメントから完全なGitOpsへと移行した方法を示した。彼女は、心理的に安全な環境は、ペインポイントを解決しイノベーションを促進するのに役立つオープンで正直な議論のために本当に重要であると述べた。
-
持続可能なエンジニアリング・パフォーマンス改善のためのDORAの活用
DORAは、チームによる使用方法と企業内でのサポート方法次第で、持続可能な変化を促進するのに役立つ。Carlo Beschi氏によると、DORA主要指標に関する良質なデータを得ることが難しい場合がある。チームはデータを分析し行動することでDORAレポートを継続的な改善に活用できる。
-
ソフトウェア組織における高速フローの実現
フローを阻害する要因を解決し、不必要な認知的負荷の原因を取り除くことで、組織における文化的な問題を解消できるとNigel Kersten氏は論じた。コミュニケーションしやすい明確な戦略からスタートし、その後ストリーム・アラインド・チームとプラットフォーム・チームの創設に進むべきだ、と彼は提案した。
-
Lyft社が共同作業のためのProtocol Buffers設計ベストプラクティスを促進
Lyft社は主にチームやシステム間で共有される定義のための共同プロトコル設計に焦点を当て、システム間統合のためにProtocol Buffersを使用した経験を発表した。同社は、単なる効率性の最適化というよりも、知識共有、一貫性、開発プロセスの質を向上させるアプローチを推進している。
-
チーム・イネーブラーとしてのLLMとエージェント
Scrum.orgは最近、COOであるEric Naiburg氏によるAI as a Scrum Team Member と題した記事を掲載した。Naiburg氏は、スクラムマスター、プロダクトオーナー、開発者にとっての生産効率の利点を説明した上で、読者にAIが「チームメンバー」としてスクラムチームに「シームレスに統合されていることを想像する」よう呼びかけた。Thoughtworks社のAIアシストソフトウェアデリバリーのグローバルリードであるBirgitta Böckeler氏も最近、「Exploring Generative AI」と題した記事を発表し、エンジニアリングシナリオにおけるLLM(大規模言語モデル)の使用を含む実験に関する洞察を共有した。同実験においては、LLM(大規模言語モデル)がソフトウェアデリバリーチームに相乗効果をもたらしている可能性がある。
-
ソフトウェア開発における高パフォーマンス作業環境の醸成
Eb Ikonne氏によると、リーダーは、ソフトウェア開発チームの成功がどのようなものかを理解できるように、やる気を起こさせるチャレンジやミッションを提供すべきである。リーダーは、効果的なチームワークを促進する構造を提供し、チームの成功に悪影響を与えるものに対処し、摩擦を減らしたり取り除いたりできる。コーチングは、人々が効果的に協力する方法を見出すのを助けることができる。
-
ソフトウェア・チームのストリームアラインド、プラットフォーム兼任化による生産性の向上
増加する仕事量を効率的に管理し、品質と効率を維持するために、あるソフトウェア・チームはストリーム・アラインドとプラットフォームの2つの目的を持つことにした。エンドユーザーに迅速に価値を提供し、チームの成果を安定的に維持するために、彼らはメインアプリケーションをAPIファーストに書き換え、顧客向け製品にマイクロリリースを導入した。Marion Løken氏は、NDCオスロで彼女のソフトウェア・チームが経験した変化について語った。
-
テクノロジーを駆使したソフトウェアチームの組織ネットワーク
大規模組織でのアジリティを維持するために、ソフトウェアチームは技術的・組織的ソリューションを用いた依存関係の軽減や作業の自律化ができる。Fabrice Bernhard氏によると、コラボレーション技術の活用で、チームでの分散型ネットワークが構築が可能だ。リーダーは、顧客が納得できる製品提供を目的とした問題解決文化を築くことでチームをサポートし、チーム力を強化できる。
-
ソフトウェア製品チームを技術投資家に変える
組織の重要な責任は、ユーザー価値と収益性のバランスを取ることにある。製品組織では、ソフトウェア製品チームは自らの時間を投資する。Fabrice des Mazery氏によれば、ソフトウェア開発者はステークホルダー以上の存在であり、製品チームの一員である以上、主要な投資家である。
-
ソフトウェア・エンジニアリングの役割からマネジメントの役割へ移行する
エンジニアを率いるのが得意になりたいソフトウェア・エンジニアは、マネジメントを実践する日常的な機会を利用できる。Peter Gillard-Moss氏はQCon Londonで講演し、マネージャーになった経験を共有し、マネージャーを目指すエンジニアにヒントやアイデアを提供した。