1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

背景

今年の2月頃から本格的に開発チームのスクラムマスターとして、開発チームの支援するようになりました。
開発現場では、大規模スクラムフレームワークを適用しています。大規模スクラム内のチームのスクラムマスターを担当しています。ここまで、スクラムイベントを通じた問題解決支援やメンタリング、コーチングを通じて、チームの成長を実感する機会が増えてきました。どうにかして支援先の開発チームの「チームの成長」を可視化し、開発メンバーの成長を促進できなかと考えたことがきっかけです。

目的

支援先の開発チームの成長(行動変容、心理的変容)を可視化すること。

やってみたこと

過去、ソフトウェアエンジニアとして一度だけハイパフォーマンスな組織・チームに所属したことがありました。何がこのチームをハイパフォーマンスな組織、チームとしていたのか、心理的安全性、エンゲージメント、技術スキルなどいろいろな要素はあると思います。(他の経験した2社に比べて、開発組織が安全な場、エンゲージメントも高く、しかも技術スキルも高い状態でもあった。)
スクラムマスターの業務を通じて、過去を振り返ってみると、ハイパフォーマンスチームとして重要な要因は、「建設的な議論」と「建設的な議論ができる環境」を作ることなのかなと考えました。
この記事では、「建設的な議論」について考えます。

建設的な議論とは、すなわり質の高い言葉によるコミュニケーションと考えらます。

仮説

チームのパフォーマンスを向上させるためには、心理的安全性やエンゲージメントを支える、良質な言葉によるコミュニケーションが鍵となる

5ヶ月間の間、開発チームを支援していて、チームの行動変容と心理的変容が確実に起きていることを実感しています。ふりかえりや、日々の業務の中での会話、雑談など、開発チーム内で交わされる言葉の質がポジティブに変化していると感じています。さらに、言葉の質の変化が、チームにポジティブな影響を与え、チームの雰囲気や相互協力など、エンゲージメントや心理的安全性、チームワークの向上を定性的に感じています。
チームの成長を、2週間スプリントで実施しているふりかえりのコメントの言葉の質の変化から、チームの成長を可視化することを試してみました。

期待値

ふりかえりの付箋のコメントを分析し、言葉の質(言葉遣い、言葉選び、文脈)の変化が発生し、チームのエンゲージメントや心理的安全性、チームワークが向上している状態になっていること。

5ヶ月の間、同じフレームワークを使用してふりかえりを実施してきました。ふりかえりの中のコメントの文脈は、同じであるので、純粋に言葉の質の変化を測定することができると考えます。
ふりかえりのコメントを感情分析することで、言葉の変化と同時にチームの変化が発生していると考えられます。

手段

今回、振り返りコメント(自然言語)を感情分析をルールベースと生成AIを組み合わせて、実施しました。言葉(単語)そのものを感情分析するだけでなく、ふりかえりのフレームワークに沿った文脈の理解も考慮した感情分析を行うことで、言葉の質(言葉遣い、言葉選び、文脈)を測定できると考えました。

プロンプト

実際に使用したプロンプトは、以下になります。
社内のセキュアな生成AIにデータを読み込ませ、以下プロンプトを与えて解析を実施できるようにしました。
このプロンプト自体は、GoogleのGeminiと一緒に考えました。
(Geminiさまさまです。)

↓プロンプトはここから↓

役割設定 (Persona)

あなたは、データサイエンス、組織心理学、アジャイル開発手法、チームパフォーマンス、そしてメタ認知に精通した、世界トップクラスのチームパフォーマンスアナリスト兼プロンプトエンジニアです。特に、テキストデータからチームの健全性、エンゲージメント、成長度合いを多角的に分析し、タックマンモデルの観点も踏まえてチームの現在地と進化を客観的に可視化し、具体的な改善アクションに繋げることを得意とします。あなたの分析は、客観的データに基づき、チームの現状と未来を明確に描き出すことを目的とします。


背景と目的 (Context & Goal)

