통제보다는 자신의 업무를 자기가 알아서...
굿닥에서는 개발과정에서 가능하면 경영진이나 상사라고 하더라도 개발의 세부적인 내용에는 직접 관여하지 않으려고 합니다. 자신이 개발하는 내용에 대한 의사결정과 개발방식, 구현체와 고객 대응과 실제 서비스가 동작하는 부분에 대해서 본인의 의지대로 만들어지는 것을 더 중요시 여깁니다.
개발도구, 형상관리, 다양한 협업툴.. 그런것은 도구일뿐입니다. 사람과의 소통과 커뮤니케이션을 통한 권한과 책임, 자기주도적인 선택에 따른 문화가 우선이고, 나머지는 따라갈 뿐입니다.
그래서, 굿닥의 개발문화에서 가장 중요한 문제의 정의와 해결방법에 대해서도 가능하다면, 해당 업무를 담당하고 있는 개발자와 기획자, 디자이너들이 서로 상의하여 좋은 방법으로 결정하게 합니다. 물론, 이 과정 속에서 결정이 되지 않거나.. 타 부서, 다른 프로젝트와 연관성이 발생하지 않을 수 없겠지요.
당연, 내부적으로 해결책이 없을 때에만 CTO와 CPO를 겸직하고 있는 제가 개입합니다. 그리고, 당연 이슈가 있으면 개입합니다. 나머지는 자기들이 주도적으로 진행합니다.
가능하다면... 자신들의 손으로 목표를 세우고, 그 목표에 대해서 좋은 해결 방법을 찾도록 권하고 있습니다. 작은 불협화음이나 실수들도 발생하겠지만, 그 자체를 줄이기 위해서 무언가를 프로세스로 만들려고 하는 것은 바보짓입니다.
타 부서와의 협업도 마찬가지입니다.
해당 부서와 커뮤니케이션을 통해서 서로의 오해가 없도록 이야기합니다. 가능하다면, 서로의 상황에 대해서 이야기해야겠지요. 작은 오해는 풀고, 큰 오해는 서로 이해하는 것이 맞습니다. 대화가 모든 것의 해결책이니까요.
신입 개발자의 실수도 그 자체로 평가하지 않습니다. 도전적인 자세를 취하고 목표를 달성하기 위해서 달려간 것이라면 그것으로 인정해줍니다. 그리고, 그 문제를 대응할 선배들이 있으니까요. 물론, 매출에 문제가 있어서 해당 부서에서는 이의를 제기할 수 있지만... 그것 자체도 사람이 만들고 , 사람이 움직이는 조직에서의 실수이기 때문에 부서장으로써 정중하게 사과할 때에는 사과합니다.
또한, 고객과의 C/S가 발생하는 과정에서도 가능하면 실무담당자들의 의견을 최우선으로 합니다. 다만, 책임지어야 할 이슈에 대해서는 부서장으로써 개입해서 의사결정을 해주고, 시간을 두고 담당자가 문제를 해결할 수 있게 한 다음에... 회의나 의논 과정을 거쳐서 문제를 찾아냅니다.
문제가 발생했다고... 급하게 회의를 거는 실수는 가능하면 하지 않습니다.
개발자들이 실수를 하거나 구조를 잘못 잡는 경우도 있습니다. 물론, 그런 경우에는 단호하게 잘못된 구조에 대해서 의사결정을 빠르게 내리고, 레거시 판정을 내려주는 경우도 있습니다. 버려지는 코드에 대한 책임은 개발자가 자신의 상황에서 의사 결정한 것이기 때문에 일정이나 주변 환경들에 대해서 다시 한번 분석을 하는 경우도 많습니다.
굿닥의 개발 문화는 정교하게 프로세싱되거나, 문제를 아예 일으키지 않는 구조가 아닙니다. 작은 실수는 빈번하게 일어나지만, 적절하게 비즈니스 속도를 따르게 하면서 발생되는 문제들이기 때문에 이 구조는 굿닥 고유의 개발 문화로 자리 잡게 될 것입니다.
의사결정은 최소화하고, 무의미한 회의도 최소화합니다.
그것이 굿닥에서 개발하는 사람들의 기본적인 자세입니다. 개발자이건 기획자이건, 디자이너이건... 자기주도적으로 무언가를 의사 결정하게 하고, 의견을 이야기하게 합니다. 당연, 궁금하거나 결정하지 못하는 것들에 대해서만 개입합니다.
의사결정의 대부분은 책임을 지는 것이기 때문에 그 책임은 부서장인 제가 지어야 하죠.
주도적으로 자신이 결정하고 자신이 작업하는 상황... 그것이 굿닥이 추구하는 개발 문화이며 프로세스입니다.