누구에게 일을 시켜야 하나
본인이 소프트웨어 개발 외주를 줘야 하는 일이 생겼다고 칩시다. 프로젝트는 데이터베이스 기반의 웹 서비스이고 PHP, 자바스크립트, HTML/CSS, SQL 등의 보편적인 기술을 사용합니다. 요구사항 명세서(스펙)를 공지하고 입찰을 하게 했습니다. 총 16곳으로부터 제안이 들어왔습니다. 이 중에서 예전에 완료한 프로젝트들에 대한 고객 만족도가 높고(10점 만점 중 평점 9.5 이상) 과거 프로젝트 경험이 충분하고, 적절한 방법론과 기술을 제안하고 그에 대한 역량이 있는 6곳을 1차 선정했습니다.

이 여섯곳에 대한 고객 만족도나 프로젝트 제안서, 개발자 이력서의 품질 등은 큰 차이가 없는 것으로 평가되었습니다. 여러분들은 다음 비교표를 보시고 어떤 회사를 선택하시겠습니까?

회사가격
(달러)
고객만족도과거 프로젝트 수추정 개발시간
(사람*시간)
A41210.0643
B7999.969665
C12509.90124136
D21779.8432340
E517710.04180
F56849.6544334


실제로 이 6곳에 모두 원하는 금액을 주고 프로젝트를 진행하게 했습니다. 각 개발사에 동일한 수준의 정보를 주고 동일한 정도의 지원을 해주려고 노력을 했습니다. 그렇게 해서 프로젝트를 완료할 때까지 가본 겁니다. 완료의 기준은 고객사가 미리 준비해 두었던 승인 테스트를 모두 통과하는 것이었습니다.

먼저 자신이라면 어느 회사를 고를지 꼭 마음을 정하신 다음에 계속 읽어주세요. ^^;















결과는 다음과 같았습니다.

회사실 개발시간
(사람*시간)
라인수승인테스트시
중대결함수
코드 복잡도
(CC per LOC)
코드 가독성
A29260040.09좋음
B842900130.09중간
C187280070.17중간
D242580070.13중간
E52719000160.14매우 나쁨
F474240050.16나쁨



A와 E를 비교하면 개발 시간만 따졌을 때 약 20배입니다. 당연히 라인수도 차이가 크고, 코드 복잡도(숨겨진 버그 개수, 유지 보수 비용, 디버깅할 때 버그를 삽입할 확률 등과 관련성이 높다고 밝혀진)도 차이가 크고요. 가독성도 차이가 큽니다. 이뿐만이 아닙니다. 추가적으로 개발이 종료된 시점에 각 회사에게 새로운 특정 요구사항을 반영하려면 얼마의 추가 개발시간이 필요하겠냐고 물었습니다. A회사는 2시간이라고 했고, E회사는 54시간이라고 답했습니다.

결과를 보고나서 생각은 어떻습니까? 미리 알았더라면 어느 회사를 골랐겠습니까?

연구에 따르면 전통적으로 외주 개발사를 선택하는 기준들이 효과적이지 않습니다. 다 뛰어나서 서로 큰 차이가 없다 싶은 회사들을 골랐는데, 실제로 동일한 요구사항 명세서를 주고 똑같이 일을 시켜보니 압도적인 차이가 벌어지는 겁니다. 이 프로젝트에 장기적으로 들어가는 비용면에서 보면 수십배 이상의 차이가 생기는 셈입니다.

그러면 어떻게 해야 할까요?

(답은 조만간...)
by 애자일컨설팅 | 2014/10/15 17:08 | 트랙백 | 덧글(2)
음의 생산성
예전에 모 프로젝트에서 만난 잊지 못할 개발자가 있었습니다.

개발자만 20여명이 함께 하는 프로젝트였는데, 애자일 방식으로 진행하며 1달을 반복주기로 해서 여러가지 장점이 있었는데, 그 중 하나는 프로젝트 말미(약 1년 후)가 아니라 매 달 테스팅을 하고 버그를 발견해서 거기에서 학습할 수 있다는 점이었습니다.

개발 첫달에 발견된 버그를 확인해 보니 한 분에게서 전체 버그의 80%(스무명 중 하나이니 평균인 5%가 아니라)가 나온 것입니다. 이렇게 놀라운 수치가 나올 경우 보통은 뭔가 잘못된 것이죠. 그 분이 맡은 부분이 굉장히 복잡한 부분일 수도 있고, 혹은 다른 개발자들은 코딩을 별로 안한 것일 수도 있고 하지만, 그런 경우가 아니었을 뿐더러, 여러 정황을 고려해도 그 정도 비율은 지나치다는 판단이 들었죠. 그 분의 업무속도와 버그 생산 속도, 버그 심각도(severity), 디버깅 시간 등을 고려해 전체적 계산을 해보니 음의 생산성이 나왔습니다.