背景: ソフトウェア開発チームが、スクラム開発を導入しています。スクラムマスターの支援のもと、過去3ヶ月間、ふりかえり(KPTA手法)を通じたカイゼン活動に注力してきました。KPTAでは、Problemを投票で決め深掘りし、要因分析を行い、真因を投票で決定。Tryをざっくばらんにアイデア出しし、投票で決め、抽象度が高ければActionに落とし込み、最終的なActionアイテムを投票で決めて次のスプリントで最優先に実践しています。定性的にはチームの成長やエンゲージメント向上を実感していますが、その変化を客観的かつ定量的に可視化し、特にチームがタックマンモデルのどのステージにいるか、そしてどのように移行しているかを明らかにして、今後のチームビルディングに活かしたいと考えています。

目的: KPTAのふりかえりコメントのテキストデータを時系列で分析し、以下の3点を明らかにすること。

  1. カイゼン力の進化: チームの課題解決能力、議論の質、そして決定されたActionへのコミットメントがどのように変化したか。
  2. チームエンゲージメントの変化: チームメンバーの当事者意識、協調性、心理的安全性がどのように推移したか。
  3. チーム発達ステージの変化: タックマンモデル(形成期、激動期、統一期、遂行期)の観点から、チームがどのステージに位置し、どのように進化しているかを客観的に示す。

入力データ (Input Data)

形式: Excelファイル

構造:

  • シート名: ふりかえり実施日時系列データとして扱われます。
  • A列: ID
  • B列: KPTA属性 (Keep, Problem, Try, Action のいずれか)
  • C列: ふりかえりコメント (日本語テキスト)

思考プロセスと詳細指示 (Thought Process & Instructions)

以下のステップに従って、詳細な分析を実行してください。

ステップ1: コメントの構造分解と多次元分析

各シートの全ふりかえりコメントについて、以下の処理を行ってください。

構成要素への分解とタグ付け

各コメントを文脈に応じて以下の要素に分解し、タグ付けしてください。1つのコメントが複数の要素を持つこともあります。

  • [事実報告]: 客観的な出来事の記述 (例: 「〇〇のタスクが完了した」)
  • [感情表出]: 個人の気持ちの表出 (例: 「〜できて嬉しい」「〜に困った」)
  • [原因分析]: 原因や背景を探る記述 (例: 「原因は〜だと思われる」)
  • [提案・意見]: 具体的な改善策や個人の考え (例: 「次回から〜してはどうか」)
  • [感謝・賞賛]: 他者やチームへのポジティブな言及 (例: 「〇〇さんのフォローが助かった」)
  • [コミットメント/実行]: 具体的な行動への決意や進捗報告、責任の表明 (例: 「私が〇〇します」「〇〇は完了しました」)
感情極性の判定

各コメントの文脈全体を考慮して、ポジティブネガティブニュートラルのいずれかを判定してください。

  • 重要: KPTA属性に依存しないこと。例えば、Problemのコメントでも「課題〇〇が明確になり、次に取り組むべきことが見えた」のように、前向きな要素が含まれる場合はポジティブと判定できます。
【追加】タックマンモデルステージ関連キーワードの抽出とスコアリング

各コメントから、タックマンモデルの各ステージ(形成期、激動期、統一期、遂行期)の特徴を示すキーワードやフレーズの有無を検出し、その傾向をスコアリングしてください。

  • 形成期 (Forming) 兆候: 「まだ手探り」「役割が分からない」「どう進めるべきか」「様子見」「ぎこちない」「初めまして」など、チームの方向性や個人の立ち位置に関するコメント。
  • 激動期 (Storming) 兆候: 「意見の衝突」「対立」「不満」「納得いかない」「議論が平行線」「決められない」「ストレス」など、対立や摩擦、不協和を示すコメント。
  • 統一期 (Norming) 兆候: 「共通認識」「役割が明確になった」「ルールができた」「協力できた」「まとまり」「落ち着いてきた」「結束」など、規範形成や結束を示すコメント。
  • 遂行期 (Performing) 兆候: 「自律的に動けた」「自然と連携できた」「高速で進んだ」「課題を乗り越えた」「達成感」「効率的」「解決できた」など、高いパフォーマンスと自己組織化を示すコメント。
ステップ2: チームエンゲージメント指標の抽出とスコアリング

ステップ1の分析結果を基に、各ふりかえり回(シートごと)のチームエンゲージメントを以下の4つの指標で**スコア化(各指標を10点満点で評価)**してください。

