교차 기능 팀

Cross-functional Team

개념

기능 하나를 사용자에게 내보내는 데 필요한 직군을 한 팀 안에 모아, 다른 팀을 기다리지 않고 끝까지 마치게 한 구성입니다.

등장 배경

예전에는 회사를 직군별로 갈랐습니다. 기획팀, 디자인팀, 개발팀, 품질팀이 각각 있었고 사람은 자기 직군 팀에 소속됐습니다. 같은 일을 하는 사람끼리 모여 있으니 서로 배우기 좋고, 팀장이 그 직군의 전문가라 평가도 공정해 보였습니다.

문제는 일이 직군을 따라 흐르지 않는다는 데 있었습니다. 검색 결과에 필터를 하나 붙이는 작업 하나가 기획팀에서 시작해 디자인팀으로 넘어가고 개발팀을 거쳐 품질팀에서 끝났습니다. 팀을 넘을 때마다 일은 서류가 되어 건너갔고, 받는 쪽은 자기 팀의 대기 줄 맨 뒤에 그것을 세웠습니다.

그래서 일정 회의는 늘 이렇게 흘러갔습니다. "디자인은 다음 주에 나오고요, 개발은 그다음 달 주기에 잡혀 있어요." 실제로 손을 댄 시간은 열흘인데 달력으로는 두 달이 지나 있었습니다. 남은 시간은 전부 기다림이었고, 기다리는 동안 처음 정한 요구사항은 낡아 갔습니다.

스프린트를 2주로 잡고 그 안에 쓸 수 있는 것을 내보내기로 한 팀은 이 구조에서 한 발짝도 움직일 수 없었습니다. 2주 안에 세 팀의 일정이 맞아떨어질 확률이 없기 때문입니다. 교차 기능 팀은 그 대기 줄을 없애려고 팀의 경계를 직군이 아니라 목표에 맞춰 다시 그은 결과입니다.

작동 방식

하나를 내보내는 데 필요한 사람을 처음부터 같은 팀에 넣고, 일이 팀 밖으로 나갔다 돌아오는 구간을 없앱니다. 팀 안에서 시작하고 팀 안에서 끝나는 상태를 만드는 것이 전부입니다.

구성은 맡은 영역에 따라 달라지지만 대체로 이렇게 짭니다.

  1. 프로덕트 매니저 한 명 — 무엇을 왜 만들지 정하고 순서를 세웁니다.
  2. 프로덕트 디자이너 한 명 — 문제를 화면으로 옮깁니다.
  3. 개발자 서너 명 — 화면과 서버를 함께 맡습니다. 한쪽이 없으면 결국 다른 팀을 기다리게 됩니다.
  4. 품질 보증 담당 한 명 — 내보내기 전 점검을 팀 안에서 끝냅니다. 전담 인원 대신 팀이 나눠 맡기도 합니다.

소속을 옮기는 것이 핵심이라 자리만 붙여 앉히는 것과 다릅니다. 디자이너가 디자인팀 소속인 채 이 팀의 일을 도와주는 형태면, 두 곳의 우선순위가 부딪칠 때 디자이너는 원래 소속의 순서를 따릅니다. 그 순간 대기 줄이 되살아납니다.

인원은 보통 다섯에서 아홉 사이로 잡습니다. 더 줄이면 빠진 직군이 생기고, 더 늘리면 팀 안에서 다시 소통 비용이 붙어 나눈 의미가 사라집니다.

이 구조가 제대로 섰는지는 한 가지로 확인합니다. 팀이 맡은 영역 안의 작업을 골라 처음부터 끝까지 따라가 보고, 중간에 다른 팀의 승인이나 일정을 기다리는 구간이 몇 번 나오는지 셉니다. 영 번이면 교차 기능 팀이고, 한 번이라도 나오면 그 지점이 이 팀의 속도를 정하는 병목입니다.

쓰이는 곳

짧은 주기로 반복해서 내보내려는 조직이면 어디든 전제로 깔립니다. 반복적 개발처럼 같은 화면을 여러 번 돌며 고쳐 나가는 방식은 한 주기 안에 기획과 디자인과 구현이 다 들어와야 성립하기 때문입니다.

조직도를 다시 그리는 자리에서 가장 자주 나옵니다. 직군별 팀을 목표별 팀으로 바꾸는 개편이 여기에 해당하고, 스쿼드라는 이름으로 부르는 회사도 많습니다. 개편 문서에는 "검색 스쿼드에 디자이너 한 명을 전배" 같은 문장으로 나타납니다.