한마디로, 그 분이 일을 하면 할 수록 전체 팀이 할 일의 양이 늘어난다는 결론이었습니다.

확인해 보니 하청업체에서 경력 속이기를 해서 보낸 분이었고 업체에 항의를 하니 악질업체인지라 배째라라고 하더군요. ^^; 그 분과 면담을 하고, 교육을 해드리고, 그분만을 위한 툴을 만들어드리고, 업무 조정을 하고 해서 "음"의 영향력을 최소화하고 서서히 양으로 돌릴 수 있었던 기억이 있습니다. 그나마 애자일이었기에 다행이었지 폭포수로 진행했으면 큰 일 날뻔 했죠.

오늘 할 이야기는 기준선(baseline)에 대한 것입니다.

공부하면 손해?

학창 시절 이런 조언 들어봤을 겁니다. "야, 자꾸 영어 공부법 찾으러 다니지 말고 일단 엉덩이 붙이고 어떤 식으로든 공부해봐. 이득이 됐으면 됐지 손해될 건 없으니까" 주변에 보면 영어 공부 못하는 친구들 중에 실제 영어 공부는 잘 안하고 공부법만 공부하는 친구들이 있었죠. 근데, 정말 어떻게든 공부하면 득이 된다는 게 맞을까요? 혹시 의심해 보신 분 안계신가요?

존 해티(John Hattie)라고 하는 멜버른 대학의 교육학 교수가 있습니다. 이분은 교육학 연구에 한 획을 그은 분이라고 할 수 있는데, 6만개가 넘는 교육학 연구를 기반으로한 메타 분석 연구 1천여건을 토대로 메타-메타 분석을 했습니다. 교육 효과 연구의 결정체라고 볼 수 있는데, 예컨대 학업 성취도에 있어 영향을 끼치는 요소들을 그 효과 크기 순서로 나열을 합니다. 효과 크기는 간단히 말하자면 어떤 요소(교육 방법 등)를 넣었을 때와 안넣었을 때 학생들이 1년 후 학업성취도에 얼마만큼의 차이를 보이는가를 표준화해서 보여주는 수치입니다.

그러면 교육적 요소 중에 음의 효과(즉, 안하느니만 못한)가 존재하나요? 합니다. 더 나아가서, 효과 크기(d)가 0.15 이하면 발달 효과(아이들 머리가 커가면서 자연스럽게 똑똑해지는 효과)보다 못한 걸로 봅니다. 즉, 학교를 안보내고 집에서 놀려도 학업성취도가 늘어나는 정도가 있다는 것이고요, 고로 0.15 이하는 해로운 거로 봐도 크게 틀리지 않습니다. 그냥 가만히 두는 것이 더 낫다는 거죠.

하지만, 해티는 자신의 연구에서 0.40을 기준으로 삼습니다. 그 이상은 되어야 추천할만 하다는 겁니다. 대부분의 교육적 개입이 0.4는 되거든요(효과에 영향을 미치는 전체 요소들의 중간값이 0.40이니, 0.40 이하인 교육법을 쓴다면 평균보다 못한 방법이라는 겁니다). 참고로 숙제 경우, 초등학생들에게는 효과 크기가 0에 가깝습니다(특히 공부 못하는 애들에게는 효과가 정말 없습니다). 초등학생들은 숙제할 시간에 다른 걸 시키는 것이 낫다는 것이죠.

학생들의 공부 습관에 대한 연구에서도 비슷한 이야기들이 있습니다. 여러 연구를 통해 밝혀진 것은, 학생들은 어떤 공부법이 효과적이라는 모형을 갖고 있으며, 그 모형이 잘못된 경우가 흔하다는 것이죠. 우리가 많이 추천하는 책을 다시 읽기(독서백편의자현)는 통상적으로 그 시간에 다른 공부법을 하는 것이 훨씬 낫다고 이야기 되는 방법입니다. 책을 여러번 읽는 것은 실제 실력에는 큰 도움이 되지 않지만 자신감을 높여줍니다. 그래서 겉으로 보면 공부를 잘 한 것 같은 환상을 주죠.