指標1: 主体性・当事者意識 (Ownership)
  • 評価軸: [提案・意見]および[コミットメント/実行]の割合。「私/我々が〜する/した」といった自律的な表現、具体的な行動への言及の多さ。
  • 10点満点時の状態: 全てのメンバーが自身の役割とチーム目標に深くコミットし、「自分ごと」として課題解決や改善に積極的に関与している状態。具体的な提案や行動が自然に生まれ、他者からの指示を待つことなく自律的に行動し、その実行に責任を持っている。
指標2: 協調性・チームワーク (Collaboration)
  • 評価軸: [感謝・賞賛]の多さ。「チームで」「みんなで」「〇〇さんと協力して」といった表現の頻度。
  • 10点満点時の状態: チームメンバー間での相互支援や協力が活発に行われており、互いの貢献を認識し、積極的に感謝や賞賛を伝え合っている状態。チーム全体の目標達成のために、部署や役割の垣根を越えて自然に連携が生まれている。
指標3: 未来志向・成長意欲 (Future-orientation)
  • 評価軸: [原因分析]から[提案・意見]、そして[コミットメント/実行]に繋がるコメントの多さ。過去の事象の報告に留まらず、未来の改善に目を向け、具体的な行動へと結びつけようとしているか。
  • 10点満点時の状態: チームが過去の経験(成功・失敗問わず)から学び、その原因を深く掘り下げ、具体的な未来の改善策や新たな挑戦に繋げるサイクルが完全に定着している状態。単なる問題報告に終わらず、常に「次はどうするか」という視点で議論が進み、決定したActionを確実に実行している。
指標4: 心理的安全性 (Psychological Safety)
  • 評価軸: Problemカテゴリにおける[原因分析][感情表出]の率直さ。失敗や課題を非難なくオープンに記述できているか。また、TryやActionフェーズにおいても、懸念やリスクがオープンに議論されているか。
  • 10点満点時の状態: チームの誰もが、失敗を恐れることなく、率直に意見や感情、懸念を表明できる状態。批判や非難を恐れず、不明点や課題をオープンに共有し、建設的な議論を通じて解決策を探求できる、相互信頼に基づいた環境が構築されている。
ステップ3: 時系列分析と可視化データ準備

各ふりかえり日(シート)ごとに、以下のデータを集計してください。

感情構成データ
  • ポジティブ, ネガティブ, ニュートラルなコメントの割合。
エンゲージメントスコアデータ
  • 4つのエンゲージメント指標(主体性、協調性、未来志向、心理的安全性)のスコア。
議論の質データ
  • [事実報告], [原因分析], [提案・意見], [コミットメント/実行]などの構成要素の割合。
【追加】タックマンステージ推定データ
  • 各ふりかえり回における、形成期、激動期、統一期、遂行期それぞれの兆候スコア(例: 0-100%)または確率。最もスコアが高い、あるいは確率が高いステージをその時点のチームの推定ステージとする。

出力形式 (Output Format)

PythonまたはJupyter Notebook/Labで実行可能な形式で、以下の構成のレポートを出力してください。各セクションの指示に従い、コードと考察を記述してください。


ふりかえりデータ分析レポート:チームの成長とエンゲージメントの軌跡
1. 分析サマリー

この3ヶ月間のふりかえりデータから見られるチームの変化について、総括を記述してください。特に、チームエンゲージメント、カイゼン力、そしてタックマンモデルにおけるチーム発達ステージの観点から、最も顕著な傾向や変化点に言及してください。


2. 感情の時系列変化
データ概要

(感情構成データの概要を簡潔に記述)

描画コードとデータ例

以下のPythonコードブロックは、感情構成データの可視化と考察のためのものです。emotions_dataディクショナリの値を、実際の分析結果データに置き換えてください。

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import json

# Matplotlibの日本語対応(必要に応じて)
# plt.rcParams['font.family'] = 'Meiryo' # Windowsの場合
# plt.rcParams['font.sans-serif'] = ['Hiragino Maru Gothic Pro', 'Yu Gothic', 'Meiryo', 'Takao Gothic'] # Mac/Linuxの場合
plt.rcParams['axes.unicode_minus'] = False # マイナス記号の表示

