23.06.15
DEVOTEE를 활성화 시키면
지금 작성한 커뮤니티 글에 대해 1개의 댓글을 달아줍니다.
버튼을 누르면 글 수정 시 ChatGPT가 작성한 댓글이 수정됩니다.
| 컨텐츠 유형 | 제목 | 저장일 | 삭제 |
|---|
본인인증 로그인에 실패하였습니다.
회원이 아니시거나 본인인증 등록이
완료되지 않은 사용자입니다.
좋은 팀을 상징하는 키워드는 무엇이 있을까요? 업무 전문성, 협업, 일사분란, 성장 등 다양한 단어가 있을 겁니다.
좋은 팀이란 단순히 업무의 효율성이나 결과물의 우수성만을 의미하지 않습니다.
진정한 의미에서의 좋은 팀은 서로를 존중하고, 각자의 다양성을 인정하며, 심리적 안정감을 바탕으로 서로에게 영감을 주고 받을 수 있는 환경을 가지고 있습니다.
그리고 Python 라이브러리인 **NetworkX**를 활용하면 우리 팀의 연결성을 그려볼 수 있습니다.
2012년, Google은 한 가지 질문에 집중하기 시작했습니다.
"왜 어떤 팀은 다른 팀보다 월등한 성과를 내는가?" 이 질문에서 시작된 아리스토 텔레스 프로젝트는 다양한 배경의 전문가 집단을 구성하여
180개 이상의 팀을 조사하였고 그 결과, 고성과 팀이 갖춘 5가지 핵심 요소를 밝혀냈습니다.
그 중 '심리적 안정감'이라는, 다소 뜻밖의 요소가 모든 것의 밑바탕이 되는 가장 중요한 것으로 나타났습니다.
심리적 안정감이 높은 팀에서는 사람들이 자신의 아이디어를 자유롭게 공유하고, 실패를 두려워하지 않으며, 서로를 더 깊이 신뢰합니다.
심리적 안전감이 낮으면? 침묵하게 되죠. 우리는 회의 때나 의견을 말해야 할 때 자유로운 토론이 아닌 일방적인 전달로 끝나는 경험을 한번쯤 해봤을 거예요.
심리적 안전감을 관계적 측면이기 때문에 무엇보다 이를 발전시키려는 리더의 의지가 중요합니다.
또한 눈빛, 말투, 표정 같은 서로 주고받는 '비언어적 신호' 가 매우 중요하다고 하는데요.
업무 전문성을 바탕으로 함께 일을 해결해 나가는 것도 중요하지만 사적인 대화, 함께 시간 보내기 등을 통해 정서적/관계적 유대감을 강화하는 것도 큰 의미가 있다는 거죠.
이를 통해 자신의 의견을 말하는 것을 두려워하지 않고, 다른 사람의 아이디어에 귀 기울이며, 실패를 통해 배우고 성장하려는 조직문화를 만들어 갈수 있습니다.
어쩌면 이것이 조직의 성과를 이끌어내는 핵심 원칙일 거예요.
사적인 대화, 함께 시간 보내기 등이 심리적 안전감에 중요한 요소라면, 우리 팀에 이런 역할은 하는 사람은 누구이고, 이는 실제 업무 연관성과는 어떻게 다른지 궁금해졌습니다.
그래서 팀 내 무적으로 밀접한 연관이 있는 3명, 커피 타임 등 사적인 대화를 많이하는 3명을 조사하여
네트워크 연결성을 확인할 수 있는 NetworkX 활용하여 시각화 해봤습니다. (익명 보호를 위해 영어 이름으로 대체했습니다)
NetworkX는 복잡한 네트워크의 생성, 조작, 분석, 시각화를 도와주는 Python 라이브러리 입니다.
그래프 이론과 네트워크 분석을 위한 풍부한 도구를 제공하며, 대규모 연결 네트워크 데이터를 쉽게 처리할 수 있습니다.
손쉽게 노드(정점)와 엣지(간선)를 추가하거나 삭제함으로써 그래프를 구성할 수 있고,
다양한 알고리즘을 사용해 네트워크 데이터를 분석할 수 있어서 소셜 네트워크 분석, 인터넷 및 네트워크 구조, 전력망 및 교통망 등 다양한 분야에서 활용되고 있습니다.
import pandas as pd
import networkx as nx
import matplotlib.pyplot as plt
from networkx.drawing.nx_pydot import graphviz_layout
from matplotlib.colors import Normalize
import matplotlib.cm as cmPandas: 데이터 처리와 분석을 위한 라이브러리입니다. Excel 파일로부터 데이터를 읽어와 DataFrame 형태로 변환하는 데 사용됩니다.
Matplotlib: Python에서 데이터를 시각화하는 데 사용되는 라이브러리입니다. 네트워크 그래프와 중심성 분석 결과를 시각화하는 데 활용됩니다.
graphviz_layout: NetworkX 그래프의 노드를 시각화하기 위한 레이아웃을 제공합니다.
graphviz는 그래프를 시각화하기 위한 강력한 도구로, 복잡한 네트워크에서 구조적인 패턴을 보다 명확하게 파악할 수 있게 도와줍니다.
# 네트워크 그래프를 그리는 함수
def draw_network_graph_from_excel(file_path, sheet_name=None):
df = pd.read_excel(file_path, engine='openpyxl')
# 네트워크 그래프 객체 생성
G = nx.from_pandas_edgelist(df, source='source', target='target')
# spring_layout을 사용한 레이아웃 생성
pos = nx.spring_layout(G)
# 중심성 계산 후 중심성을 기준으로 그래프 그리기
deg_cen = nx.degree_centrality(G)
draw_centrality(G, pos, deg_cen)노드 간의 관계를 기반으로 노드를 배치하여, 구조적 패턴을 직관적으로 이해할 수 있도록 도와주는 레이아웃이 여러개 있습니다.
spring_layout 그래프는 노드의 더 분산된 배열을 보여주며, 클러스터 간의 분리와 간격을 강조합니다.
반면에, kamada_kawai_layout 그래프는 더 원형적이고 구조화된 배열을 제시하여, 네트워크의 전체적인 연결성과 중심성을 더 쉽게 인식할 수 있게 합니다.
여기서는 spring_layout를 사용합니다.
# 중심성을 그리는 함수 개선
def draw_centrality(G, pos, centrality):
plt.figure(figsize=(10, 6))
# 중심성 값들을 리스트로 변환후 정규화
values = list(centrality.values())
norm = Normalize(vmin=min(values), vmax=max(values))
# 노드 색상의 최소 강도를 정의하여 흰색 배경과 구분되도록 함
min_color_intensity = 0.3
# 노드의 색상을 설정: 중심성 값에 따라 색상 강도 조정
node_color = [cm.PuBu(max(min_color_intensity, norm(c))) for name, c in centrality.items()]
# 네트워크 그래프 그리기: 노드 색상, 폰트, 노드 크기 설정 후 라벨 색상 및 폰트 크기 설정
nx.draw(G, pos=pos, node_color=node_color, font_family='AppleGothic', node_size = [50 + v[1]*200 for v in degree])
nx.draw_networkx_labels(G, pos=pos, font_size=8, font_color='white', font_family='AppleGothic')
plt.show()네트워크 분석에서 중심성(Centrality)은 노드의 중요도를 나타내는 척도입니다. 중심성 값에 따라 노드의 색상을 달리 표현하여 시각화 합니다.
정규화: Normalize 함수를 사용하여 중심성 값의 범위를 [0, 1]로 조정합니다. 이를 통해 노드 색상의 강도를 일관되게 조절할 수 있습니다.
색상 강도 조절: 흰색 바탕과 구분하기 위해 최소 색상 강도(min_color_intensity)를 설정합니다. 이 값은 노드 색상이 너무 옅어지지 않게 합니다.
노드 색상 및 크기 설정: 노드의 중심성에 따라 색상과 크기를 다르게 설정하여, 노드의 중요도를 시각적으로 구분합니다.
레이블 표시: draw_networkx_labels 함수를 사용하여 각 노드에 라벨을 추가합니다. 라벨의 색상과 폰트는 시각적 가독성을 위해 조정됩니다.
먼저 업무 연관성을 그려보겠습니다. (Jim이 밀접하게 일하는 동료가 Ted, Tim, Anna라면 Source: Jim, Target: Ted, Tim, Anna로 엑셀 표 구성하여 업로드 합니다.)
# 함수를 사용하여 네트워크 그래프 그리기
draw_network_graph_from_excel('network_work.xlsx')
draw_network_graph_from_excel('network.xlsx')이 팀은 Jim과 Jane을 중심으로 업무가 돌아가고 있습니다.
Anna와 Joe가 이 둘 사이 연결고리를 하고 있고요. 특이한건 Max, Kate, Ray는 중심축에서 떨어져 연결되어 있는데요.
이것은 두개의 상이한 시스템/업무가 한 팀에 공존하고 있다고 볼 수 있습니다.
업무 연관성 네트워크와는 어떤 차이를 보일까요? 여기서도 Jim은 큰 Node를 차지합니다.
이 팀의 업무적, 조직적 Key Man은 Jim이라고 할 수 있겠군요. Anna와 Joe는 여기서도 중요한 역할하고 있네요.
그런데 한 가지 눈여겨 볼 점은 이 그래프에서는 Ben이 중요한 Node라는 건데요.
Tom, Ted, Joe과 함께 조직을 단단히 지탱하는 데 큰 기여를 하는 사람이라고 볼 수 있습니다.
조직의 심리적 안전감을 위해 든든한 나무 역할을 하는 구성원이 더 많은 인정을 받을 수 있으면 좋을텐데 성과 중심의 평가/보상 체계에서는 그러기가 쉽지 않죠.
그럼에도 불구하고, 이러한 상황을 파악하고 따뜻한 격려와 인정의 말을 건네는 리더와 동료가 있다면, 이들에게 큰 힘이 될 것입니다.
평소 자주 대화하는 세 명의 동료를 예로 들어 간단하게 살펴보았지만 좀 더 구체적인 기준을 마련하여 설문조사를 실시하고 네트워크 분포를 분석한다면,
우리 조직 내에서 구성원들 간의 연결성을 훨씬 잘 이해할 수 있을 것입니다.
DEVOTEE를 활성화 시키면
지금 작성한 댓글에 AI가 댓글을 달아줍니다.