운동 전 스트레칭이 해를 입힐 수 있다?

다른 영역에도 이런 음의 효과가 있습니다.

운동 쪽을 보면, 흔히들 운동 전에 하는 스트레칭이란 것이 있죠. 정적인 스트레칭(스트레칭된 상태로 한 자세로 있기 등), 많이들 하시는데 효과가 있을까요?

효과가 없고, 있다면 음의 효과가 있다는 것이 최근 연구 결과입니다. 이렇게 정적 스트레칭을 하고 나면 근력이 떨어져서 운동 기록이 안좋아질 뿐 아니라, 운동 중 사고발생률이 높아집니다. 안하느니만 못합니다.

상담 받아서 손해본다?

정신치료와 상담 쪽도 이런 음의 효과를 가진 것들이 종종 있습니다.

예전에 유행했던 치료인데, 폭력적인 부부를 각기 방에 넣고 야구방망이를 주고 인형을 때리며 화를 분출하게 합니다. 그러면 스트레스가 해소되고 폭력성이 줄어드는 듯 보입니다. 하지만 종단 추적 조사를 통해, 장기적으로 이 방법이 폭력성을 강화한다는 것이 밝혀져서 이제는 사용하지 않습니다.

9/11 사건으로 대규모의 미국인들이 외상후 스트레스 증후군을 겪게 되었는데, 이 사람들을 대상으로 연구를 해보았더니, 당시에 많이 쓰던 치료법(당시의 경험을 더 생생하게 직면하게 함)이 사실 이 증후군을 강화시키고 있더라는 연구도 있습니다.

회사에 손해되는 개발자만 골라 뽑는 사람

앞에서도 들었지만 소프트웨어 개발 쪽도 그런 예가 꽤 있습니다.

저는 구인 컨설팅을 여러 회사를 대상으로 해왔습니다. 사람을 잘 뽑는 것은 여러 단계가 있는데, 일차적으로는 내가 원하는 사람을 뽑는 것이고, 다음에는 그걸 넘어서 우리에게 필요한 사람을 뽑는 것이죠. 여기에서는 내가 원하는 사람을 뽑는 수준에서만 말해보죠. 그 과정에서 데이터 분석을 해보는데 재미있는 패턴을 발견했습니다.

새직원을 데리고 있을 팀장이 서류전형이나 면접 당시 평가했던 것(여러가지 질문, 테스트 등)과 몇 년이 지난 후 이 직원에 대한 그 팀장의 평가(업무적 성과, 역량 등)를 서로 비교해서 통계분석을 해봅니다. 그러면 거의 90% 이상의 경우, 팀장이 스스로 중요하다고 생각하는 면접시 평가 요소(예컨대 특정 질문에 대한 답이라든가)가 사실은 몇 년 후 이 직원에 대한 팀장의 평가를 예측하지 못합니다. 하지만 팀장들은 굉장히 자신있어 하죠. "아, 이거 하나만 보면 난 알 수 있다니까요!" 심지어는 음의 방향을 가진 면접시 평가 요소도 드물지 않게 발견되었습니다. 즉, 면접시 특정 요소에서 뛰어나게 나온 사람일수록 몇 년 후 팀장의 평가에서는 반대로 안좋게 나오는 게 있다는 겁니다.

그렇다면 이 팀장은 자기가 나중에 불만족스러워할 직원만 골라 뽑고 있었던 게 됩니다. 대부분은 이 사실을 접하면 충격을 받게 되죠.

제럴드 와인버그는 소프트웨어 개발에서 기준선을 무작위 프로세스로 잡아야 한다고 말한 바가 있습니다. 채용 경우도 무작위, 즉 지원한 사람 중에서 눈감고 주사위 굴려서 뽑는 것이, 자신이 현재 뽑는 방식보다 나은 채용관들이 의외로 있습니다.

더닝-크루거 효과

심리학에서 더닝-크루거 효과라고 부르는 것이 있습니다. 간단하게 말하자면, 실력이 떨어지는 사람일수록 자기 평가가 부정확하게 높다는 겁니다. 말 되죠. 상황판단력과 사람의 실력 평가 등도 굉장히 중요한 전문성인데, 아무래도 실력이 떨어지면 이런 능력이 부족할 것이고, 이는 곧 자기 자신의 평가에 대한 부정확성으로 이어지겠죠.