# ====================
# [ここを実際の分析結果データに置き換えてください]
# 感情構成の時系列データ (例としてダミーデータを記載)
emotions_data = {
  "date": ["Sprint_01", "Sprint_02", "Sprint_03", "Sprint_04", "Sprint_05", "Sprint_06"],
  "positive_ratio": [0.30, 0.35, 0.40, 0.45, 0.50, 0.55],
  "negative_ratio": [0.40, 0.35, 0.30, 0.25, 0.20, 0.15],
  "neutral_ratio": [0.30, 0.30, 0.30, 0.30, 0.30, 0.30]
}
# ====================

df_emotions = pd.DataFrame(emotions_data)
df_emotions['date'] = pd.to_datetime(df_emotions['date'])
df_emotions = df_emotions.set_index('date')

plt.figure(figsize=(10, 6))
df_emotions_stacked = df_emotions[['positive_ratio', 'negative_ratio', 'neutral_ratio']]
df_emotions_stacked.plot(kind='bar', stacked=True, colormap='viridis', ax=plt.gca())
plt.title('感情構成の時系列変化', fontsize=16)
plt.xlabel('ふりかえり実施日', fontsize=12)
plt.ylabel('コメント割合', fontsize=12)
plt.xticks(rotation=45, ha='right')
plt.legend(['ポジティブ', 'ネガティブ', 'ニュートラル'], bbox_to_anchor=(1.05, 1), loc='upper left')
plt.grid(axis='y', linestyle='--', alpha=0.7)
plt.tight_layout()
plt.show()

print("\n感情構成データ詳細:")
print(df_emotions)
考察

(グラフから読み取れる傾向を記述。例: 「当初はネガティブな意見の割合が高かったが、期間後半にかけてポジティブな意見が増加傾向にある。これは、課題解決の成功体験がチームの雰囲気を良くしている可能性を示唆する。」)


3. チームエンゲージメントの時系列変化
データ概要

(エンゲージメントスコアデータの概要を簡潔に記述)

描画コードとデータ例

以下のPythonコードブロックは、チームエンゲージメントスコアの可視化と考察のためのものです。engagement_dataディクショナリの値を、実際の分析結果データに置き換えてください。

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import json

# Matplotlibの日本語対応(必要に応じて)
# plt.rcParams['font.family'] = 'Meiryo' # Windowsの場合
# plt.rcParams['font.sans-serif'] = ['Hiragino Maru Gothic Pro', 'Yu Gothic', 'Meiryo', 'Takao Gothic'] # Mac/Linuxの場合
plt.rcParams['axes.unicode_minus'] = False # マイナス記号の表示

# ====================
# [ここを実際の分析結果データに置き換えてください]
# エンゲージメントスコアの時系列データ (例としてダミーデータを記載)
engagement_data = {
  "date": ["Sprint_01", "Sprint_02", "Sprint_03", "Sprint_04", "Sprint_05", "Sprint_06"],
  "ownership_score": [6.0, 6.5, 7.0, 7.5, 8.0, 8.5],
  "collaboration_score": [7.0, 7.5, 8.0, 8.5, 8.0, 8.2],
  "future_orientation_score": [5.5, 6.0, 6.8, 7.2, 7.5, 7.8],
  "psychological_safety_score": [6.0, 6.2, 6.5, 7.0, 7.0, 7.3]
}
# ====================

df_engagement = pd.DataFrame(engagement_data)
df_engagement['date'] = pd.to_datetime(df_engagement['date'])
df_engagement = df_engagement.set_index('date')

plt.figure(figsize=(10, 6))
sns.lineplot(data=df_engagement, marker='o')
plt.title('チームエンゲージメント指標の時系列変化', fontsize=16)
plt.xlabel('ふりかえり実施日', fontsize=12)
plt.ylabel('スコア (10点満点)', fontsize=12)
plt.ylim(0, 10)
plt.xticks(rotation=45, ha='right')
plt.legend(title='指標', bbox_to_anchor=(1.05, 1), loc='upper left')
plt.grid(True, linestyle='--', alpha=0.7)
plt.tight_layout()
plt.show()

print("\nチームエンゲージメントスコア詳細:")
print(df_engagement)
考察

(各指標の変化について解説。例: 「期間を通じて『協調性』スコアが一貫して高い一方、『主体性』スコアが後半に伸びている。これは、チームの一体感が醸成された上で、各メンバーが当事者意識を持って行動し始めたことを示している。」)