나눌 기준은 대체로 사용자가 겪는 흐름입니다. 검색, 문서 편집, 결제처럼 사용자가 하나의 일로 느끼는 덩어리마다 팀을 하나씩 둡니다. 화면 담당과 서버 담당으로 가르면 기능 하나마다 두 팀이 붙어야 해서 대기 줄이 되살아납니다.

채용 공고에도 흔적이 남습니다. "교차 기능 팀에서 일하게 됩니다" 라는 줄은 기획과 디자인이 정해 준 것을 받아 구현만 하는 자리가 아니라는 뜻입니다. 무엇을 만들지 정하는 대화에 처음부터 들어간다는 신호로 읽힙니다.

실무 용례

"이건 교차 기능 팀 안에서 끝낼 수 있는 일인가요, 아니면 다른 팀에 요청해야 하나요?"

팀 밖으로 나가는 순간 일정이 몇 주 밀리니 그 여부부터 확인하자는 말입니다.

"지금 구조는 이름만 교차 기능 팀이에요. 디자이너가 세 팀을 겸하고 있잖아요."

한 사람이 여러 팀에 걸쳐 있으면 대기 줄이 그대로 남아 있다는 지적입니다.

"결제 쪽을 교차 기능 팀으로 묶으려면 서버 개발자가 한 명 더 필요합니다."

팀 안에서 끝내려면 빠진 직군을 채워야 한다는 요청입니다.

페이지덱은 시리즈 A를 받은 뒤 직군별 팀을 목표별 팀으로 바꿨습니다. 지현과 민서와 태오가 한 팀이 되어 문서 편집 화면을 맡았고, 예전 같으면 디자인 요청서를 써서 넘겼을 일을 지현이 민서에게 바로 물어봅니다. 화면을 고치기로 한 날 오후에 태오가 "이 구조면 저장이 느려집니다" 라고 말해 안이 바뀌는 일도 같은 자리에서 일어납니다.

대신 팀 밖의 일은 여전히 느립니다. 결제 서버는 다른 팀이 맡고 있어서, 결제와 얽힌 작업이 들어오면 지현은 그 팀의 일정을 기다립니다. 어디까지를 한 팀에 넣을지가 이 구조의 유일한 설계 선택입니다.

흔한 오해

여러 직군이 한 회의에 들어오면 교차 기능 팀이라고 생각하는 경우가 많습니다. 회의실 풍경이 똑같아 보이니 그럴 만합니다. 하지만 기준은 회의가 아니라 소속과 우선순위입니다. 디자이너가 디자인팀에 남아 있고 그 팀의 순서를 따른다면, 회의에 매일 들어와도 급한 일이 겹치는 날 그 사람은 다른 팀 일을 먼저 합니다. 그런 팀은 개편 6개월 뒤에 "이름만 바뀌었고 기다리는 건 똑같다" 는 말이 나옵니다.

한 사람이 여러 직군을 다 해야 한다는 오해도 흔합니다. 교차 기능이라는 말이 개인의 능력을 가리키는 것처럼 들리기 때문입니다. 실제로는 팀의 구성에 붙는 말입니다. 디자이너는 디자인을 하고 개발자는 개발을 하되, 그 둘이 같은 팀에 있는 상태를 뜻합니다. 개인에게 전부를 요구하면 사람은 넓고 얕게 일하게 되고 결과물의 수준이 함께 내려갑니다.

자주 헷갈리는 용어

용어무엇을 가리키는가교차 기능 팀과의 차이
그로스 팀지표 개선만 전담하는 조직직군을 섞는다는 점은 같지만 맡는 일이 다릅니다. 기능을 만드는 대신 가입률 같은 숫자를 올리는 실험을 돌립니다
스쿼드한 목표를 맡은 소규모 자율 팀스쿼드는 팀을 부르는 이름이고 교차 기능은 그 팀이 갖춘 성질입니다. 스쿼드는 대개 교차 기능 팀이지만, 직군이 한쪽에 몰린 스쿼드도 있습니다

같이 보면 좋은 페이지

  • 애자일

    이 구성이 왜 필요해졌는지 배경이 되는 접근입니다

  • 반복적 개발

    교차 기능 팀이 있어야 굴러가는 대표적인 방식입니다

연관 용어

마지막 업데이트 2026-09-16