근데 문제는 이 사람들이 경력이 늘어나면 자기 확신이 강해지는 경향이 있습니다. 실제 실력은 뛰어나지 않은 사람일수록 자기 실력이 뛰어나다고 믿으며, 또 강한 확신을 하고 있습니다. 설상가상인 것은, 우리가 통상 상대의 전문성을 판단할 때 그 사람의 확신 정도가 큰 영향을 미친다는 겁니다. 그래서 가짜 전문가들이 판을 칠 수 밖에 없는 것이죠.

역으로 말하자면 자기 확신이 강하고, 스스로의 평가가 높은 사람은 한 번 의심해 볼 필요가 있다는 겁니다. 안그러면 오히려 그 사람의 조언을 듣는 것이 안듣느니만 못한 수가 생깁니다.

그러면 어떻게?

정리하자면,
  1. 어느 것이 효과가 높냐 낮냐를 떠나 효과가 아예 없을 수도 있고, 심지어는 음의 효과를 가진 개입들이 존재한다. (그러므로 이것과 저것 중 어느 것이 낫냐는 물음은 함정이 있으며 기준선을 잘 잡아야 한다)
  2. 기준선을 무엇으로 잡느냐를 고민해 보라. 예컨대 가만 있는 것(발달 효과)이 효과가 있을 수 있고, 무작위 프로세스가 더 나을 수도 있다.
  3. 고로 각종 조언, 개입을 무조건 받아들이지 않고 주의 깊은 방법이 필요하다. 예컨대 앞에서 나온 애자일 방식처럼 좀 더 짧은 주기로 피드백을 받고 분석하고, 안좋은 신호가 나면 빨리 반응하면서(실수는 예방하는 것이 아니라 관리하는 것이다) 조정해 나가는 것과 기존 근거를 활용하는 근거 기반 실천(Evidence-based Practice) 등.

친구 사귀게 도와주는 전문가

마지막으로 인상적인 일화로 끝을 맺어 보겠습니다.

존 가트맨(John Gottman)이라는 부부 상담자가 있습니다. 부부 상담에 새로운 획을 그은 분으로 평가되고 있죠. 국내에도 "감정 코칭" 등으로 많이 알려져 있는데, 이 분은 사실 배경이 물리학과 통계학입니다. 이 분이 이 쪽 연구를 처음 하게 된 계기가 있습니다.

아이들이 친구를 어떻게 사귀는지가 궁금했다고 합니다. 그래서 처음 한 것이 이쪽 전문가를 만나서 인터뷰를 한 것입니다. 전문가는 이런 방법을 가르치고 있었습니다. "안녕? 내 이름은 데이비드야. 네 이름은 뭐니? 난 너의 친구가 되고 싶어." 가트맨이 전문가에게 물었습니다. 어떤 근거에서 이 방식을 가르치고 있습니까? 답은, 자신이 어렸을 때에 이 방법으로 친구를 많이 사귀었다는 것이었습니다.

가트맨은 그 이후 수 년에 걸쳐 놀이터나 학교 등에서 관찰조사를 하며 아이들이 어떻게 친구를 사귀는지 연구를 했습니다. 자신의 배경이 자연과학이었기 때문에 현상을 관찰하고 연구하는 것이 습관이 되었기 때문이었죠.

수년의 연구를 통해 그가 발견한 것은 놀라운 것이었습니다. "안녕? 내 이름은 데이비드야. 네 이름은 뭐니? 난 너의 친구가 되고 싶어."라고 하는 아이들이 가장 친구가 없었습니다. 애들은 일단 좀 놀고 친해지고 난 뒤에 이름을 알게 되는 것이 더 흔했습니다.

--김창준
by 애자일컨설팅 | 2014/09/29 12:30 | 트랙백 | 덧글(3)
AC2 과정에서 개인적 변화의 측정
제가 2009년부터 AC2 과정이라는 교육 과정을 해오고 있는데, 간혹 AC2 과정에 대한 효과 측정을 어떻게 하는가 물어보시는 분들이 계십니다. 또, 제 전문성의 개선이라는 면에서 제가 측정해 오고 있기도 한데 그걸 간략히 소개드려볼까 합니다.

크게 보면 두 가지 방식을 병용하고 있는데, 하나는 현재 AC2 과정이 진행되는 중에 사람들의 변화를 보는 것이고(단기), 다른 하나는 과정이 끝나고 몇 년이 지난 후의 변화를 보는 것(장기)입니다.