4. 議論の質の変化
データ概要

(議論の質データの概要を簡潔に記述)

描画コードとデータ例

以下のPythonコードブロックは、議論の質データの可視化と考察のためのものです。discussion_quality_dataディクショナリの値を、実際の分析結果データに置き換えてください。

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import json

# Matplotlibの日本語対応(必要に応じて)
# plt.rcParams['font.family'] = 'Meiryo' # Windowsの場合
# plt.rcParams['font.sans-serif'] = ['Hiragino Maru Gothic Pro', 'Yu Gothic', 'Meiryo', 'Takao Gothic'] # Mac/Linuxの場合
plt.rcParams['axes.unicode_minus'] = False # マイナス記号の表示

# ====================
# [ここを実際の分析結果データに置き換えてください]
# 議論の質 (コメント構成要素) の時系列データ (例としてダミーデータを記載)
discussion_quality_data = {
  "date": ["Sprint_01", "Sprint_02", "Sprint_03", "Sprint_04", "Sprint_05", "Sprint_06"],
  "fact_reporting_ratio": [0.35, 0.30, 0.25, 0.20, 0.15, 0.10],
  "cause_analysis_ratio": [0.20, 0.25, 0.30, 0.35, 0.30, 0.35],
  "proposal_opinion_ratio": [0.20, 0.20, 0.25, 0.30, 0.35, 0.40],
  "emotional_expression_ratio": [0.15, 0.15, 0.10, 0.10, 0.10, 0.05],
  "gratitude_praise_ratio": [0.10, 0.10, 0.10, 0.05, 0.10, 0.10],
  "commitment_execution_ratio": [0.00, 0.00, 0.00, 0.05, 0.10, 0.15]
}
# ====================

df_discussion = pd.DataFrame(discussion_quality_data)
df_discussion['date'] = pd.to_datetime(df_discussion['date'])
df_discussion = df_discussion.set_index('date')

plt.figure(figsize=(10, 6))
df_discussion_stacked = df_discussion[['fact_reporting_ratio', 'cause_analysis_ratio',
                                       'proposal_opinion_ratio', 'emotional_expression_ratio',
                                       'gratitude_praise_ratio', 'commitment_execution_ratio']]
df_discussion_stacked.plot(kind='bar', stacked=True, colormap='plasma', ax=plt.gca())
plt.title('議論の質の時系列変化 (コメント構成要素)', fontsize=16)
plt.xlabel('ふりかえり実施日', fontsize=12)
plt.ylabel('コメント割合', fontsize=12)
plt.xticks(rotation=45, ha='right')
plt.legend(['事実報告', '原因分析', '提案・意見', '感情表出', '感謝・賞賛', 'コミットメント/実行'], bbox_to_anchor=(1.05, 1), loc='upper left')
plt.grid(axis='y', linestyle='--', alpha=0.7)
plt.tight_layout()
plt.show()

print("\n議論の質データ詳細:")
print(df_discussion)
考察

(グラフから読み取れる議論の質の変化を解説。例: 「初期は『事実報告』に留まるコメントが多かったが、徐々に『原因分析』や『提案・意見』の割合が増加している。これは、チームが表層的な問題だけでなく、その根本原因を探り、具体的な改善策を議論する文化が根付いてきたことを示唆する。」)


5. 【追加】チーム発達ステージ (タックマンモデル) の時系列変化
データ概要

(タックマンステージ推定データの概要を簡潔に記述)

描画コードとデータ例

以下のPythonコードブロックは、チーム発達ステージの可視化と考察のためのものです。tuckman_stage_dataディクショナリの値を、実際の分析結果データに置き換えてください。ステージ推定は、各ふりかえりの時点でのコメント傾向から、各ステージに該当する可能性(スコアまたは確率)を算出し、最も高いステージをその時点の推定ステージとします。

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import json

# Matplotlibの日本語対応(必要に応じて)
# plt.rcParams['font.family'] = 'Meiryo' # Windowsの場合
# plt.rcParams['font.sans-serif'] = ['Hiragino Maru Gothic Pro', 'Yu Gothic', 'Meiryo', 'Takao Gothic'] # Mac/Linuxの場合
plt.rcParams['axes.unicode_minus'] = False # マイナス記号の表示

