스토리 홈

인터뷰

피드

뉴스

조회수 2214

레진 기술 블로그 - IntersectionObserver를 이용한 이미지 동적 로딩 기능 개선

구글 크롬 51 버전부터 DOM 엘리먼트의 노출 여부를 비동기로 처리하는 IntersectionObserver API를 사용할 수 있게 되었습니다. 이 기능을 이용하면 이미지의 동적 로딩이나 광고 배너의 노출 측정 등을 효율적으로 사용할 수 있다고 구글 개발자 블로그에서 소개하고 있습니다. 이 글에서는 기존의 이미지 동적 로딩에 대한 문제점을 짚어보고 여러 예제를 통해 IntersectionObserver의 사용 방법을 익혀 기존 기능을 개선할 수 있도록 합니다. 사용한 예제들은 브라우저의 호환성을 고려하지 않고 구글 크롬을 기준으로 작성하였습니다.기존의 이미지 동적 로딩 구현이미지의 개수가 많거나 용량이 큰 페이지를 불러올 경우 쓸데없는 네트워크 비용이 증가하고 이미지를 불러오는 과정에서 서비스 속도에 문제가 발생할 소지가 있어서 이미지가 사용자에게 보일 때만 불러오는 동적 로딩 기능이 필요합니다. IntersectionObserver를 소개하기 전에 먼저 기존 라이브러리들이 이미지 동적 로딩을 어떤 방법으로 구현하고 있는지 간단하게 알아보도록 합니다.엘리먼트 가시성 판단이미지 동적 로딩에서 가장 중요한 코드는 해당 엘리먼트가 현재 화면 내에 보이는지 알아내는 것입니다. 이를 위해 엘리먼트의 크기와 위치 값을 돌려주는 Element.getBoundingClientRect 함수를 사용하는 경우가 많습니다. 아래는 이 함수를 사용한 간단한 구현 예제입니다.function isInViewport(element) { const viewportHeight = document.documentElement.clientHeight; const viewportWidth = document.documentElement.clientWidth; const rect = element.getBoundingClientRect(); if (!rect.width || !rect.height) { return false; } var top = rect.top >= 0 && rect.top < viewportHeight; var bottom = rect.bottom >= 0 && rect.bottom < viewportHeight; var left = rect.left >= 0 && rect.left < viewportWidth; var right = rect.right >= 0 && rect.right < viewportWidth; return (top || bottom) && (left || right); } 이벤트 처리위에서 구현한 isInViewport 함수는 언제 호출해야 할까요? 먼저 문서를 처음 불러왔을 때 호출해야 합니다. 그 후에는 동적 로딩이라는 단어에 맞게 사용자의 동작에 따라 보이지 않던 엘리먼트가 보이게 되는 이벤트를 감지해야 합니다. 마우스나 터치로 스크롤을 통해 문서의 위치가 바뀌거나 브라우저의 크기가 바뀔 수도 있고 모바일 기기의 화면을 돌려서 볼 수도 있습니다. 데스크톱의 경우 scroll, resize 이벤트를, 모바일의 경우 orientationchange 이벤트의 처리를 생각해야 합니다.const images = Array.from(document.querySelectorAll('img')); document.addEventListener('scroll', () => { images.forEach(image => { if (isInViewport(image)) { image.onload = () => images.splice(images.indexOf(image), 1); image.src = 'original_image_path'; } }); }); 간단하게 위 코드와 같이 구현할 수 있습니다. 물론 실제 서비스를 위해서는 수정할 점이 몇 가지 있습니다. 동적 로딩의 대상이 되는 이미지를 구분하기 위해 해당 엘리먼트에만 특정 클래스를 부여하거나 HTML5에서 지원하는 data 속성을 이용하기도 합니다. 스크롤이나 리사이즈 이벤트가 과도하게 발생하는 경우가 많으므로 throttle 또는 debounce 등을 사용해 실행 빈도를 조절할 수도 있습니다. 일부 라이브러리에서는 requestAnimationFrame을 이용해 이벤트 핸들러를 처리하기도 합니다.TADA레진코믹스에서는 이미지 동적 로딩을 위해 서비스 초기에 Unveil 라이브러리를 사용했었습니다. 그러나 적용 후 몇 가지 아쉬움이 있어 따로 TADA 라이브러리를 제작했습니다. 먼저 마크업 구조상 이미지를 태그가 아닌 다른 태그에 배경 이미지로 사용하는 경우를 지원해야 했습니다. 그리고 모바일 웹에 주로 많이 적용하는 수평 스크롤 구역에 대한 처리도 필요했습니다. 문서의 스크롤 이벤트로는 처리가 되지 않기 때문에 특정 엘리먼트를 받아 그 엘리먼트의 스크롤 이벤트 핸들러를 등록할 수 있도록 해야 했습니다. 이를 해결하기 위해 만든 라이브러리를 현재 서비스에 적용 중이지만 이 라이브러리 역시 아래와 같은 문제점들을 가지고 있습니다.</> < id>기존 이미지 동적 로딩의 문제점getBoundingClientRect 함수의 문제점위 코드에서 특정 엘리먼트가 현재 화면 내에 보이는지 검사할 때 사용하던 Element.getBoundingClientRect 함수에는 치명적인 단점이 있습니다. 이 함수를 호출할 때마다 브라우저는 엘리먼트의 크기와 위치값을 최신 정보로 알아오기 위해 문서의 일부 혹은 전체를 다시 그리게 되는 리플로우(reflow) 현상이 발생한다는 점입니다. 호출 횟수가 적을 경우에는 부담이 되지 않지만, 이 함수는 위에서 구현한 것처럼 스크롤이나 리사이즈 이벤트가 발생할 때마다 등록한 모든 엘리먼트를 순환하면서 호출하게 됩니다. 이 코드들이 하나의 메인 스레드에서 실행되기 때문에 스크롤을 할 때마다 실행 속도가 눈에 띄게 느려질 수도 있습니다.외부 도메인 문서를 사용하는 iframe최신 브라우저들은 동일 도메인 정책에 따라 iframe 내의 외부 도메인 문서에서 현재 문서에 접근하지 못 하게 막고 있습니다. 이 제한은 서비스 개발에서 겪게 되는 문제는 아니고 외부 광고 플랫폼 개발자의 입장에서 발생하는 문제입니다. 광고 이미지의 표시나 클릭 이벤트의 처리 등은 iframe 내에서 처리할 수 있지만 광고 이미지를 지연 로딩한다거나 이 광고가 사용자에게 노출이 되었는지 기록하는 등의 기능은 iframe 내에서 불가능합니다. 그래서 광고를 적용하는 서비스 개발자에게 스크립트를 제공하고 서비스 문서 내에 삽입하는 방식으로 처리하고 있습니다. 이러한 외부 광고가 여러 개라면 삽입해야 하는 코드가 늘어날 뿐만 아니라 코드 내에서 스크롤이나 리사이즈 이벤트 등을 각각 사용하기 때문에 위에서 언급한 문제점들이 배가될 수 있습니다.기타 이벤트에 대한 처리대부분의 동적 로딩 라이브러리들은 적용할 엘리먼트에 특정 클래스 또는 data 속성을 부여하면 코드를 추가 작성하지 않더라도 쉽게 사용할 수 있습니다. 하지만 화면에서 보이지 않던 엘리먼트가 갑자기 나타나는 현상은 스크롤이나 리사이즈 이벤트에서만 발생하는 것이 아닙니다. 더보기 버튼을 눌렀을 때 숨겨져 있던 엘리먼트를 노출할 수도 있고 AJAX 호출 후 엘리먼트를 생성한 후 보여줄 수도 있습니다. 이런 경우 일괄적으로 처리하기가 어렵우므로 해당 이벤트가 발생할 때 수동으로 처리하는 수밖에 없습니다.IntersectionObserver위에 나열한 문제들을 효과적으로 처리하기 위해 크롬 51/엣지 15/파이어폭스 55 버전부터 IntersectionObserver를 지원하기 시작합니다. 우리말로 번역하면 교차 감시자 정도가 될 이 기능은 등록한 엘리먼트가 보이는 영역에 나타나거나 사라질 때(용어에 충실하자면 대상 엘리먼트의 영역이 루트 엘리먼트 영역과 교차하기 시작하거나 끝났을 때) 비동기로 이벤트를 발생시켜 줍니다. 기본적인 사용법은 아래와 같습니다.const intersectionObserver = new IntersectionObserver((entries, observer) => { entries.forEach(entry => { if (entry.isIntersecting) { // do something observer.unobserve(entry.target); } }); }); intersectionObserver.observe(element); 먼저 IntersectionObserver 생성자에 콜백 함수를 인자로 넘겨주고 생성한 인스턴스의 observe 메소드를 통해 동적으로 처리할 엘리먼트를 등록합니다. 콜백 함수는 IntersectionObserverEntry 객체 목록을 전달받으므로 순환문을 통해 각 엘리먼트에 대한 처리를 완료하고 필요한 경우 unobserve 메소드를 이용해 감시 대상에서 해제할 수 있습니다.IntersectionObserver 예제아래 예제들은 기본적으로 아래 코드를 바탕으로 작성되었습니다. 각 예제들의 최상단에 엘리먼트에 짝을 이룬 표시등을 두었고 콜백 함수가 호출될 때마다 파동 효과를 주었으며 이 때 isIntersecting 속성을 기준으로 표시등을 켜지거나 꺼지게 되어 있습니다.const io = new IntersectionObserver(entries => { entries.forEach(entry => { // isIntersecting 속성으로 해당 엘리먼트가 보이는 지 표시 }); }); Array.from(document.querySelectorAll('.box')).forEach(box => { io.observe(box); }); 스크롤 이벤트를 다루지 않더라도 엘리먼트의 가시성 여부를 isIntersecting 속성을 통해 알 수 있습니다.<iframe class="demo" data-fr-src="https://cdn.rawgit.com/fallroot/intersectionobserver-examples/master/basic-verticalscroll.html" width="600" height="400" frameborder="0">수평 스크롤의 경우에도 overflow 속성이 적용된 컨테이너 엘리먼트의 스크롤 이벤트를 처리하지 않더라도 상관없습니다.<iframe class="demo" src="https://cdn.rawgit.com/fallroot/intersectionobserver-examples/master/basic-horizontalscroll.html" width="600" height="200" frameborder="0">더보기 버튼에 대한 클릭 이벤트를 따로 등록하지 않아도 동작합니다.<iframe class="demo" src="https://cdn.rawgit.com/fallroot/intersectionobserver-examples/master/basic-unfold.html" width="600" height="240" frameborder="0">리사이즈 이벤트 역시 따로 처리할 필요가 없습니다. 새 창을 띄운 후 창 크기를 조절하면서 확인할 수 있습니다.위의 모든 예제들은 <iframe> 태그 안에서 실행되고 있습니다. 이처럼 작성한 코드가 외부에서 실행이 되더라도 IntersectionObserver API는 문제없이 동작합니다.IntersectionObserver 생성자 옵션rootroot 옵션에는 가시성의 판단 기준이 될 HTML 엘리먼트를 지정합니다. observe 메소드로 등록하는 엘리먼트들은 반드시 이 루트 엘리먼트의 자식이어야 합니다. 이 옵션을 지정하지 않을 경우 브라우저 화면에서 현재 보이는 영역인 뷰포트가 기본이 됩니다. 아래 예제에서 알 수 있듯이 루트 엘리먼트를 지정하면 현재 화면과는 상관없이 루트 엘리먼트와 등록한 엘리먼트들의 영역이 교차하는 지 판단하게 됩니다.<iframe class="demo" src="https://cdn.rawgit.com/fallroot/intersectionobserver-examples/master/option-root.html" width="600" height="400" frameborder="0">rootMargin루트 엘리먼트의 마진값을 지정할 수 있습니다. CSS에서 사용하는 형식과 같기 때문에 “10px”, “10px 20px”, “10px 20px 30px 40px” 형태가 모두 가능하며 음수값으로 지정할 수도 있습니다. 기본값은 0이고 루트 엘리먼트를 지정한 상태라면 퍼센트값을 사용할 수도 있습니다. 이 옵션을 이용하면 이미지 동적 로딩에서 해당 엘리먼트가 화면에 나타나기 전에 이미지를 불러오기 시작해 이미지 공백을 줄이는데 유용하게 이용할 수 있겠습니다.<iframe class="demo" src="https://cdn.rawgit.com/fallroot/intersectionobserver-examples/master/option-rootmargin.html" width="600" height="400" frameborder="0">위 예제에서는 root 옵션은 지정하지 않고 rootMargin 옵션을 각각 0, 100px, -100px, 50%로 지정했습니다. 하지만 iframe 내에서 실행을 하게 되면 이 옵션이 정상적으로 동작하지 않습니다. 프로젝트 페이지의 이슈 댓글에는 동일 도메인의 프레임 안에서는 동작하는 것으로 논의되고 있지만 뷰포트에는 해당하지 않거나 버그 또는 아직 크롬에 반영이 되지 않아 보입니다.이 예제는 새 창을 띄워 프레임을 벗어나면 정상적으로 동작합니다. 스크롤을 내리다보면 엘리먼트마다 IntersectionObserver 콜백 함수가 다른 위치에서 호출됨을 알 수 있습니다.thresholdthreshold 옵션은 엘리먼트가 콜백 함수의 호출 시점을 정하는 옵션입니다. 0과 1을 포함한 그 사이의 숫자 또는 숫자 배열을 지정할 수 있는데 이 숫자는 엘리먼트의 전체 영역 중에 현재 보이는 영역의 비율입니다. 이 비율의 경계를 넘나들 때마다 콜백 함수가 호출됩니다.<iframe class="demo" src="https://cdn.rawgit.com/fallroot/intersectionobserver-examples/master/option-threshold-value.html" width="600" height="400" frameborder="0">위 예제에서는 threshold 옵션을 각각 0, 0.5, 1, [0, 1]로 지정했습니다. rootMargin 예제처럼 엘리먼트마다 콜백 함수가 다른 위치에서 호출됩니다. 두 번째와 세 번째 상자는 콜백 호출 시점에 isIntersecting 값이 항상 참이기 때문에 표시등이 정상적으로 표시되지 않습니다. isIntersecting 속성을 기준으로 처리해야 할 작업이 있다면 반드시 threshold 속성에 0을 포함시켜야 정상적으로 동작합니다. threshold 속성은 아래 예제처럼 콜백 함수의 인자로 받는 IntersectionObserverEntry 객체의 intersectionRatio 속성과 같이 사용하기에 유용합니다.<iframe class="demo" src="https://cdn.rawgit.com/fallroot/intersectionobserver-examples/master/option-threshold-ratio.html" width="600" height="400" frameborder="0">위 예제에서는 threshold 옵션을 각각 [0, 1], [0, 0.5, 1], [0, 0.25, 0.5, 0.75, 1]로 지정하고 콜백이 호출되면 intersectionRatio 값을 기준으로 표시등의 배경 투명도를 바꾸도록 했습니다.IntersectionObserver의 활용이미지 동적 로딩지금껏 알아본 IntersectionObserver를 이용해 이미지 동적 로딩을 간단하게 구현해봅니다. 이미지 엘리먼트를 구성할 데이터가 배열로 존재한다고 가정하고 ES6에서 지원하는 템플릿 문자열을 사용해 배열을 순환하면서 이미지 목록을 생성합니다. 그 후 IntersectionObserver를 초기화하고 만들어진 엘리먼트들을 등록합니다. 콜백 함수에서는 엘리먼트가 보이는 상태일 때 이미지를 로딩하고 해당 엘리먼트를 감시 해제합니다. id="comics"> const comics = [ { alias: 'eunsoo', id: 6080299074584576, title: '은수' }, ... ]; const template = comics => ` ${comics.map(comic => ` ${comic.id}"> ${comic.alias}" class="info">${comic.title} `).join('')} `; document.getElementById('comics').innerHTML = template(comics); const io = new IntersectionObserver((entries, observer) => { entries.forEach(entry => { if (!entry.isIntersecting) { return; } const target = entry.target; const id = target.dataset.id; target.querySelector('.info').style.backgroundImage = `url(https://cdn.lezhin.com/v2/comics/${id}/images/wide?width=600)`; observer.unobserve(target); }); }); Array.from(document.querySelectorAll('.comic')).forEach(el => { io.observe(el); }); 아래 예제를 실행하면서 브라우저의 개발자 도구를 열고 네트워크 탭을 살펴보면 이미지 엘리먼트가 보이기 시작할 때 불러오기 시작하는 것을 확인할 수 있습니다.<iframe class="demo" src="https://cdn.rawgit.com/fallroot/intersectionobserver-examples/master/demo-lazyload.html" width="600" height="400" frameborder="0">무한 스크롤IntersectionObserver 기능을 이용하면 무한 스크롤 역시 쉽게 구현할 수 있습니다. 아래 예제에서는 스크롤의 끝부분에 감시를 할 엘리먼트를 두고 그 엘리먼트가 노출이 될 때마다 콘텐츠를 추가로 불러오도록 작성하였습니다. id="items"> id="sentinel"> const count = 20; let index = 0; function loadItems() { const fragment = document.createDocumentFragment(); for (let i = index + 1; i <= index + count; ++i) { const item = document.createElement('p'); item.classList.add('item'); item.textContent = `#${i}`; fragment.appendChild(item); } document.getElementById('items').appendChild(fragment); index += count; } const io = new IntersectionObserver(entries => { entries.forEach(entry => { if (!entry.isIntersecting) { return; } loadItems(); }); }); io.observe(document.getElementById('sentinel')); loadItems(); 실행 결과를 아래 예제에서 확인할 수 있습니다.<iframe class="demo" src="https://cdn.rawgit.com/fallroot/intersectionobserver-examples/master/demo-infinitescroll.html" width="600" height="400" frameborder="0">마무리IntersectionObserver API는 아직 몇몇 브라우저의 최신 버전에서만 사용할 수 있지만 지원하지 않는 브라우저를 위해 Polyfill을 제공하고 있습니다.IntersectionObserver API는 웹 광고 플랫폼 제공자와 사용자 모두에게도 좋은 소식이라 봅니다. 이 API가 정착된다면 광고 노출 여부를 측정하기가 쉬워지고 서비스에 더해졌던 리소스 낭비를 줄일 수 있을 것이라 생각합니다.레진코믹스는 크롬 브라우저 사용자의 비중이 높은 편이기 때문에 빠른 시일 안에 적용해 볼 예정입니다. 이미지 동적 로딩 기능의 개선과 정주행 기능과 같이 현재 스크롤 이벤트를 과하게 사용하고 있는 코드에 대한 부담을 덜 수 있기를 기대하고 있습니다.참고자료Intersection Observer API SpecificationIntersectionObserver’s Coming into ViewIntersection Observer API
조회수 4834

커뮤니티 데이터로 만드는 커머스, 스타일쉐어 MD 인터뷰

안녕하세요. 스타일쉐어의 장선향입니다.스타일쉐어를 여전히 패션 사진 공유 플랫폼으로 생각하는 분들이 많지만, 작년 4월부터 스토어1를 론칭해 SNS를 기반으로 한 커머스를 함께 운영하고 있습니다. SNS를 기반으로 한 커머스. 감이 잘 안 오신다구요? 맨 처음 앱이 출시되었을 때 많은 유저들은 SNS로서 스타일쉐어를 이용했습니다. 페이스북이나 인스타그램처럼 일상의 패션 사진을 올리고 공유하는 플랫폼처럼 말이죠. 유저들은 제품에 대한 정보를 궁금해하기 시작하고, 지난해 4월 커머스가 런칭한 후에는 사진 속 상품을 클릭 한 번으로 구매를 할 수 있게 되었습니다. SNS적 성격이 강한 기능인 스타일피드를 시작으로 스토어가 결합되어 유저들에게 정보 공유와 구매를 한 번에 할 수 있게 된 것입니다.뛰어난 콘텐츠 생산자이자 다양한 미디어를 활용하며 콘텐츠를 소비하는 소위 밀레니얼 세대들이 사용하는 스타일쉐어는 일반 커머스와는 확연히 다릅니다. 유저들은 스타일쉐어에서 정보를 얻고 적극적으로 쇼핑에 참여하며, 제품에 대해 평가하고 후기를 공유합니다. 그러다 보니 기존 쇼핑커머스에서 흔치 않은 이야기들을 만들어 냅니다. 작은 브랜드가 굉장히 성장한다던가 새로운 유행을 만들어 낸다거나 하는 식으로 말이죠.이런 재미있는 스토리들을 들려주실 커머스 MD분들께 스토어에 대해 들어보는 시간을 가졌습니다. 단 6명으로 올해 4월, 누적 거래액 100억을 달성하며 매달 새로운 기록을 세우고 있습니다. MD(MerchanDiser) 란 상품을 기획하는 직군을 말합니다. 스타일쉐어에서 판매하는 상품을 소싱하고, 기획하는 일을 하며 고객의 반응을 파악하여 매출 관리, 재고관리, 사후관리까지 담당하고 있습니다. 지난 1년간 무에서 유를 만들고 있는 스타일쉐어 스토어의 숨은 주인공, 스쉐 MD분들 — 커머스팀 리더 신희정님, 패션MD 김미리님, 뷰티MD 김민희님- 을 소개합니다.스타일쉐어의 스토어 규모에 대해서 소개해 주세요.희정: 600여개 패션, 300여개 뷰티, 300여개 슈즈/잡화 브랜드들이 입점해 있습니다. 처음 스토어를 론칭할때는 100여개 브랜드로 시작했는데 지금은 1,100여 개 브랜드, 4만 개가 넘는 제품을 판매하고 있습니다.스타일쉐어의 스토어는 다른 커머스 플랫폼과 어떻게 다른가요?미리, 민희: 대부분의 커머스들은 탑 셀러가 정해져 있고 주로 빅 브랜드가 상위 매출의 대부분인데요. 유저 연령대가 젊은 스타일쉐어의 특성상 새로운 브랜드와 제품에 관심이 많습니다. 스타일피드에서의 바이럴과 마케팅으로 브랜드파워가 높지 않아도 매출이 빠르게 성장하는 것을 볼 수 있습니다. 그러다보니 저희는 탑 셀러/빅 브랜드에 의존하지 않고 새로운 브랜드를 발굴하고 성장하는데 관심이 많습니다. 실제로 매월 MD의 기획과 마케팅에 따라 베스트셀러가 바뀝니다. 입점사들에게는 기회가 많은 채널이라고 생각합니다.SNS 컨텐츠를 기반으로하는 스쉐스토어 특성이 상품판매에 영향을 준 대표적인 사례를 소개해 주시겠어요?미리: 대표적인 브랜드 중 하나는 휠라인데요. 휠라는 최근 젊은 느낌을 주기 위해 브랜드 리뉴얼을 했습니다. 최근 스타일쉐어에서 10–20 타겟의 운동화 디스럽터2를 선 발매하고, 유저들의 초기 반응을 바탕으로 추후 리오더해야할 물량을 예측했습니다. 바이럴 마케팅뿐만 아니라 상품 계획을 하는데 스타일쉐어를 활용한 것입니다. 디스럽터의 성공적인 론칭 이후 휠라가 인기 검색어로 오랫동안 상위를 차지했고 선발매 제품의 초기 물량 역시 완판되었습니다.민희 : 뷰티의 경우 바이럴이 정말 중요한데요. 마스크팩/뽀샵픽서라는 제품을 판매하는 파이스해빗2은 인지도가 낮은 브랜드였는데, 스타일쉐어에서의 바이럴과 매출 증가를 기반으로 최근 왓슨스 등 오프라인 매장에 입점했습니다. 바디미스트 브랜드 라르끄3는 단독 입점 후 첫월 매출 1200% 성장을 기록하며 이후 해외 수출까지 진행하는 기반을 마련했습니다. 타 커머스에서는 스테디셀러가 매출의 상위를 꾸준히 유지한다면, 스타일쉐어는 다른 커머스들에 비해 신규 브랜드들도 스타일쉐어 플랫폼내 다양한 컨텐츠들을 통해 베스트셀러가 되고 있습니다.특히 입점사들의 매출 성장을 위해 MD분들은 어떤 점에 신경쓰나요?미리, 민희: 패션과 뷰티업체 중 40% 정도를 신규 브랜드가 차지하고 있습니다. 신규 브랜드 성장을 위해 MD로서 브랜드와 상품 판매 초반에 많은 협의를 가집니다. 뷰티 브랜드의 경우 제품의 기능적인 부분을 잘 나타낼 수 있도록 하고, 스타일쉐어 마케팅 채널과 광고 채널을 써서 판매촉진을 시도합니다. 덕분에 입점사들간의 입소문으로 입점문의가 많이들어오고 있습니다.최근 단독 판매, 선 발매등 브랜드와의 협업이 늘어나고 있습니다. 입점사들의 반응이 어떤가요?미리, 민희: 보통 선발매를 많이 진행합니다. 판매와 동시에 유저들이 올리는 후기를 통해 상품에 대한 반응을 즉시 볼 수 있고, 자연스럽게 바이럴을 일으킬 수 있다는 점이 입점사들에게는 매력적인 것 같습니다. 특히 디자이너 브랜드가 많은 패션 카테고리의 경우 소량 생산하는 경우가 많은데요. 유저의 반응을 바탕으로 추가 생산하거나 제품을 보완합니다. 최근 숄더체크4라는 브랜드는 기획 단계에서부터 스타일피드를 보고 유저들이 좋아할 만한 제품을 생산해 인기를 얻고 있는 중입니다. 뷰티 카테고리에서는 러비더비의 컬러 트리트먼트가 성공적인 사례입니다. 업체와 제품 디자인에서 가격, 색상까지 협의를 통해 1020대가 좋아할 만한 제품을 생산합니다. 러비더비의 경우 한 달만에 초도 물량이 품절되기도 했습니다.희정: 최근 소비력이 커지고 있는 10–20대 타겟으로 대기업에서도 관심이 큽니다. LG생활건강과 함께 플라잉 애플을 공동기획해 선 발매한 사례와 퍼퓸 향수라인 “찬란”을 선발매한 사례가 대표적입니다. 최근 빅브랜드에서 1020 타겟의 제품라인에 관심이 많아지면서 스타일쉐어의 트랜드를 참고해 상품기획을 제안합니다. 특정 연령과 성별을 확보한 스타일쉐어는 아직도 잠재력이 크다고 생각합니다.스타일쉐어의 입점 기준은 무엇입니까? 입점 후 어떻게 관리하나요?희정: 입점 기준은 명확합니다. 오직 유저들이 좋아하는 것, 좋아할 만한 것입니다. 스타일쉐어는 빅 브랜드를 입점시키기 보다, 스타일피드에 뜨는 브랜드 또는 상품을 참고해서 입점을 제안하고 있습니다. 몇몇 업체의 경우에는 스타일쉐어에 많은 컨텐츠가 올라와야 하는 젊은 브랜드임에도 불구하고 컨텐츠가 많지 않은 경우도 있습니다. 이 경우 스타일쉐어가 좋은 플랫폼이 될 수 있습니다.입점사 관리도 유저 데이터에 기반합니다. 스타일피드에서의 반응을 통해 제품의 인기가 떨어지는 것을 빠르게 감지할 수 있습니다. 제품의 라이프사이클에 따라 수명이 다하면 새로운 제품을 개발해야 합니다. 디자이너 브랜드는 많은 경우 저희와 단독 상품을 기획합니다. 스타일쉐어에서 인기있는 키워드 “벨크로”, “플리스” 등 그때그때 유행하는 키워드를 공략해 업체별로 단독상품을 만들 때 반영합니다. 이렇게 기획한 상품은 인기가 좋을 수밖에 없습니다.스토어를 만들면서 가장 기억에 남는 순간은 언제인가요?미리, 민희: 무엇보다 기획했던 상품이 인기가 좋을 때 인 것 같습니다. 또 타 커머스에서 판매와 성장이 어려운 중소 브랜드가 스타일쉐어에서 성장하는 모습을 볼 때 보람을 느낍니다. 업체에서도 고맙다는 말씀을 많이 합니다. 스타일쉐어의 열혈 유저들도 빠트릴 수 없습니다. “스쉐 덕분에 정말 잘 샀어요”, “스쉐 사랑해요” 등 피드백을 줄 때 고맙고 보람을 느낍니다.희정 : 작년 봄부터 여름까지 입점사들을 설득하러 다닐 때가 얼마 지나지 않은 것 같은데, 이제는 MD들이 땡볕에 나가 고생하는일이 적어졌습니다. 지난 1년간의 고생이 조금씩 결실을 맺어가는 것을 보면서 보람을 느낍니다.앞으로 스타일쉐어를 어떤 커머스로 만들고 싶나요?희정 : 처음부터 지금까지 스타일쉐어는 업체들과 동반 성장하고 있습니다. 특히 중소브랜드가 국내에서 주목받기는 쉽지 않은데 이런 파트너들과 좋은 기회를 만들고 있습니다. 앞으로도 신진 디자이너 브랜드가 적극적으로 참여하는 채널이 되고 싶습니다. 한편 아직까지 빅 브랜드, 미입점된 브랜드가 많습니다. 무수한 브랜드와 제품들 사이에서 주목받기 어려워지는 빅 브랜드들의 고민도 풀 수 있는 플랫폼. 유저들과 소통하며 함께 성장하는 스토어가 되었으면 합니다. 스타일쉐어 유저들이 더 나은 쇼핑 경험을 할 수 있도록 앞으로도 노력할 것입니다.#스타일쉐어 #팀원소개 #인터뷰 #기업문화 #조직문화 #팀원자랑
조회수 891

드디어 책을 완성해버렸드아아. '디자이너 사용설명서'

책이란 게 참 그렇습니다."와씨 나도 언젠가 책 한 번 써야지!!"라고 다들 한번씩은 생각하잖아요. 저도 마찬가지였거든요. 내 이름으로 된 책 하나 있으면 꿀잠잘 수 있을 것 같은 그런 느낌이 그득했어요. 하지만 당최 책이란 게 내가 쓰고싶다고 해서 쓰는 것도 아니고 원고를 들고 출판사에 기웃대기엔 깡이 부족했어요. 독립출판을 하자니 너무 귀찮았구.그런데 어느새 진짜 제 이름으로 된 책이 나와버리고 말았네요!! 지금부터 이 책이 어떻게 등장하게 되었는지 히스토리를 주저리 거려보겠습니다.저는 원래 판매와 영업을 뛰다가 교육계에 있다가 갑자기 프로젝트매니저를 맡았다가 행사기획을 하다가 뜬금포 디자인으로 전향한 독특한 커리어를 가지고 있어요. 왜 그랬어요? 라고 물어보신다면... '어쩌다보니?'....http://jjaltoon.gallery/?p=7661네 그렇습니다. 삶이란 게 사실 내가 뭔갈 해야지!! 맘먹어서 제대로 되는게 몇 개나 있겠어요. 그냥 먹고살기위해 이런저런 식스스텝을 밟다보니 이렇게 되어버렸답니다. 디자인계통으로 전향하고 나서 뒤늦게 툴을 배우고 디자인공부를 독학으로 시작했어요. 이것은 정말이지 마을근처에서 슬라임을 잡아 만렙을 찍겠다는 느낌의 노가다와 비슷했지요. 하지만 돈은 벌어야 하니 멈출 순 없었어요. 역시 돈은 최고의 동기부여 아이템이 아닐 수 없습니다. 뒤늦게 시작했던 터라 디자인 포폴이 좀 취약하더라구요. 레퍼런스가 없어서 시간 내서 억지로 만들어야 하는 상황이었달까요. 대신 제 커리어를 좀 접목시켜 살려보기로 했어요. 어차피 디자인을 의뢰하는 클라이언트의 입장에서 보면 세계적인 디자이너든 윗집사는 디자이너든 결국 본질은 상대의 욕망을 잘 구현해주는 사람이 짱먹는 거잖아요. 과거 영업뛰고 미팅하고 이 사람 저 사람 사연들으며 끄덕거리고 눈물도 닦아주고 그래그래 고생많았다 엉덩이 통통통해주던 재능을 살려보았어요.잘 들어주고, 쉽게 말해주고, 깔끔하게 일 처리해주고. 원하는 그림을 제때 딱 주면 되는거 아닐까?  싶어서요. 포트폴리오보단 '저는 이렇게 일합니다!' 를 더 알리고 싶었달까요. 그래서 브런치를 택한 거였어요. 아이러니하게도 디자이너이지만 이미지보다 텍스트가 제 성향을 더 잘 드러낼 수 있을 것 같았거든요.처음엔 영업뛰려고 시작한 글이었죠. 그러다가 이래저래 답답했던 속내를 맥주 한 잔에 담아 새벽감성 핑계로 주저리주저리 써보기도했죠. 그게 바로 '알쏭달쏭 클라이언트 용어정리' 편이었어요. 이불킥감이라고 생각했지만 취했기에 그냥 써놓고 잠이 들었죠.그리고 다음 날.아침에 일어나서 브런치앱을 켜봤는데 생전 처음보는 조회수가 찍혀있는거예요. 그리고 이내 메일에 뭔가 우르르르르.....한가득 이런저런 요청들이 들어오기 시작했어요.이건 아주 갑자기였죠. 보통 콘텐츠라는 게 오늘은 멋있어보이지만 내일되면 싸늘한 주검으로 발견되는데...(위기탈출 콘텐츠) 이번엔 좀 달랐어요. 하지만 브런치글이 뭔 돈이 되는 것은 아니니 그냥 기분만 좋고 말았었죠.그렇게 몇 개 글을 더 썼는데 이게 아다리가 잘맞아서인지 어째서인진 몰라도 마케터들을 위한 용어정리도 빵 터지고 막 난리인거예요.그리곤 출판사에서 전화, 메일, 다이렉트메시지 등등이 우르르 오기 시작했어요.일의 모습네 그렇게 시작했습니다.이 모든 건 1주일만에 벌어진 일이었어요. 그 때의 느낌은 매우 당황에 가까웠습니다. 기쁘다거나 그런 감정이 아니라 도대체 나에게 왜??...라는 의문만 들었죠.하지만 일이란 게 그런 의문을 해결할 여유를 주지 않더라구요. 갑자기 계약을 맺게되고 원고를 써보라고 해서 우르르르 쓰기 시작했어요. 하루에 워드6페이지씩 써야하는 강행군이더라구요....책을 쓰는 건 2가지 의미에서 개빡셉니다.우선은 매일매일 쓰지 않으면 다음날 죽음의 분량을 맛보게 된다는 것과또 하나는 한 챕터씩 쓸 때마나 뇌의 일부가 잘려나가는 느낌이라는 거랄까요?더 쓸 게 없다...내 지식과 경험을 가장 빠르게 탈탈 털어버릴 수 있는 방법은 글을 쓰는 거에요. 되게 많이 알고있다고 생각했는데 한 챕터쓰니까 아는 거 없음. A4 6장분량이 전부였단말인가.... 라는 허탈함을 500번쯤 맛보면서 겨우겨우 원고를 털어낼 수 있었습니다. 원래는 올해 2월정도에 출간하는 게 목표였지만 이래저래 수정도 하고 하다보니 5월이 되었네용.책을 쓰면서 3가지를 생각해봤어요.1. 이 책을 쓰면 누군가에게 도움이 될 수 있지 않을까?2. 이 책을 쓰면 누군가에겐 욕을 쳐먹겠구나.3. 이 책을 쓰면 나는 하얗게 불타서 사라지겠구나.2번은 이제 곧 시작될 것 같고 1번은 희망사항이고 3번은 팩트였습니다. 책 제목은 '디자이너 사용설명서' 예요. 사용설명서....라는 단어가 물건에만 지칭하는 표현인지라 자칫 디자이너를 물건취급하는 거 아니냐!?!!?!?!? 라는 생각이 드실 수도 있겠지만 제가 디자이넌데 설마 그랬겠습니까. 어떤 대상과 좋은 관계를 유지하며 최대한 다치지 않게 잘 쓸 수 있는 방법과 주의사항, 전반적인 상세내용을 담은 글..이란 표현을 찾다보니 사실 '사용설명서'만한 표현이 없더라구요. 그래서 서점에 가보니 역시나 이런저런 사용설명서가 꽤나 많았습니다. 이 책의 독자분들은 당연히 클라이언트 분들입니당. (디자이너가 읽는다고 문제가 생기진 않아요.) 디자인의뢰 맡기다가 개털려본 경험이나, 원형탈모가 생겼거나 손떨려서 의뢰를 못하겠거나 해놓고나서 막막한 경우 등등... 생각보다 많은 분들이 디자인의뢰를 어려워하시더라구요. 아무래도 내가 잘 모르는 영역이니 그렇겠죠. 그런 맥락에서 보면 사실 개발의뢰나 제작의뢰나 뭐 죄다 비슷할 것 같습니다.하지만 영역이 조금 다를 뿐 본질적으론 결국 서로가 주고받는 대화일 뿐이잖아요. 알아듣게 얘기하고 싸우지 않고 일을 챠근챠근 해내면 되는 것이니까요.(아니 그게 어렵다니까?!) 그래서 그런 내용을 위주로 주루루룩...써보았습니다. 책에 내용을 담으면서 제 과거의 실수들과 어버버버했던 실패담들 위주로 적으려고 노력했어요. 성공적인 건들은 대부분 아다리의 영향이 있어서 온전히 나의 노력이다!!~라고 말하긴 좀 애매한 부분이 있더라구요. 하지만 놀랍게도 실패하거나 실수한 케이스는 오롯히 참으로 진실로 제 실수인 경우가 많았습니다. 주륵...사람이 뭔 말을 하면그래서 이런 내용을 담는게 차라리 더 낫지 않을까 싶었어요. 책이 나오고나서 제가 한 번 다시 읽어보았습니다. 시공간의 틈사이로 손발이 끼어들어가 나오지 않는 기분이었어요. 게다가 브런치에선 요죠체를 쓰다가 책에서 다나까를 쓰니까 왜이렇게 어색하고 버릇없어 보이는 지..이건 기분탓이겠지요?... 네 맞아요. 부산의 바닷바람을 잔뜩 맞으며(이 글을 쓸 때 부산에서 브랜딩프로젝트 중이었거든요.) 아침부터 눈부비며 워드를 켰던 지난 4개월의 시간이 주마등처럼 스윽...스쳐가며 눈물이 자욱해지는 것을 느낍니다. 지금보니 문장이 이상한 부분이나 아무말이나 하고있는 부분도 몇몇 보이지만, 최대한 솔직하게 쓰려고 노력했어요.이런 바다를 보면서 글을 썼지요.첫 책이 서점에 깔리기 시작했습니당. 기분이 묘하더라구요. 온라인서점에서 막 판매되고 있는 걸 보고있자니 말입니다. 이제 얼른 왕창 팔려서 저도 돈벌고 여러분도 돈벌고 온세상 지구촌이 행복해지길 바라고있습니다.브런치에서 늘어놓던 아무말의 조금 정제된 버전정도로 생각해주시면 될 것 같아요. 좀 더 실무자들에게 와닿게 썼으니 실무를 맡고계신 분이나 자꾸 이상한 소리하는 대표님에게 선물해주시면 함께 읽으며 즐거운 시간을 보낼 수 있을거예요. 책의 부제는 "싸우지 않고 원하는 디자인을 얻는 45가지 방법" 입니다. 기가맥히죠?모두모두 머리털 덜 빠지고 빠릿하게 웃으면서 일을 끝낼 수 있는 내일이 되길 기원하며(그렇게 되려면 이 책을 사서 보도록 해요.)지금 예스24와 알라딘, 인터파크도서, 교보문고에서 열심히열심히 주인을 기다리고 있습니당 :)오프라인에도 서서히 깔리기 시작하고 있어욤.http://www.yes24.com/24/Goods/61248616?Acode=101http://www.kyobobook.co.kr/product/detailViewKor.laf?ejkGb=KOR&mallGb=KOR&barcode=9788960516359&orderClick=LAG&Kc=http://www.aladin.co.kr/shop/wproduct.aspx?ItemId=148206610더불어 :) 혹시라도 리뷰리뷰를 써주실 감사하고 엄청나 대천사님들께선 https://blog.naver.com/bookiemb/221286028537에서 써주시면 넙죽입니다. 이쁘게이쁘게 써주시면 감사와 함께 뭔가 치킨이라도 대접해드리도록 하겠습니다.많이많이 애정해주세용 :)브런치에는 여전히 아무말을 계속 쓰도록 하겠습니다. 빠이잉.
조회수 1474

즐기기만 할 것인가요?

왜 창업하셨나요?스타트업에서 왜 일해요?그 답은 각자 다르겠지만스타트업에서 즐기는 일이라는 것은무엇보다 매력적인 단어이다.힘들고 어렵지만,일은 즐거워요.즐기면서 일하고 있어요.그래서 버텨요.그래?얼마나 버틸 수 있을까?즐거움만으로 얼마나 견딜 수 있을까?나도 일은 즐기면서 한다.단지, 즐기면서 한다는 것이 전부는 아니다.책으로 배운 창업과실제 창업해서 겪는 하루하루는 너무나 큰 갭이 있다.즐긴다고?즐기기 어려운 일이 얼마나 많은데...멘탈의 문제냐고?아니,좋아하는 일 한 가지를 하기 위해서 하기 싫은 일 또는 좋아하지 않는 일 아홉 가지는 해야 한다.좋아하지 않는 일을 여러 번 해야 하는데그것을 모두 즐길 수 있겠니?나도 사람인지라,슬럼프도 있고, 컨디션이 안 좋을 때도 있고,잘 안 풀려서 좌절할 때도 빈번하다.그럴 때다만,괜찮아. 즐기면서 하면 되지즐거운 일을 하고 있는 거니까 참자라고자기 최면을 걸까?만약 엄청 더운 적도 근처의 무인도에 표류하게 되었는데...견딜만하다고 자기암시를 건다 하여도잠시 잠깐은 그렇게 느낄 수도 있지만다음 날, 다다음날까지 쭈욱~ 더위에 놓여있다는 점은 변하지 않는다.더위를 즐기면 된다고?즐긴다고 더위가 사라지는 것은 아니라니까.스타트업은 즐겁다라던가,즐기면서 일을 하고 있다라던가...그런 생각으로 넌 얼마 못 갈 거야.엔도르핀과 아드레날린의 이야기를 알아?기분이 좋아져서 맛보는 희열과고통의 극한에서 맛보는 희열!마라톤 선수가 극심한 고통을 견디면서 한계에 다다랐을 때,그 사점(한계점)을 지나면서 다시금 페이스를 유지하게 되고장시간의 레이스를 견딜 수 있게 하는 힘!아무리 숙달된 마라토너일지라도고통의 순간은 늘 겪는다.그때마다 그 고통이 항상 즐거울까?고통은 고통이다. 아프다. 힘들다.마라톤이 즐거우니까 견딘다고?결승점을 생각하면 즐겁겠지만,뛰고 있는 시점에서는 괴로워.여기서 내가 말하고자 하는 핵심을 말하지.절실하니까 견디는 거다.고통이 오고, 포기하고 싶어도 오래 인내하고 끌고 갈 수 있는 힘은즐거움이 아니라 절실함이라고 생각해.절실함은 불면증을 가져오기도 한다.샤워할 때, 탈모 증세도 오기도 하고,고민이 많아져서 건망증이 생기기도 하지.나와 같은 창업자들끼리 만나면,절실함은 뱃살과 비례한다는 농담을 주고받는다.절실함은 급격한 노화와 비례한다.즐거움 때문에 하기 싫은 일, 좋아하지도 않는 일을 하는 게 아니라절실함 때문에 할 수 있고, 좋아져야 하는 일이라고 인식하는 것이다.즐거움은 누구를 만나거나 미팅이 있을 때, 서로 하하호호 인사하고, 중요한 일은 다음번으로 미루는 여유를 주겠지만절실함은 자존심도, 체면도 내세우지 않는다.오늘 마지막으로 보는 듯 공격적이고, 크로스 체킹 하면서 최대한 안전하려는 신중함이다.오늘 안되더라도 다음에는 꼭 도장 찍게 만들겠다는 절박함을 준다.더운 무인도에서 더위를 즐기는 게 아니라더위를 피하기 위해 무언가 그늘이 될 것을 찾거나 만들어야 한다.내일, 모레 그리고 그 이후의 더위도 피하기 위해갈증을 풀어줄 물을 확보해야 하고,음식도 신선하게 보존할 방법도 찾아놓아야 한다.정신 차리라고!우리 놀러 온 거 아니야.스타트업이란 게즐기기만 하는 여행과 같다는 헛소리 그만하라고.스타트업이라는 것은무엇이 튀어나올지 모르는 정글을 탐험하는 것과 같다고.여행자가 아니라 모험가라구!그렇다고 즐거움을 배척하는 이야기는 아니야.우리가 하는 일에서 즐거움이란 것은힘 빠질 때마다 한 방씩  맞는 수액과도 같아.때로는 즐거움이라는 가치가 희망이라서미래를 생각할 수 있게 한다.즐거운 일 할 것을 상상하면서즐겁지 않은 일을 해내야 할 필요가 있거든.즐겁지도 않은 일을 단지 절실함 때문에 한다는 것도 문제거든.절실함만 가지고 스타트업을 한다는 것은마치 카드값 메꾸기 위해서절실하게 회사 다니는 것과 무엇이 달라?하루하루 먹고살기 위해서 일을 찾아다니는 것과 무엇이 달라?즐거움은 좋은 성과가 있을 때 배가되는 기폭제이고,팀원들의 사기를 올려준다.반면에,절실함은 실패하고, 기대 이하의 성과가 있을 때,버틸 수 있는 힘을 주고, 더 많은 기회를 만들기 위한동기가 되어주지.회사의 사업 성공 대전제는...수익은 극대화하고, 비용은 최소화한다.긍정적인 요인은 증가시키고, 부정적인 요인은 감소시킨다.라고 배웠다.즐거움은 생산성/업무동기를 증대시키는 방법을 알려주고,절실함은 손실/리스크를 줄여주는 방법을 알려준다.즐거움은 팀원들의 사기를 올려주고, 꿈을 꾸게 하며절실함은 팀원들을 적극적으로 움직이게 하고, 현실로 구현한다.즐거움은 기한을 정하지 않고 지속되도록 해야 하지만,절실함은 기한을 정하고, 빠르게 회전되도록 해야 한다.스타트업이 움직이는 원동력은 세 가지라고 생각한다.즐거움, 절실함 그리고 성실함사실 이글에서 성실함을 언급하지 않는 이유는창업자에게 너무나 기본적인 성질이기 때문이다.성실하지 않다면, 창업뿐만 아니라 모든 일에서 도전할 자격이 없다.성실함이 없다면,어떻게 실행할 수 있단 말인가?즐거움이 없다면,무엇을 꿈꿀 수 있단 말인가?절실함이 없다면,어떻게 이겨낼 수 있단 말인가?즐거움이 부팅하는 힘이라면,성실함은 유지하는 힘이고,절실함은 극복하는 힘이다.굳이 이 글에서 절실함을 강조하는 이유는스타트업에 대한 이야기들 중에서성실함은 기본이요,즐거움을 내세우는 스타트업은 많이 보았지만,절실함에 대해서는 상대적으로 언급이 적기에나라도 오지랖을 부리고 싶었다.직접 경험하면서,그리고 관찰하면서 창업의 시기별 원동력 비중이달라진다는 점을 깨달았다.창업 초기에는 아무래도 즐거움을 많이 이야기한다.내가 직장 다닐 때는 얻을 수 없었던 즐거움을창업해서 찾았다는 이야기라던가,공모전이나 정부 지원 사업에 선정되었거나,특허출원하거나, 아이디어를 인정받았다고 기뻐하면서즐거움을 이야기하기도 한다.우리의 핑크빛 미래를 꿈꾸며, 하루하루가 즐겁다.아이디어를 고객에게 설명하되,확실한 구매의사는 언감생심이지만 적어도 좋네요, 좋을 것 같아요라는 반응에 힘을 얻기도 한다.뜻이 맞는 동료들을 얻어서 읏샤읏샤 하는 단계에서즐거움이 가장 큰 가치가 되는 시기이기도 하다.아이디어 구체화, 사업계획서 작성, 팀빌딩 등의막 창업했을 때 해당하는 때랄까?그러다가 제품을 만드는 과정, 아이템을 소개하는 과정,매일 늘어나는 서류 작업과 시행착오들이 반복되면서성실함이라는 힘에 부치게 된다.잦은 실패를 성공으로 바꾸기 위해서라도남들보다 더 집중해야 하고,남들보다 더 노력해야 하고,남들보다 더 오래 일하려고 한다.머리로는 쉬는 시간, 몸 건강도 관리해야 한다는 것을 알지만그보다 일하는 시간을 더 늘리거나, 아이템에 쏟아붓는 시간이더 익숙해지는 시기이다.대략적으로 시제품 제작, 피봇팅, 마일스톤 수행 등의창업 초기에 보여 줄 결과물은 없고, 진행만 계속되는 시기 정도?그래서 각종 IR자료와 피칭도 다니고,서류나 이미지 등을 들고 고객과 바이어를 만나고 다닌다.많이 힘겹다. 지치기도 하고... 서서히 불안감이 엄습해온다.되는 일보다 안 되는 이유가 더 많다.동료들이 지쳐가는 것이 보인다.비용을 아껴가면 얼마간은 더 버틸 수 있을듯하지만,그 끝을 확신할 수 없어 망설여진다.노력만으로는 해결할 수 없다고 느껴지고,더뎌질수록 자신감이 떨어지고 압박감이 고조된다.그러다가 명확한 구매 타깃 고객을 만나게 되거나 계약 가능한 바이어를 만나게 되거나그간 밀당하던 잠재적 투자자를 만나게 되거나완제품으로 아이템이 출시되는 시점이 되면서성실함에서 절실함의 비중이 커지는 시기가 찾아온다.딱 이때에 절실함이 창업자들 모두에게 다가온다.가장 비용이 많이 들어가는 시기고,가장 준비가 되어있어야 할 시기이다.그런데 절실함은 있는데... 어떻게 해야 할지 모르겠다.막막하고, 방향을 잃은 듯하다.그러면서 시간은 흐르고,타이밍을 놓치면서 회사가 기울기 시작한다.영업력이 없다, 자금 유치 능력이 없다 란 말을 듣기 딱 좋을 때다.그러다 대책, 대안이 없어서 사라진다.그렇게 많이들 사라진다.소리 소문 없이 기억에서 잊힌다.(출처: 기업성장곡선, 정보통신국제협력진흥원)그 시기가 창업한 지 3년 미만에 대다수의 스타트업이 사업실패를 경험하게 되는 통계치이다.시기별로 원동력의 비중은 달라진다.그렇게 막연하게 단계별로 쫓아가라는 이야기가 아니다.우리는 창업을 할 때부터미리 고려해두어야 한다.시기에 따라비중이 달라진다는 것이지,다른 원동력이 필요 없다는 것이 아니다.준비해두어야 한다.다음에 어떤 단계들이 다가오고 있는지 알기에그때 부족함이 없도록,그때 타이밍을 놓치지 않도록 준비하라는 것이다.그리고 하나 더!!!!!!사실 이건 개인적인 의견이기에 망설여지지만아무리 시기별로 원동력 비중이 달라지더라도나의 경우는절실함만큼은 최고로 친다.(꼭 수치화하자면 40% 정도?)창업(1년 차쯤?)즐거움 40%, 성실함 20%, 절실함 40%창업 초기(2년 차쯤?)즐거움 20%, 성실함 40%, 절실함 40%창업 중기(3년 차쯤?)즐거움 30%, 성실함 30%, 절실함 40%그럼 그 이후는 어떨 것 같냐고?그건 나도 모르지~!다만, 이런 마음가짐으로 일해왔고앞으로도 이러한 마음가짐으로 이어갈 것이라는 점은 확실하다.이런 이야기를 이왕이면 사업적으로 성공했다고 일컬어질 때에 하는 게 더 신뢰성 있고, 더 정확성 있지 않나 하는데...속된 말로,성공스토리는 무얼 써도 다 좋아 보인다.실패 스토리는 무얼 써도 다 부질없어 보인다 라는 말이 있다.사실 우리와 같은 창업자들에게가장 필요한 이야기는 무엇일까?나는 같은 시기에 같은 고민을 하고,해결방안을 모색하는 과정을공유하는 것이 더 신뢰성과 정확성을주는 이야기라고 생각한다.성공스토리로 희망을 얻을 수 있고,실패 스토리로 배워나갈 수 있지만계속적으로 이어지는 과정 스토리는정제되지 않은, 가공되지 않은지금의 이야기이기에더욱 공감되는 이야기이고,더욱 나누어야 할 이야기가 아닐까 하는 마음에더 나은 것도 없고,더 잘난 것도 없는지금의 내 모습, 내 상황에서의이야기를 남긴다.참고로 이 글은 이미 적은지 오래되었는데 이제야 업로드하는군요.중간중간에 긁적인 글은 쌓이는데...신경을 못 쓰는 점!솔직히 글 한동안 안 올렸다고송구하지는 않은데...그 만큼 회사에 이슈들이 많았다고 이해해주세요.#클린그린 #스타트업 #스타트업창업 #창업가 #창업자 #마인드셋 #조언
조회수 3896

[제일극장] 제일기획 직무소개 디지털캠페인플래너 편_김진희 프로

 통화 대신 실시간 메신저를 주고받고, 시간 맞춰 보던 TV 드라마는 인터넷으로 하이라이트 영상만 다시 보는 시대. 디지털이 우리 삶의 중심이 되었다라고 해도 과언이 아닌데요. 라이프스타일 변화에 발 빠른 대응이 필요한 마케팅 분야에서도 다양한 디지털 마케팅 활동을 펼치고 있답니다.제일기획 논픽션 직무 시리즈 ‘제일극장’! 이번 시간에는 디지털 플랫폼을 중심으로 한 마케팅 활동을 하는 ‘디지털캠페인플래너’ 직무를 자세히 알아보기 위해 김진희 프로를 만나봤습니다. ‘디지털캠페인플래너’란 직무는 아직 좀 생소한데, 간단히 소개 부탁드려요.디지털캠페인플래너란 디지털 플랫폼을 기반으로 한 모든 업무를 담당합니다. 캠페인을 기획하고 콘텐츠를 만드는 것부터 매체에 집행하고, 소비자 반응에 대한 모니터링 및 광고 효과를 측정한 결과치로 전반적인 캠페인 운영 방향을 조정하기도 하지요. 좀 광범위하죠? 저희들끼린 ‘디’자 들어가는 건 다~~한다고 말하기도 해요.ㅎㅎ 현재는 GM 쉐보레 브랜드를 전담하면서 브랜드 사이트 및 페이스북, 유튜브 등의 SNS채널을 담당하고 있고, 이런 디지털 플랫폼을 활용해 판매를 촉발시킬 수 있는 캠페인을 진행하고 있어요. 담당하셨던 디지털캠페인 중 기억에 남는 게 있다면요? 사례를 들어주시면 업무에 대한 이해가 좀 더 수월할 것 같아요.사례를 말하면 그게 저희 일의 전부처럼 보일까 봐 걱정이 좀 되는데요.^^;; 삼성전자를 담당할 때 소치 동계올림픽 스폰서로써 진행했던 캠페인인데, 그 당시 우리나라 선수들의 경기가 끝나면 경기 결과로 응원 메시지를 만들어 광고를 내보냈어요. ‘리얼 타임 팩션’ 광고라고 언론에도 많이 보도됐었죠. 예를 들면, 선수가 1등을 하면 1등 축하 메시지를 담은 광고를 경기 끝남과 동시에 매체에 태우는 거죠. 올림픽 경기 관전을 모바일, PC로도 하니까 포털에서의 온라인 경기 생중계나, 동영상 다시보기 등 다양한 디지털 채널에도 동일하게 같은 형태로 동시 집행을 했고, 응원 사이트를 만들어서 전국민의 응원메시지를 전달하기도 했죠.또, 쉐보레에서 신형 스파크가 출시됐을 때 다양한 드라이빙 기능을 체험할 수 있는 주행 영상을 만들었습니다. 직접 타보지 않고도 차의 편리한 기능을 간접 경험하게 한 것이죠. 15초 TV광고로는 다 전할 수 없는 제품의 특장점을 디지털 콘텐츠로 효과적인 전달을 했다는 점에서 디지털 캠페인의 기능이 극대화됐던 사례로 기억해요. 디지털 캠페인과 전통 캠페인의 차이가 있다면 무엇일까요?콘텐츠죠. 쉐보레를 예로 들면 TV 광고에서는 “신차가 출시됐어요” 라는 메시지와 근사한 경험을 하는 영상으로 이미지를 소구하게 되는데, 디지털은 좀더 구체적으로 소비자들이 알고 싶어하는 정보를 제공해야 하죠. 앞서 든 사례처럼 차를 간접체험 할 수 있도록 한다거나 스펙 정보를 주는 것 등 말이죠. 자동차 마니아들 사이에선 차종 간 스펙 비교가 일반적이거든요.또 가장 큰 차이는 정확한 숫자로 얘기할 수 있다는 점이에요. 몇 명이 클릭을 하고, 사이트에 접속했는지 등을 수치로 파악해 성과를 확인할 수 있는데요. 목표한 성과가 잘 나오지 않으면 그 원인을 데이터에서 찾아내고 콘텐츠를 디벨롭하거나 UI를 바꿔보는 등 지속적으로 유지/관리를 합니다. 캠페인이 집행되는 순간부터 시작인 셈이죠. 디지털 트렌드에 대한 공부도 중요할 것 같아요. 트렌드는 어떻게 파악하시나요?팀장이다 보니 다른 직원들보다 출근 시간이 좀 더 빨라서, 그 시간을 활용해요. 트렌드 리포트나 미디어 리포트, 관련 기사들을 읽으며 제 것으로 만들려고 하죠. 하지만 그런 전문적인 자료들은 거시적인 흐름을 읽기 위한 것이고요, 실질적으로 가장 도움이 되는 건 젊은 친구들이랑 이야기 나누는 거예요. 그들이 생각하고, 말하고, 소비하고, 사용하는 모든 것들이 곧 트렌드가 되니까요. 아이디어를 내거나 발전시키는 데 많은 도움이 된답니다. 아이디어는 어떻게 내는지, 프로님만의 리프레쉬 방법은?아이디어를 어떤 방향으로 내야 할지에 대해 고민을 많이 하고, 레퍼런스를 많이 찾아보는 편이에요. 다양한 자료를 보면서 키워드를 뽑고, 메시지의 가닥을 잡죠. 회의하면서 아이디어가 막히면 강행하기 보다는 잠시 쉬었다 갑니다. 팀원들 각자 자기만의 방법으로 리프레쉬를 할텐데 그 와중에도 다들 책임감이 있는 지라 아이디어를 고민하는 것 같아요. 다른 일을 하더라도 안테나는 계속 세우고 있는 거죠.제 경우엔 회사 근처에서 하는 전시회도 보러 가고, 집에서 TV나 책을 보면서 최대한 아날로그 모드가 되요. 쉬는 시간만큼은 디지털과 멀어지는 것도 한 방법이라고 할까요?^^ 특히 만화책이나 동화책 보는 걸 좋아하는데요. 동화책은 짧은 스토리 안에 담긴 기승전결이나 크리에이티브가 어마어마해서 즐겨 봐요. 마지막으로, 앞으로 꿈꾸는 목표가 있다면 말씀해주세요.  나이가 들면 트렌드를 따라잡지 못할 거라는 고정관념이 있는데, 나이가 들어서도 디지털 전문가로 계속 남아있고 싶어요. 디지털이 변두리에서 보조/지원하는 역할을 하다가 중심으로 들어선 게 불과 몇 년 되지 않은 만큼, 제가 가진 경험이나 노하우를 통해서 후배들이 이 분야에서 비전을 키워나갈 수 있도록 좋은 기반이 되는 선배가 되고 싶어요. 아, 하나 더 꿈꾸는 게 있다면 나중에 꼭 하와이 가서 살고 싶어요. ^^인터뷰에 앞서 제일기획 페친들이 보내준 ‘디지털캠페인플래너’에 대한 질문이 있었죠. 그 답변도 함께 살펴볼까요? #삼성 #삼성그룹 #제일기획 #김진희프로 #디지털전문가 #디지털캠페인 #디지털캠페인플래너 #리프레쉬 #마케팅 #아이디어 #직무 #직무소개 #직무정보 #기업문화 #조직문화 #구성원인터뷰
조회수 1608

안정적인 직장을 떠나고 싶은 이들에게

“문송합니다”를 외치는 시대에 특출하지 않은 스펙에도 불구하고 급여와 안정성 모두 괜찮은 직장들을 다녔었다. 진심으로 행운에 감사했지만 몇 년을 다녀도 나보다는 가족에게 좋은 직장이라는 생각을 지울 수 없었다. 많은 고민 끝에 몇 달 쉬고 싶은 마음도 있어 정해진 곳 없이 퇴사했다.그러나 예상을 뛰어넘는 이효진 대표님의 반응 속도 덕분에 2주밖에 못 쉬었다. 그리고 2주 만에 나의 일상은 완전히 달라졌다. 그로부터 사계절이 지난 기념으로 업종은 같지만 일하는 방식과 문화가 판이하게 다른 직장을 다녀본 느낌을 남기고자 한다. 어떻게 하면 이 극심한 변화를 압축적으로 전달할 수 있을까 고민했다. 에잇퍼센트와 어울리는 특성과 어울리지 않는 특성을 비교하면 전달할 수 있지 않을까?[어울린다]1. 자기주도적이다.전 직장에서는 본사에서 A부서는 올해 목표가 매출 10억이라고 내리면 A부서의 책임자가 10억을 부서 인원과 각 팀원의 경력을 고려해 1인당 얼마를 할지 정한다. 그러나 에잇퍼센트는 무엇이 고객과 회사를 발전시킬지, 어떻게 개선할지 스스로 혹은 동료와 찾는다. 예를 들어 CS담당자가 고객에게 같은 문의를 계속 받으면 "동일 문의 수를 줄인다"를 목표로 세운 후, 홈페이지 화면을 어떻게 바꿀지 다른 동료에게 아이디어를 제안하며 의논한다.2. 수평적 문화에 어울린다.입사해서 며칠 동안 아무개님으로 부르기가 어색했다. 나랑 동갑이거나 어리면 그나마 괜찮은데 연장자에게 과장님 같은 직급 없이 부르기까지 며칠이 걸렸다. 입사 첫 주에 가장 놀랐던 장면은 S님이 대표님의 의견을 반박하고 적극적으로 의견을 개진하는 모습이었다. 전 직장은 수직적 체계에서 일을 빠르게 배우기 좋은 대신(물론 상사를 잘 만나야 하지만) 상사의 지시를 그대로 따라 실수 없이 업무를 수행하기가 중요했다.3. 빠르게 반응한다.전 직장은 결재받기 전까지 시간이 걸릴 수밖에 없었다. 무슨 일을 하든지 결재부터 떠올렸다. 그러나 에잇퍼센트에서는 느리면 살아남을 수 없다. 기본 룰에 위배되지 않는 선에서 가장 효율적으로 대응해야 한다. 예를 들어 대출 신청 과정을 변경할 때 일일이 결재를 받지 않는 대신 피드백을 받는다.[어울리지 않는다]1. 간판이 중요하다.아직 P2P금융이 생소한 만큼, “직업이 뭐냐” “어디 다니냐” 같은 질문에 일일이 설명해야 하고 설명해도 잘 모른다. 이전 직장과 다른 대우를 받으면 자존심이 상할 것 같다는 분들은 계속 다니기 어려울 수 있다.2. 순탄한 경로를 따라야 한다.몇 살쯤 결혼을 해야 하고, 몇 살쯤 과장을 달아야 하고, 어느 동네에 살아야 하고 등등 한국에는 아직 암묵적으로 정해진 인생의 경로가 있다. 에잇퍼센트에는 다양한 가치관을 지닌 동료들이 많기 때문에 서로 존중할 수 있어야 한다. 보통 전형적인 직장에서 주로 받는 질문이 이성 친구 있냐, 있으면 언제 결혼하냐, 결혼하면 언제 애 가지냐, 부모님은 뭐 하시냐, 어디 사냐 등등이었는데 여기는 좋아하는 것과 취미를 물어봐서 특이했다.3. 새로운 배움이 불편하다.시장을 개척하고 효율성을 더 높이기 위해 처음 듣는 분야를 찾아보아야 한다. 업무 툴도 이전 회사와 완전히 다르다. 부끄럽지만 여기 와서 슬랙이라는 것을 처음 알았고 구글과 페이스북에 이렇게 많은 기능이 있는 줄 몰랐다. 규모가 큰 기업은 비교적 길고 체계적인 연수를 거치지만 에잇퍼센트에서는 스스로 학습하는 능력이 더 요구된다.에잇퍼센트와 어울리는 특성이 꼭 좋고, 어울리지 않는 특성이 나쁘다고 생각하지 않는다. 각자 맞는 곳이 다르고 삶의 방식이 다를 뿐이다. 그러나 위 특성들의 비교에서 눈치챌 수 있듯이, 그저 답답하다고 여겼던 직장이 예상보다 큰 둥지일 수 있다. 둥지를 벗어나면 방황하는 새처럼 하늘을 헤맬 수 있으니 꼭 내가 어떤 사람인지 파악하는 단계가 필요하다.난 걱정했던 것보다 에잇퍼센트가 잘 맞았고 치열한 하루하루를 보내고 있다. 그렇지만 다소 자유롭더라도 엄연히 성과를 내야 하는 직장이므로 24시간 마냥 즐거울 수 없다. 혹시 영화 라라랜드를 보았는가? 봤다면 나의 마음을 조금 이해할 수 있을지 모르겠다. 주인공 미아가 배우라는 꿈을 이루어가는 과정을 보여주는데 배우가 될 수 있을까 한탄하는 장면을 보며 어쩌면 내 모습이 아닐까 고민한 순간도 있다. 그냥 전 직장에서 평범하게 살면 안정적인 삶을 꾸릴 수 있었겠지? 능력 밖의 무대에 너무 겁 없이 뛰어들었나?(출처 http://www.imgrum.net/media/1421724351137194001_453365189)그러나 월요병이 없는 회사(무슨 뜻인지 궁금하면? 를 읽어보자)로 돌아오면 최고의 동료들과 부대끼며 좀 더 나답게 살 수 있어서 좋다. 아마 전 직장과 가장 큰 차이는 눈치 보지 않고 타인이 규정하는 틀에 나를 억지로 맞출 필요가 없다는 것. 라라랜드에서 미아는 숱한 도전과 좌절을 겪으며 결국 '자신'답게 살아갈 길을 찾는다.(출처 http://www.imgrum.net/media/1421751215184531095_453365189)지금 걷고 있는 길의 끝을 알 수 없지만 에잇퍼센트는 내가 누구인지 알 수 있도록, 내가 나로 발견될 수 있도록 도와준 곳이다. 어떻게 발견했는지 궁금하면 도전해보자. 좋은 동료들과 함께 할 분들을 여기에서 기다리고 있다.#8퍼센트 #에잇퍼센트 #조직문화 #팀문화 #기업문화 #인사이트 #팀워크 #팀플레이 #수평적 #자기주도
조회수 1739

4)우리를 애자일 하지 못하게 만드는 건 무엇일까?

글목록1) 우리는 왜 애자일 하지 못할까2) 우리는 애자일 하게 일하고 있을까?3) 나는 애자일 하게 일하고 있을까?4) 우리를 애자일 하지 못하게 만드는건 무엇일까? (현재 글)아무리 좋은 개발 문화를 기반으로 빠르게 프로덕트를 만드려 해도 수많은  위험요소들이 생깁니다. 그리고 이런 위험요소들은 우리의 성장을 막곤 하지요.제가 일하고 있는 팀은1. 유저에게 필요한 프로덕트를 만들자(User Centric Design, Lean UX). 2. 가장 가치 있는 기능을 빠르게 만들고 확인하자(Agile, Lean Startup, XP).  3. 우리가 “왜 만들었는지”를 스스로 설명할 수 있는 프로덕트를 만들자.라는 목표를 가지고 프로덕트를 만들고 있고 엄청나게 다양한 허들(장애요소)을 만나며 성장하고 있습니다. 그래서 오늘은 우리를 애자일 하게 만들지 못하는 건 어떤 것들이 있는지, 어떻게 해결해 나가고 있는지를 간단히 설명드리려 합니다.프로덕트의  기능과 일정, 그리고 품질장애요소서비스를 만들어 가는 과정은 마라톤이라고 했지만, 프로덕트를 만드는 모든 팀원들이(개발자, 디자이너 피엠도 있지만, 비즈니스와 마케팅을 관리하는 팀원들 역시) 생각하는 프로덕트에 대한 일정과 품질, 그리고 성능에 대해 같은 생각을 할 수 없습니다. 그래서 애자일 방법론에서는 “MVP를  만들고, 유저가 필요한 기능부터 하나씩 추가하면 돼요!”“처음부터 스포츠카를 만드려 하지 마세요! 스케이트 보드를 만들고, 자전거를 만들고 그다음  필요한 것들을 개선하다 보면 멋진 스포츠카가 완성될 겁니다.”라는 이야기를 하지만, “MVP의 기준이 뭔데? 우리 프로덕트의 스케이트보드 버전은 뭔데? 개발팀에게 시간은 많이 준거 같은데 내 스포츠카는 어딨지?”등으로 프로덕트에 대한 이해가 없다면 프로덕트에 대한 시각은 달라지고, 만드는 팀과 팔아야 하는 팀의 제품에 대한 기준을 맞추기 위해 결국 단거리 선수처럼 몰아치는 일정이 생기는 건 막을 수가 없게 됩니다.해결방안왜 이런 일이 생기는 걸까? 를 생각하면,  "우리가 만드는 프로덕트는 어떻게 커가고 있는지"를 모르는 게 가장 첫 문제(Risk)라고 생각합니다. 물론, 모든 것들을 생각하는 시간에 딱딱 맞춰 생산해 나가는 건 많은 위험요소들과 개발 중 찾아내는 미지의 영역들(Unknowns) 때문에 거의 불가능합니다. 그래서 저희는 프로덕트 릴리즈의 기준과 목표를 데모데이와 문서화를 통해 공유하고 중/단기적인 로드맵 공유로 최대한 많은 정보를 효율적으로 전달하려 노력합니다.(나중에 시간이 될 때 하나하나 자세히 설명할게요.)수행하는 일들1. 데모데이한 개발 주기 동안 프로덕트가 얼마나 성장했는지, 다음 개발 주기 동안 프로덕트는 얼마나 성장할 것인지 공유하고, 사업 쪽에서도 지속적인 사업방향에 대한 공유를 통해 프로덕트 팀에게 요청할 업무들이 어떤 이유에서 나왔는지 이해할 수 있게 해 주는 행사 진행2. 프로덕트 로드맵기간에 나와야 할 "산출물 리스트"가 아닌 기간 안에 이루고자 하는 목표와 목표를 이루기 위해 진행해야 하는 업무를 바탕으로 하는 로드맵 산정과 공유3. Task management tool의 적절한 사용프로덕트팀이 어떤 일을 하는지에 대해 비개발자들도 스토리를 통해 파악할 수 있도록 Jira 등의 툴을 사용하고, User story 기반으로 업무 리스트를 만들고, gerkin과 최대한 자세한 설명으로 업무를 공유방법론과 라이브 프로덕트의 간극에서 생기는 문제장애요소우리만의 개발 문화를 만들기 위해선 기초적인 방법론을 적용하기 위해 Pivotal Labs에서 연수받은 Agile, Lean UX, UCD, 그리고 XP를 기반으로 우리만의 개발 문화를 만들어 가는 도중, 개발론에서는 정말로 맞는 방법이지만, 라이브 프로덕트를 개발해 나가면서 생기는 어쩔 수 없는 이슈들을 만났습니다. 가장 많이 당면한 문제들은“빠르게 진행하자”라고 했던 많은 것들이 결국은 기술 부채로 다가왔고나중에 꼭 해야 하지만 방법론 때문에 작업하기 애매한 업무가 생기고효율적으로 일하고 싶으나 절대적인 리소스와 시간은 지속적으로 부족하고 서로 간의 개발 이해도와 적용방법에 차이가 생겨 소통에서 오류가 생기는등의 에러사항들이 있고, 지금도 계속해서 생겨나는 중입니다.해결방안가장 먼저 저희가 깨달은 건 “우리가 방법론에 노예가 되지 말고, 우리가 일을 더 잘할 수 있는 법을 개척하자.” 였어요. 그래서 기초적인 방법론을 기반으로 우리만의 개발 방식을 만들어 가고 있습니다.수행한 일들1. Technical Parking lot 사용프로덕트 개발 중 기술적인 부분에서 “이건 어떻게 처리해야 하지?” 등의 물음표가 생기는 부분이나 “반드시 해야 해”라고 생각하나, 진행 중인 User Story에선 포함되지 않는 내용.  들을 모아 Technical Parking Lot을 만들어, 매주 어떤 이슈가 나왔고,  1. 언제 작업하는 게 가장 적합할지  2. 어떻게 처리해야 할지에 대해 논의하는 시간을 가집니다.2. IPM을 통해 페어를 할 업무와 혼자서 할 업무를 선정하고 진행저희 팀은 기본적으로 모든 개발 리소스가 Pair로 업무 하는 것을 지향합니다. 그러나 인원 운용이나 시간적 여유 때문에 항상 페어로 업무를 하진 않고,  1. 서비스의 기능 상 코어적인 기능들의 초반은 반드시 페어로 진행한다.  2. 기본적인 리서치를 통해 공유하는 Chore들이나 일반적인 서비스에서 이미 다들 해본 개발은 솔로로 진행한다.라는 기조를 가지고 Iteration을 시작하는 기점인 IPM(Iteration Preparing Meeting)에서 Task를  “페어”또는 “솔로”로 결정합니다. (디자인과 PM은 때때로 페어를 합니다.)3. 지속적으로 성장하는 개발 문화 정착일을 하다 보면 모르는 부분은 당연히 생깁니다. 그래서 모르는걸 빠르게 질문할 수 있는 문화를 만들기 위해 Stand up meeting과 위에 말씀드린 Technical Parking lot을 진행하고, 도메인 놀리지나 기술적 또는 비즈니스 적으로 도움이 필요할 땐 서로서로가 빠르게 확인할 수 있도록 White Boarding 등을 통해 개선하고 있습니다.새로운 방법론을 만들고 적용하는 것에 대한 문제. 장애요소업무 시작 시“애자일이 좋은 건 알겠는데 한국사회에선 어울리지 않아요.”“이미 적응해서 하고 있는데 이제 와서 뭘 또 어떻게 바꾼다는 건지 이해가 안돼요.”“그냥 시킬 일 정확하게 잘라서 주세요 그냥 하면 되니까.”(아마 소름 돋은 분들 많을 걸로 예상....) 등의 새로운 방법에 대한 일방적인 거부감이나 오랫동안 가져온 관습의 변화에 대한 반대 의식이 가장 큰 장애요소 중 하나였습니다.물론, 애자일 방법론, 빠른 의사결정과 수렴 그리고 빠른 개발과 빠른 확인이 진리는 아닙니다. 기존의 워터폴 방식으로 프로덕트를 잘 성장시킨 회사들도 너무나 많고 아직도 워터폴 방식으로 좋은 프로덕트를 만드는 회사도 많이 있습니다. 명확한 사업 기획서와 화면 기획서, 명확한 디자인 가이드라인, 정리된 개발 문서가 있다면 물론 워터폴은 매력적인 방법이에요. 하지만 제가 있는 팀은1. 변동성 높은 시장에 따라 빠르게 개발하고 빠르게 확인해야 하는 것들이 많은 점2. 현재 가지고 있는 리소스(물적, 인적 리소스)를 문서화나 가이드에 쓸 수 없다는 점3. 팀에 조인한 모두가 하나의 프로덕트를 다 같이 만들어 가고 싶다는 의지가 있다는 점을 기반으로 빠르게 가치를 만들어 낼 수 있는 팀으로 프로덕트 팀의 문화를 세우기를 결정했습니다. 그리고 이하와 같은 상황을 당면했죠.작은 팀으로 서로가 많은 공유를 했더라도 놓치는 부분이나 의견이 맞지 않는 상황들은 피할 수 없다기조는 있지만 디테일한 부분에서 개발 문화에 대해 결정하고 나아가야 하는 이슈들이 지속적으로 생긴다너무 방법론에 치우치거나 너무 의미 없이 일하거나 중간이 없는 상황들이 생기는 등에 대한 문제사항 황들이 발생했습니다.해결방안방법론은 의사결정권자나 스크럼 마스터가 결정하고 통보하는 게 아닙니다. 프로덕트를 만드는 인원들이 방법에 대해 공유를 통해 이해하고 인정함으로써 가치가 생기고 많은 시행착오를 거치며 진정한 의미가 생깁니다.그리고 결국 중요한 건 애자일이 중요한 게 아니라 우리가 일을 잘하는 게 중요합니다. 일을 잘하기 위해 월급과 복지 말고도 팀과 자신의 성장에 대한 동기부여가 필요하다면 그렇게 일할 수 있게 우리가 만들면 되는 거죠.그리고 이런 팀 안에서의 의지로 만들어진 우리가 개발하는 방법은 우리가 일을 잘하기 위해 만든 방법 이기 때문에 서로서로가 지키려는 의지를 가지게 돼서 더 잘 적용할 수 있는 거 같아요 그래서 저희는 일을 하면서1. 개발단 또는 사업단에서도 지속적으로 확인하고 체크하는 습관을 가지고2. 문제를 느낄 때마다 그리고 변화가 필요하다고 느낄 때마다 회고나 포스트모템을 통해 개선 리스트들을 바로바로 만들어 내고 개선하며3. 사소한 정책이더라도 모두가 지킬 때 진짜로 의미가 있다는 것을 주기적으로 상기해 습관을 만들 수 있도록팀을 가꿔가고 있습니다. 우리가 하고 있는 일도 결국 많은 사람들과 협업을 통해 서비스를 만들어 내 가는 과정이므로 업무에 대한 지속적인 공유와 소통이라는 이 마르고 닳도록 나오는 이 마법의 문장이 정말 중요합니다. 그리고 소통에서 무엇보다 가장 중요한 건 화자가 아니라 청자라는 것을 잊지 말고 청자를 위한 소통을 해야 합니다.함께 일하는 동료들에게 항상 Actionable (바로 행동을 취할 수 있고), Specific (명확하며), Kind (친절하게)를 기준으로 일해주세요 그게 우리가 일을 잘할 수 있는 시작이지 않을까 싶습니다.오늘도 긴 글 읽어주셔서 감사합니다.앞으로도 종종 저희 팀이 일하는 모습들을 실제 사례를 들어 하나하나 설명드리고 알려드릴게요!감사합니다.#코인원 #블록체인 #기술기업 #암호화폐 #스타트업인사이트
조회수 1173

해커 준비: 좋은 코드 만들기

출처 : 구글 이미지 검색Just Hacks지난 몇 주간 저는 I/O의 devops문화 기반을 다지는 작업을 해왔습니다. 여전히 부족한 점이 많지만 그동안 일어난 변화를 지켜보면 첫 걸음은 비교적 잘 뗀듯 합니다. 지금부터는 이 devops문화가 제대로 자리잡는 일이 중요한 단계입니다. 다시말해, devops문화가 튼튼하게 뿌리내릴 수 있게 Hacking하는 것이 저의 당분간의 과제입니다.최근 devops를 연구하고 도입하는데 적잖은 시간과 노력을 쏟았기 때문에 실패할 경우 매몰비용이 만만치 않습니다. 꼭 성공시켜야하는만큼 실증적으로 엔진을 검증하기로했습니다. 그래서 지난 주부터는 저도 devops문화에 소속된 벡엔드 엔지니어로서의 일을 시작했습니다. 당분간 직접 코드를 만들어내야겠지요.설계에 그치지 않고 스프린트를 직접 참여해야만 현재 devops문화가 지닌 문제점이 무엇인지 제대로 볼수 있고 훌륭한 기술조직으로 거듭날 수 있다고 저는 믿습니다. 다시 개발자의 자세로 돌아가기 위해 가장먼저 좋은 코드를 작성하는 공부를 시작하였습니다.좋은 코드 만들기컴퓨터가 인식 가능한 코드는 바보라도 작성할 수 있지만, 인간이 이해할 수 있는 코드는 실력 있는 프로그래머만 작성할 수 있다. -마틴 파울러-SW엔지니어가 되기로한 이상, 제겐 감동까지는 아니지만 코드리뷰를 하는 짝꿍이 쉽게 이해할 수 있는 좋은 코드를 짜야할 의무는 있습니다. 그래서 지금까지 감명 깊게 읽은 고전 책들을 복습하기 시작했습니다. 그 첫 번째 책이 켄트백의 구현패턴입니다. 이 책은 설계나 디자인 패턴과 같은 추상적인 내용보다 키보드로 코드를 짜내는 순간에 고민해야하는 부분에서 교훈을 줍니다. 저는 이 책을 통해 코드를 바라보는 제 관점이 다음과 같이 바뀐듯 합니다.필드(현업)에서 생산된 코드는 코드를 작성하는데 드는 시간보다 읽는 시간이 압도적으로 많기 때문에 이를 감안해 봤을 때 읽기 “좋은 코드”를 짜는 노력이 가장 중요하다.돌이켜보면 학생 시절에는 왜 좋은 코드를 짜야하는지 당연히 모를 수 밖에 없었던 것 같습니다. 프로젝트성격의 코드만 짰기 때문에 종강하고나면 제가짠 코드를 다시는 들여다 볼일이 거의 없었거든요. 만약 대학교가 학생들의 취업경쟁력을 높이기 위해 CS 지식 뿐만아니라 Hacker 소양도 가르치고 싶다면 1학년부터 졸업할 때까지 서서히 발전되는 프로그램 하나를 만드는 4년짜리 과제를 두면 효과적일 것 같습니다.말씀드린 것처럼 필드에서 생성된 코드는 작성 시간보다 유지보수를 위해 읽혀지는 시간이 더 많은 편입니다. 특히 린스타트업을 충실하게 따르는 스타트업이라면 런칭기간이 극단적으로 짧기 때문에 제품(SW) 의 생애주기 중 99%의 시간이 유지보수 단계에 있을 것입니다. 이런 관점에 비춰보면 독자를 고려한 좋은 코드를 짜야한다는 사실은 더욱 중요해집니다.새로운 원칙지금까지 제가 견지하고 있는 좋은 코드를 만드는 원칙은 단순화와 중복제거였습니다. 이번 기회에 이 책을 다시 읽고 제 프로그래밍관에 새로운 원칙을 한 가지 더 추가하였습니다. 일관된 추상화인데요.좋은 코드는 일관된 추상화를 보여줍니다. 아래 예시 코드로 바로 확인하실 수 있습니다.void compute() { input(); flag |= 0x0080; // 나쁜 추상화 output(); }이 간단한 compute라는 함수는 제목처럼 입력(input)을 처리하고 이를 16진수 연산을 거친뒤에 출력(output)과정을 거치면서 마무리 됩니다. 그런데, 함 수 2번째 줄에 드러난 flag변수의 16진수 연산은 조금 쌩뚱 맞습니다. 암호처럼 느껴지네요. comput의 절차를 보여주는 input, output 사이에서 세부 구현사항을 친설하게 알려주려는 작성자의 배려는 되려 독자에게 혼란을 주기만 합니다. 이 혼란스러운 코드를 캡슐화를 통해서 일관된 추상화 수준으로 아래 코드처럼 리팩토링 할 수 있습니다.void compute() { input(); updateFlag(color.Brown); // 좋은 추상화 output(); }16진수 연산대신 의도가 드러나는 함수명과 인자전달을 통해 우리는 input을 처리하고 ouput을 갈색 텍스트로 출력시킨다는 사실을 자연스럽게 받아들일 수 있게 됩니다. 보시는 예제처럼 일관된 추상화는 문제해결 능력, 알고리즘 실력보다 코드를 작성하는 센스에 가깝습니다. 항상 독자를 배려하는 마음을 갖고 상대방에 입장에서 서서 코드를 작성하는 습관을 가져야 겠습니다. 이제 코드를 짜고 리뷰도 받으면서 구린내나는 코드를 신나게 리팩토링 할 일만 남았네요 :-)#스위쳐 #Switcher #DevOPS #데브옵스 #개발 #개발자 #DevOPS도입 #인사이트 #성장
조회수 102

2017 코리아 스쿠터 레이스 챔피언쉽, 바로고 협찬 - 김원주 선수 우승!

안녕하세요.바로고 입니다기분까지 좋아지는화창한 날씨의 어느 날2017 코리아 스쿠터 레이스 챔피언쉽이 개최되었습니다.#스쿠터#오토바이스쿠터, 오토바이이륜차와 뗄레야 뗄 수 없는#바로고김원주 선수바로고에서 협찬하여대회에 참가하였습니다.2017 KSRCKSRC는코리아 스쿠터 레이스 챔피언십 Korea Scooter Reae Championship 을 의미합니다.대한민국 이륜차 생산기업인대림자동차에서1989년부터 주최하는 대회입니다.언제2017년 6월 18일 일요일어디서잠실 스피드 트랙-풍성한 볼거리와 체험까지함께 즐길 수 있는대회의 현장그 열기가 날씨만큼이나뜨거웠습니다!2017 KSRC 1전의 예선은오전 10시부터 12까지 치러집니다.기종별로 20분간의 예선을 치른 후결과에 따라 그러드를 배정받습니다.결승전은 오후 1시부터 다시 시작됩니다.VJF250은 25랩, 그 외에 시티에이스나 VD125는 20랩을 돌아 완주 순으로 순위를 매기게 됩니다.속도감이 그대로 느껴지는박진감 넘치는 레이스김원주 선수를 응원합니다!2017 KSRCVJF 예선전 결과 입니다.김원주 선수는 5위를 기록예선전을 무난히 통과하였습니다.중요한 것은 결승!결승에서의 활약을 기대합니다~예선전을 마치고barogo 로고가 돋보이는스쿠터에서 포즈를 취한김원주 선수멋짐 폭발!결승전은예선전 뒤 당일에 바로 진행됩니다.결승전을 위해안전점검은 다시 한 번!무엇보다 중요한 것은안전이니까요!꼼꼼하게 오토바이의 상태를 점검합니다.김원주 선수의 오토바이 입니다.점검을 마치고안전장비를 모두 착용하였습니다.오토바이의 점검만큼이나장비 착용도 꼼꼼하게 착용합니다.떨리는 마음으로 결승전을 기다립니다.김원주 선수는 오히려 긴장 안 하신 것 같아요.옆에서 응원하는 바로고 직원들이 더 떨려서조마조마한 마음으로 결승전을 기다립니다.출격대기!드디어 결승전을 시작합니다.레이싱 모델들의 에스코트를 받으며선수들이 준비합니다.2017 코리아 스쿠터 레이스 챔피언쉽 대회는접근성이 좋은 장소에서 개최되는 대회인 만큼경기 이외 다양한 이벤트들이 준비되어 있습니다.신차 전시와전시 차량 경매 행사 등이 진행됩니다.그 밖에 ATV 체험장어린이 그림대회 등다채로운 이벤트들이 마련되었습니다.대회의 하이라이트 아이돌의 축하공연도 마련되어있습니다.볼거리 풍성한2017 코리아 스쿠터 레이스 챔피언쉽내년의 대회도 기대됩니다!드디어 결승전이 시작됩니다.환한 미소의 김원주 선수화이팅입니닷!신호가 떨어지자재빨리 출발하는 선수들드디어 결승 경기가 시작되었습니다.레이스의 대결이 치열합니다.비교적 작은 배기량의 오토바이지만선수들의 활약으로박진감 넘치는 레이스 머신을 선보였습니다.선두에 있는 SLR-TAICHI의 7번김원주 선수치열한 순위 다툼을 이겨 내고1위 선두를 지켜냅니다. 김원주 선수1위!우승을 축하합니다!!!VD125, FC125전 1등 VJF250전 4등눈부신 활약의 김원주 선수였습니다.짠!우승을 차지한김원주 선수의 멋진 전신샷!라이더복을 착용한 모습이정말 멋지네요~-바로고의 응원에 힘입어우승을 차지한김원주!우승을 축하드립니다.마지막으로 우승트로피를 들어올린김원주 선수의 환한 미소축하드립니다!-이상으로 2017 코리아 스쿠터 레이스 챔피언쉽김원주 선수의 우승 소식을 전해드리며마무리합니다.이륜차 전문배달 배송바로고"진심을 채워 배송합니다"www.barogo.com
조회수 1005

아띠 #18. 왕이 된 럭키가이, 라이더 권!

Story #18. 인력거만 타면 왕이 되는 럭키가이!라이더 '권'을 소개합니다.자기소개 부탁해2014년 4월 초 TV에서 아띠를 보고 들어온, 약 3년 차 라이더 권입니다! (웃음)  TV를 보고 아띠를 알게 됐어?응. 우연하게 아띠가 TV에서 보고 '저거 재미있겠다! 해야겠다!' 싶어서 바로 이메일을 써서 지원했어. 학교만 다니는 따분한 일상, 남들과 똑같이 살기 싫고 뭔가 재미있는 게 없을까 궁리를 하고 있었는데 새로운 탈출구를 만난 것 같은 생각에 바로 이메일을 썼지. 사람도 많이 만나고, 운동도 하고, 돈도 벌 수 있다는 매력에 내가 확 끌렸던 것 같아. 평일에는 학교를 다니고 주말에는 거의 매주마다 다 나왔던 것 같아. 그만큼 정말 사랑했었습니다.(웃음) 라이딩을 처음 해본 순간 어땠어?엄청 긴장하고 흥분도 됐어. 내가 늘 하는 얘기처럼, '인력거만 타면 왕이 된다'는 느낌을 처음 받았지. 사람들이 쳐다보는 시선도 즐겼고 인력거만 타면 뭐든지 할 수 있을 것 같다는 생각도 들었어. 원래 그런 성격이 아니었는데, 낯선 사람들에게 내가 먼저 말을 걸 수 있을 정도로 자신감도 엄청 생겼었어. 권이 생각하는 라이딩의 가장 큰 매력은 뭐야?스트레스 안 받고 정말 재미있게 돈을 벌 수 있다는 점!(웃음) 그리고 인력거를 끌고 현장으로 나가면 내가 1인 기업이 되는 거잖아. 누구 아래에서 일하는 게 아니니까, 적당한 룰 안에서 내가 뭐든 할 수 있다는 점이 매력적이지. 그리고 일한 만큼 버는 거니까 의욕도 더 생기고 오히려 스트레스를 풀었지. 사람도 만나고 인연도 쌓이는 게 엄청난 매력인 것 같아.기억에 남는 손님과의 에피소드가 있어?어떤 어머님이 한번 타셨었는데 그 다음에는 따님이랑 같이 와서 타시고, 그 다음엔 할머니를 데려오시고, 그 다음엔 친구들도 데려오시면서 몇 번이나 재방문 하셨던 적이 있어. 내 VIP손님이 이셨지. 그 손님 이후에 한 번 방문한 손님들이 재방문할 수 있도록 만들자는 목표가 생겼었어. 조금 더 신경도 쓰고 항상 더 볼거리가 많이 남아있다는 걸 어필했었지. 그리고 또 있어! 어느 날 라이딩을 하는 데 갑자기 비가 오는 거야. 손님이 예약을 취소하실 줄 알았는데, 안 하시고 같이 우산을 사자고 하시더라고. '나는 비 맞을 준비가 됐다!' 라는 식으로.(웃음) 그래서 나도 그냥 비 맞으면서 라이딩을 했는데 되게 즐거웠어. 남자들이 공하나 던져놓고 비올 때 축구하는 것처럼, 비올 때 운동하는 느낌을 받았었어. 부모님이랑 애기 1명 있던 가족 손님이었는데, 진짜 재미있었어. 내가 지금까지 한 40,000명 정도 손님을 태웠어. 지금까지 기록해놓은 일지랑 사진들 보고 나 혼자 추정해본 결과야.(웃음) 그래서 그만큼 추억들이 많은데, 지금 몇 개만 추려서 말하려니 잘 생각이 안나!반대로 힘들었던 손님은 없었어?다들 한 번씩 겪은 것 같은데, 나는 그런 손님은 한 명도 없었어 진짜! 그래서 행운아인 것 같아. 하하그래도 3년이라는 긴 시간 동안 힘들었던 순간도 있었을 텐데!라이딩을 하다보면 체력적으로나 심적으로나 슬럼프가 오는 순간이 있어. 이럴 때는 쉬어야 돼! 아니면 매일 새로운 사람들을 만나니까 새로운 소재로 코스를 이끌어보기도 하고. 그리고 마인드 컨트롤이 가장 중요하지. 어디 가서 이렇게 재미있게 일하면서 돈도 벌겠냐 이렇게 긍정적으로 계속 생각하는 거지.라이더에게 가장 필요한 건 뭐라고 생각해?자신감과 친절함, 개인적으로는 이 두 가지인 것 같아. 성격이 어떻다는 걸 떠나서 인력거라는 좋은 소스가 있기 때문에 자신감만 있으면, 누구든 주인공이 될 수 있거든. 그리고 손님을 만나는 그 순간을 즐길 수 있는 마음. 친절함은 서비스 마인드의 기본인 것 같아. 나 같은 경우는 투어를 할 때 상대방이 어떤 걸 좋아하고 뭘 원하는지를 먼저 생각하고 파악하려고 해. 많이 하다 보면 노하우가 생기는데, 나는 15분 안에 알지. 역사에 관한 이야기를 할 때 지루해하시는 것 같다 싶으면 마음 속으로 '역사이야기는 이제 그만하고 넘어가야겠다! 바로 컷!' 이런 식으로.(웃음)이야기를 나누다 보면 자연스럽게 발견하고 분위기를 파악할 수 있어. 그래서 눈치도 조금 빨라야 되는 것 같아. 초등학생은 역사를 지루해할 것이다라고 많이들 생각하는데, 의외로 역사를 좋아하는 친구들도 있어! 이런 것처럼 빨리 캐치를 잘 해야 서로 행복하게 투어를 할 수 있어.(웃음)권은 스텝으로도 근무했었는데, 라이딩만 할 때랑 가장 큰 차이점은 뭐였어?케빈이나 쭌쭈 처럼 주변의 가까운 사람들에 대해 한번 더 알게 된 기회가 생겼다는 점(웃음) 잘 몰랐던 면들을 알게 되고, 예전에는 몰랐던 그 사람만의 매력을 알게 되었지. 그리고 회사가 어떻게 돌아가는 지 알게 된 것도 있었고, 그 속에서 내가 맡은 일들을 책임지고 하다 보니까 얻게 되는 성과나 성취감도 컸지.L7에서 근무할 때는 매력은?호텔이다 보니까 손님 분들이 팁을 많이 주셔서 좋았어!(웃음) 따뜻한 밥도 나오고!(웃음) 무엇보다 L7 식구들을 만난 게 좋았던 것 같아. 지배인님, 매니저님, 프론트데스크 분들 모두 새로운 분야의 사람들을 만날 수 있는 기회가 많아서 신선한 매력이 있었지. 새로 들어온 라이더들에게 조언을 해준다면?재미있게 즐기되, 책임감을 가지고 나 자신이 '아띠의 주인이다' 라는 자부심을 가지고 했으면 좋겠어. 사람을 대하는 법도 배우고, 좋은 추억도 많이 쌓고. 그리고 라이더 중에 나, 권이라는 훌륭한 사람이 있었다는 것도 알았으면 좋겠어.(웃음) 내가 있기에 너희가 있다! 아임 유어 파더! 으하하그리고 나 같은 경우는 아띠에 관심이 많아서 쉬는 날에도 나와서 혼자 투어를 돌았었어. 설명을 하고 지리를 익히기 위해서. 그만큼 아띠를 좋아하는 마음이 있어야 되는 것 같아. 계속 재미있게 즐기는 마음을 찾았으면 좋겠어. 그리고 너무 역사에 얽매이지 말라는 거. 물론 기본적인 것들은 알아야 할 필요가 있지만. 재미있게 즐기라는 거지.(웃음) 바라는 점이 있다면그냥 나의 희망인데, 앞으로 계속 무슨 일을 하든 인력거는 계속 하고 싶어. 좋은 사람들 만나면서 에너지도 얻고 그랬으면 좋겠어. 주는 건 없이 받고만 싶은 욕심이지만. 좋은 사람, 좋은 공간, 나만의 놀이터가 영원했으면 좋겠다는 희망이야.  마지막으로 남기고 싶은 말그만 두는 건 아니지만, 지금까지 아띠를 통해서 정말 많이 배웠어. 사람도 많이 만났고 그 속에서 돈도 벌고 즐거움도 찾으면서 정말 행복했어. 몸은 떨어져 있지만 어디를 가서라도 자신있게 아띠에서 일했었다고 말할 거고, 아띠인력거를 항상 자랑스러워 할거야. 그래서 인력거를 모르는 사람이 있으면 더 알리고 싶고, 아띠가 영원했으면 좋겠다는 거야! 권의 인력거를 '안 탄 사람은 있어도, 한 번만 탄 사람은 없을 정도'로,재방문 VIP고객 비율이 높은 전설의 레전드같은 라이더 권의 이야기였습니다:)행운 뒤에는 그만큼의 보이지 않은 숨은 노력이 있었겠죠~?라이딩을 사랑하는 권의 앞날에도 행운이 가득하길 바랍니다!#아띠라이더스클럽 #팀원소개 #팀원인터뷰 #팀원자랑 #기업문화 #조직문화 #사내문화
조회수 1138

역할 나누기

대략적인 방향이 설정되고 나자 리더의 역할에는 구체적으로 어떤 것들이 있고 그것들을 어떻게 나눌지에 대한 고민을 시작했다. 역할 중심 문화를 원래의 의도에 맞게 운영하기 위해서는 그냥 나누는 게 아니라 의미 있는 단위로 ‘잘’ 나누는 것이 중요했다. 잘 나눈 역할을 적합한 사람에게 부여하고 이를 구성원들에게 이해시키는 작업도 함께 진행됐다.어떻게 나눌까고민의 단위로 역할 쪼개기"팀장의 역할을 어떻게 쪼갤 수 있을까?"대부분의 회사들은 팀이 커지면 리더의 역할을 나누기보다 팀을 관리 가능한 단위로 쪼갠다. 프로젝트별로 팀을 쪼개거나(프로젝트 A 개발팀, 프로젝트 B 개발팀 등) 기능별로 쪼갠 후(클라이언트개발팀, 서버개발팀, 인프라개발팀 등) 각 팀에 팀장을 둔다. 하지만 이렇게 프로젝트 또는 기능별로 팀을 쪼갤  경우 팀의 단위가 작아질 뿐 팀장에게 권한과 책임이 몰리는 문제를 해결하기는 어렵다. 또한 소단위로 팀을 쪼개버리면 거시적인 노하우 공유가 어렵고 각자가 수행하는 ‘기능’에만 집중할 가능성이 높다. 에이스프로젝트는 역할을 효과적으로 나누기 위해 먼저 기존의 리더들이 본질적으로 어떤 부분들을 고민하며 리딩하고 있었는지 구체화했다. 대략적으로 팀장은 스케줄을 효율적으로 관리하거나 팀원들을 코칭하거나 팀에서 만들어내는 아웃풋의 퀄리티를 향상하는 일을 해왔다. 개별적인 역할을 잘 수행하기 위해 혹은 각 역할들이 가진 가치 충돌을 조율하기 위해 고민한다. 어떻게 하면 야근을 줄이고 적절한 스케줄 관리를 할 수 있을까. 마감기한이 얼마 안 남았으니 퀄리티를 약간 포기해야 할까 혹은 출시가 늦어지더라도 퀄리티업을 해야 할까. 팀원의 퍼포먼스가 저조할 때 강하게 업무지시를 해야 할까 아니면 면담을 통해 감정적인 동기부여를 해야 할까. 이런 고민의 단위로 큰 덩어리의 역할을 나누고 한 사람이 한 가지 역할을 더 본격적으로 수행할 수 있는 구조를 구성하기로 했다. 역할이 정해지면 이에 따라 자신이 권한과 책임을 갖고 해야 하는 구체적인 업무가 무엇인지가 드러난다. 기존에 해오던 업무만 하는 게 아니라 자신의 역할을 잘 수행하기 위한 새로운 업무들을 만들어내거나 시도해볼 수 있다. 팀장이 하던 업무들을 리스트업 해서 단순하게 업무 단위로 역할을 나누지 않은 이유가 여기에 있다. 자신이 맡은 역할의 시선에서 보면 팀이나 프로젝트가  잘 돌아가기 위해 있어야 했지만 그동안 없었던 업무를 찾아낼 수 있다. 마찬가지로 관습적으로 수행되어 왔지만 별 효용은 없는 업무를 삭제하거나 개선할 수 있다. 리더의 전문화는 더 일을 잘 하기 위한 고민에서 시작되었다. 역할 부여하기나눈 역할을 누구에게 줄까에이스프로젝트는 역할 중심 문화가 도입되기 이전에도 한 팀에 한 명의 팀장만 있는 구조가 아니었다.기획팀에도 두 명의 팀장이 있었고 그래픽팀에는 무려 세명의 팀장이 있었다. 신규 입사자들은 팀은 하나인데 팀장은 여러 명 있는 조직구조를 당혹스러워하기도 했다. 본격적으로 조직문화에 대해 고민하기 전부터 팀장 혼자서 팀을 이끄는 것이 실질적으로 불가능하거나 불합리하다는 생각을 하고 있었던 것 같다.이것도 하고 저것도 하는 팀장이 둘이나 셋씩 있는 것보다는 하나의 역할을 담당하는 직책자가 여러 명 있는 것이 팀을 이끌고 역할을 전문화하는 데에 도움이 된다. 규모가 작은 팀의 경우 한 사람이 여러 가지 역할을 겸하기도 하지만 팀장이 여러 명 있었던 팀의 경우에는 각 팀장의 성향과 장단점, 역량을 파악해 적합한 역할을 부여했다. 막상 부여받은 역할을 맡아보니 적성에 맞지 않은 경우 다른 역할을 부여하기도 했고 역할을 맡기보다는 실무에 집중하고 싶어 한 사람에게서는 역할을 회수하기도 했다. ‘팀장’이라는 직책을 줄 때보다 역할의 부여와 회수가 가벼워졌고 상황에 맞는 유연한 조직구조를 만들 수 있었다.역할 중심 문화를 도입하면서 새롭게 역할을 맡게 된 구성원들도 있었다. 어느 정도 두루두루 하는 사람보다는 특정 부분에 두각을 나타내 자기가 맡은 부분을 스스로 결정하고 책임질 수 있는 사람이 주로 역할을 맡았다.역할 명확화누가 어떤 역할을 하고 있는지 알려주자역할 부여 후에는 현재 누가 어떤 역할을 맡고 있고 역할의 정의가 무엇인지 명확히 공유했다. 에이스프로젝트에는 ‘서포터’라는 역할이 있다. 서포터는 신규 입사자가 새로운 환경에 잘 적응할 수 있도록 생활 면에서 도움을 주는 사람이다. 서포터가 된 사람은 신규 입사자 및 구성원 모두에게 공지된다. 공지 없이 누군가 신규 입사자에게 자꾸 말을 거는 경우 신규 입사자도, 다른 팀원들도 “왜 저렇게 오지랖이지?”하고 부담스럽게 여길 수 있다. 그러나 서포터 역할을 명확하게 공지하고 나면 서포터가 신규 입사자에게 적극적으로 관심을 갖고 도움을 주려고 하는 것을 아무도 이상하게 생각하지 않는다. “회사까지는 어떻게 오세요?” “점심은 뭐 먹을까요?” 와 같은 질문을 해도 이상한 시선으로 보는 사람이 없다. 신규 입사자 입장에서도 역할을 맡은 사람에게는 더 자연스럽게 궁금한 것들을 물어볼 수 있다.이렇듯 역할에 대해 명시하고 다른 사람들에게도 누가 해당 역할을 맡았는지를  ‘알게’ 하는 것이 중요하다. 명시적이지 않은 권한을 행사하거나 역할을 수행하는 경우 다른 구성원들이 업무적으로 혼란스러워하거나 커뮤니케이션 상의 오해가 생길 수 있기 때문이다. 각각의 역할을 누가 맡았는지 정확히 알게 되면  어떤 문제가 생겼을 때 나에게 도움을 줄 수 있는 사람이 누구인지 확실히 알 수 있다. 에이스프로젝트는 프로젝트 단위, 팀 단위로 각각 세분화된 리딩 역할을 명시하고 역할이 바뀔 경우 내용을 즉시 공유한다.그래서 에이스프로젝트에는 어떤 역할이 만들어졌나?4편에 계속.

기업문화 엿볼 때, 더팀스

로그인

/