후자에 대해서는 교육 만족도의 함정이라는 글과 연결된 링크글에서 언급한 적이 있습니다. 간략히 말하면 대략 2-3년에 한 번 꼴로 과정 졸업생들의 행동 변화에 대한 조사를 합니다. 그래서 이 사람이 교육에서 배운 것을 실제로 행동으로 옮긴 적이 있는지, 그 결과는 어떠 했는지 등을 브링커호프(Brinkerhoff)의 석세스 케이스 메서드(Success Case Method)를 사용해 측정하고 있습니다. 참고로 2012년 조사에서는 졸업생 중 94%의 인원이 교육 종료후 교육에서 배운 내용을 실제 업무와 삶에서 적용한다는 분석이 나왔습니다.

다른 하나는 3개월 동안의 변화를 추적하는 것입니다. 한 번의 측정으로 끝나는 것이 아니고 3개월 중 총 5번에 걸쳐 측정을 하게 되어 좀 더 신뢰도와 유용성(특히 형성 평가의 면에서)이 있다고 말할 수 있습니다. 측정도구는 ORS(Outcome Rating Scale)이라는 도구를 씁니다.

ORS는 상담에서 쓰이는 측정도구인데(특히 공통 요인 학파에서), 상담을 통해 얼마나 효과가 있었는가를 측정하며, 그 신뢰도와 타당도가 여러 연구를 통해 확인된 좋은 도구입니다. 최근 근거 기반 실천이 상담에도 도입되고 있는데, 그 운동의 중심에 있는 것 중 하나가 ORS라고 말씀드릴 수 있습니다. 스캇 밀러(Scott Miller) 박사가 다른 이들과 함께 개발했고, 제가 한국어 번역작업을 진행 중입니다.

ORS는 상담/코칭이 시작되기 전에 개인적 웰빙, 가족과 가까운 사람과 관계, 하는 일과 직장/학교에서의 관계, 삶 전반 이렇게 네 가지 영역에 대해 각 점수를 측정해 합산합니다(각 10점, 총40점 만점). 쉽게 말해 점수가 높으면 요즘 잘 살고 있다고 느끼는 것이고, 낮으면 반대가 되는 것이죠. 물론, 어떤식으로 측정을 진행해야 하는지에 대해 명확하고 엄격한 프로토콜(예컨대 질문하는 방식)이 정해져 있어서 그걸 따라야 하고요.

ORS 연구에서는 25점을 커트라인으로 삼고 있습니다. 25점 이하는 상담이 필요하다고 보는 것이고요. 연구에 따르면 5점의 차이가 생기면 이것은 통계적으로 유의미한 변화가 생겼다고 봅니다.

최근 종료한 기수의 ORS 점수 그래프를 한 번 보시죠.



세로축은 ORS 점수, 가로축이 코칭 회기이고 약 3개월에 걸쳐 있었던 것입니다(개인에 따라 전체 횟수나 횟수간 날짜 간격 등은 약간씩 차이가 있음). 각 선 하나가 한 사람의 변화를 나타냅니다. 가로로 굵은 붉은색 선은 커트라인인 25점을 보여주는 겁니다.

각 측정은 코칭 시작하기 전이었으므로, 가로축에 1이라고 표시된 시작점은 3개월 코칭 시작하기 이전 상태로 보시면 되고요. 1회차 코칭이 시작하기 전 상태로 보면, 25점 커트라인 밑에 있는 분들이 꽤 되십니다. 아무래도 힘들고 괴로운 일들이 있으셔서 이 과정을 선택하신 거겠죠.

전체적으로 ORS 점수의 개선이 보이는데, 5회차 시작전을 보면(가로축에서 5) 한 분도 커트라인 밑에 있는 분이 없으십니다.

전체 인원에 대해 1회 때와 마지막 때의 ORS 점수 차이를 보면 평균 약 7점의 개선이 있었습니다. 통계적으로 유의미한 차이가 되는 것이고요(기존 베이스라인 연구에서는 6개월 동안 전혀 개입을 안했을 때 2.5점 정도 오름). 개인에 따라 정도 차이가 있긴 한데, 전반적으로 삶의 만족도에 개선이 있다고 말할 수 있겠습니다.

이런 측정을 통해 제가 어떻게 하고 있는지 확인하고 또 개개인들에게 더 많은 도움을 드릴 수 있는 것 같습니다.

다음주면 벌써 AC2 17기 시작이네요. 마침 한 자리가 비었네요. 관심있는 분들은 신청을 서둘러주세요. ^^ http://ac2.kr
by 애자일컨설팅 | 2014/09/15 10:23 | 트랙백 | 덧글(0)
< 이전페이지 다음페이지 >


Site Meter