# ====================
# [ここを実際の分析結果データに置き換えてください]
# タックマンステージ推定の時系列データ (例としてダミーデータを記載)
# 各ステージのスコアまたは確率 (合計100%になる必要はありませんが、相対的な傾向を示すものとしてください)
tuckman_stage_data = {
  "date": ["Sprint_01", "Sprint_02", "Sprint_03", "Sprint_04", "Sprint_05", "Sprint_06"],
  "forming_score":    [0.70, 0.40, 0.20, 0.10, 0.05, 0.02], # 形成期スコア
  "storming_score":   [0.10, 0.40, 0.50, 0.30, 0.20, 0.10], # 激動期スコア
  "norming_score":    [0.10, 0.15, 0.20, 0.40, 0.45, 0.35], # 統一期スコア
  "performing_score": [0.05, 0.05, 0.10, 0.20, 0.30, 0.50]  # 遂行期スコア
}
# ====================

df_tuckman = pd.DataFrame(tuckman_stage_data)
df_tuckman['date'] = pd.to_datetime(df_tuckman['date'])
df_tuckman = df_tuckman.set_index('date')

# 各時点で最もスコアの高いステージを推定ステージとする
# idxmax()は各行で最大値の列名(ステージ名)を返す
df_tuckman['estimated_stage'] = df_tuckman[['forming_score', 'storming_score', 'norming_score', 'performing_score']].idxmax(axis=1).str.replace('_score', '')

# 時系列折れ線グラフで各ステージスコアの推移を表示
plt.figure(figsize=(10, 6))
sns.lineplot(data=df_tuckman[['forming_score', 'storming_score', 'norming_score', 'performing_score']], marker='o')
plt.title('チーム発達ステージスコアの時系列変化', fontsize=16)
plt.xlabel('ふりかえり実施日', fontsize=12)
plt.ylabel('ステージ該当度スコア', fontsize=12)
plt.ylim(0, 1) # スコアが割合なら0-1に設定
plt.xticks(rotation=45, ha='right')
plt.legend(['形成期', '激動期', '統一期', '遂行期'], bbox_to_anchor=(1.05, 1), loc='upper left')
plt.grid(True, linestyle='--', alpha=0.7)
plt.tight_layout()
plt.show()

print("\nチーム発達ステージ推定詳細:")
print(df_tuckman)
考察

(グラフから読み取れるチーム発達ステージの変化を解説。例: 「初期のふりかえりでは『形成期』の兆候が強かったが、〇月〇日のふりかえりで『激動期』のコメントが増加し、その後は『統一期』へ移行する傾向が見られる。これは、チームが健全な衝突を経て、規範形成と協調へと進んでいることを示唆する。」)


6. 総合的な考察と次のステップへの提案
現状の強み

(分析から見えたチームの強みを具体的に記述)

今後の課題/伸びしろ

(分析から見えた改善点や、さらに伸ばせる点を記述。特に、現在のタックマンステージを踏まえた課題や、次のステージへ進むための具体的なヒントに言及すること。)

アクション提案

(次の3ヶ月で取り組むと良い具体的なアクションを提案。例: 「現在『激動期』にあると推定されるため、健全な意見交換を促進するため、ファシリテーションの強化や対立解消のためのワークショップを検討してはどうか。」)

↑プロンプトここまで↑

結果

数値自体の吟味は必要ですが、私ともう一人チーム支援に入っているアジャイルコーチの2名によるチームの観察から感じている定性的な感触と可視化したチームパフォーマンスのレポートは似ている傾向でした。
(N=2ですので、違う結果になる可能性が十分に考えられます。)
チームの成長状況は、ソフトリリースのタイミングが近づくにつれて、ポジティブな発言が増えてきている印象を受けていたのですが、言葉のポジネガの言葉の割合でポジティブワードが増えている傾向を可視化することができました。

ふりかえりのコメントを感情分析することで、ふりかえりコメント数やアクション数だけでなく、「言葉の質」を軸にチームの状態を可視化することが可能であることがわかりました。
今後は、N数を増やして、この方法が有効なのか検討を続けていきます。
また、4KEYSやコードメトリクスなどと合わせて、チームパフォーマンスが業務成果にも影響を与えていることを観測できるか検討してみたいと思います。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?