스토리 홈

인터뷰

피드

뉴스

조회수 11930

스포카에서는 회고를 어떻게 할까?

안녕하세요, 스포카 크리에이터 팀 프로덕트 디자이너 강영화 입니다. 이번에는 스포카 크리에이터 팀에서 어떤 방식으로 회고를 진행하는지 소개해 드리고자 합니다.스포카에서는 팀별로 회고를 진행합니다. 회고라는 단어에 대해 생소한 분들을 위해 간단히 소개해드리면, 진행한 업무 기간별 좋았던 점과 안 좋았던 점을 각자 허심탄회하게 이야기하고 그 내용을 바탕으로, 필요하다면 앞으로 어떻게 업무수행 방식을 개선할지 액션플랜까지 도출하는 활동입니다. 회고의 사전적 정의는 “1. 뒤를 돌아다봄. 2. 지나간 일을 돌이켜 생각함”이라고 하니 회사에서 말하는 회고는업무 기간의 팀 단위 자기성찰이라고 보시면 이해가 빠르겠습니다.저희가 몇 년 전 회고를 도입할 당시에는 에스더 더비, 다이애나 라센이 지은 “애자일 회고”라는 책 내용에 기반해서 세팅했고 몇 번의 회고 방식 개선을 바탕으로 현재 프로세스가 유지되고 있습니다.이 포스트에서는 스포카에서 진행하는 회고 방식과 순서를 자세히 설명해 회고를 처음 도입해보는 팀에서도 쉽게 따라 할 수 있도록 가이드라인을 풀어서 설명해보겠습니다.회고 준비물회고 전에 먼저 간단한 준비물이 필요합니다. 컬러 포스트잇(두 개 컬러 이상, 3M 슈퍼스티키 추천), 매직 혹은 보드마카, 여러 가지 스티커, A4용지 몇 장만 있으면 됩니다. 그리고 회고한 내용을 붙일 벽이나 화이트보드도 있어야겠죠?스포카에서는 회고 주머니가 있어서, 에코백 하나에 준비물을 다 넣어둡니다. 누구든 회고할 때마다 꺼내 쓸 수 있도록요!소요시간과 진행자소요시간은 사람 수와 업무 기간에 진행한 이슈별로 조금씩 다르기는 하나 업무시간에 하는 회의이므로 너무 길게 하는 것은 좋지 않습니다. 1주일 같이 짧은 업무 단위라면 30분~1시간, 그것보다 더 길다면 1시간~2시간 사이가 적절합니다. 다소 무거운 이야기가 나오면 길어질 수 있습니다만, 시간 안배를 잘하는 것이 관건입니다. 이야기를 많이 나누고 가끔은 무거운 이야기를 할 때도 있으니 중간중간에 잘 휴식하고 간식을 제공해도 좋겠습니다.이제 회고 진행자를 정해주세요. 회고하는 팀 외 인원이 자원해 회고 진행을 맡을 때가 있고, 팀 내에서 한 명을 선정해 진행하기도 합니다. 저희는 회고 상황과 업무 단위별로 필요한 방식으로 그때그때 다르게 정하는 편입니다.다양한 이야기를 듣는 것이 중요하므로, 회고 진행자가 참가한 인원의 목소리를 끌어내는 역할을 해주세요. 긴 시간 이야기를 해도 늘어질 때 이야기의 구심점을 모아 좋은 회고 결과를 내는 중요한 역할을 하기도 합니다. 만약 팀원 간 감정적으로 부침이 있는 경우나 꽤 어려운 프로젝트를 진행한 경우에는 확실히 숙련된 진행자가 있는 편이 좋습니다. 이제 회고할 준비가 모두 되었습니다. 본격적으로 진행하기 이전에 회고 프로세스를 살펴볼까요? 스포카에서 진행하는 회고는 아래 일곱 가지 과정을 거칩니다.온도 체크자료 모으기그룹으로 만들기더 이야기하기액션플랜 도출마무리 온도 체크회고의 회고1시간 동안 진행하는 회고로 가정하고 조금 더 자세한 방식을 이어서 설명해보겠습니다.1. 온도 체크 (5분)본인의 현재 상태를 점검해 숫자로 표시합니다. 실수가 아닌 정수 1~5점 사이로 점수를 매기는데 1점이 가장 안 좋은 상태, 5점은 가장 좋은 상태입니다. 모든 사람이 포스트잇에 자신의 온도를 모두 다 쓰면 돌아가면서 왜 이 점수를 매겼는지 이야기합니다. 매긴 점수를 이야기 하는 것보다 내가 매긴 점수보다 높은 점수가 아닌 이유와, 낮은 점수가 아닌 이유를 설명하면 더 이야기를 꺼내기 쉽고 다른 사람도 이해하기 쉽겠죠?“저는 2점을 주었는데요. 1점이 아닌 이유는 오늘 맛있는 점심을 먹어서이고, 3점이 아닌 이유는 몸이 좀 좋지 않아서입니다”“4점입니다. 3점이 아닌 이유는 오랫동안 작업했던 포스트를 작성해서 올렸기 때문이고, 5점이 아닌 이유는 업무가 포스트 작성 때문에 피곤한데 업무가 좀 많아서입니다.”온도 체크를 하는 이유는 서로 각자의 상태를 파악하는 데 의미가 있습니다. 회고가 예전에 있었던 일을 이야기하는 만큼 쉽게 감정적으로 될 수 있으므로 서로 감정을 살피고 아는 것이 중요합니다. 팀원이 어떤 상태인지 인지했을 때 조금 더 발언을 조심하겠지요. 회고는 서로를 탓하기 위해서 하는 것이 아니라 앞으로 더 나은 방향으로 팀원이 모두 발맞춰 나아가기 위한 회의임을 기억하세요.2. 자료 모으기 (10분)준비물로 포스트잇을 챙기셨죠? 각기 다른 색의 포스트잇은 여기서 씁니다. 한가지 색에는 “좋았던 점”을, 다른 색에는 “아쉬웠던 점”을 작성합니다. 한 포스트잇에는 한 가지 사건만 기록해야 합니다.이때 시간이 너무 없거나 참여자가 많은 경우 “인당 3개로 제한” 하는 둥 개수의 제한이 필요할 수 있습니다. 혹은 너무 짧은 단위의 회고를 진행한 경우 “인당 3개 이상 작성” 같이 최소 개수를 정할 수 있습니다. 이는 프로젝트 성격에 따라 정리해주세요.작성한 포스트잇은 화이트보드에 시간순으로 붙입니다. 그리고 누가 어떤 포스트잇을 붙였는지, 왜 이런 포스트잇을 썼는지 감상에 대해서 돌아가면서 이야기합니다.3. 그룹으로 만들기 & 리액션 하기 (10분, 휴식 5분)이야기하면서 이 포스트잇에 적었던 감상이 어떤 내용인지 이해했으니, 비슷한 포스트잇끼리 묶습니다. 여러 사람이 한 가지 주제로 이야기한 내용, 결을 같이 하는 내용 등을 한 포스트잇끼리 묶은 뒤 그룹에 이름을 지어줍니다. 저희가 회고를 할 때 가장 많이 묶는 그룹은 “해서 좋았다”, “좋은 결과물”, “준비 미흡”, “시간 관리 못 함” 등인데, 좋았던 포스트잇 그룹들과 아쉬운 점 포스트잇 그룹들로 나뉘곤 합니다. 묶은 뒤 위에 그룹 이름을 적어도 좋습니다.그리고 나면 가장 재미난 시간입니다. 각자 더 이야기하고 싶은 포스트잇에 스티커를 붙입니다. 스포카에서는 통상 좋았던 것에 2개, 아쉬웠던 일에 2개씩 붙이는데요. 앞서 말씀드렸듯이 각 프로젝트나 팀 성격에 따라 스티커 숫자는 제한하거나 더 늘릴 수도 있습니다.스포카에서는 트위터 에모지를 판스티커로 출력해 회고에 활용하고 있습니다. 독특한 스티커를 사용해 활용하면 조금 더 재미있게 환기되는 회고를 할 수 있겠죠?4. 더 이야기하기 (10분)스티커가 많이 붙은 포스트잇 위주로 더 이야기해 봅니다. 이때는 액션플랜을 도출하기보다는 개인의 감상에 대해서 더 깊이 이야기를 나누고 서로 어떻게 생각하는지 깊이 들여다볼 수 있는 시간으로 가지는 것이 좋습니다.진행자는 모든 참여자가 충분히 이야기하도록 말수가 별로 없는 참여자도 적극적으로 독려해주세요.5. 액션플랜 도출 (10분)자, 이제 선택의 시간입니다. 회고의 목적대로 잘한 일은 다음에 더 잘 할 수 있게, 잘못한 일은 다음에 더 잘 할 수 있도록 구체적인 다음 할 일을 꼭 선정해야 합니다. 참여자들과 상의해 스티커가 붙은 그룹 중에서 액션플랜을 도출할만한 항목만 남기고 이 항목에 관해서만 이야기합니다.문제가 도출되었다면 앞으로 어떤 방법으로 이 문제를 해결할지, 잘한 일에 더 잘할 일이 남았다면 어떻게 계속 좋은 방식을 유지할지 머리를 맞대고 고민해봅니다. 실천 방안 자체도 자세할수록 좋습니다. 명확하고 실행가능한, 추적가능한 목표 설정을 위해 주로 사용하는 기법인 EXACT 또는 SMART 가이드를 기반으로 목표를 설정합니다. 영리하게 목표설정하는 지침인 SMART, EXACT에 대해서는 애자일 이야기 블로그 포스트인 “영리하나 열정이 없다”를 참조해보시면 좋겠습니다.목표를 설정했다면 가능하면 이슈트래커에 이슈를 만들거나 사내 위키에 기록합니다. 회고 결과에 대해서 팀원이 아닌 다른 분들에게도 전체 회의 때 공유하면 더 좋겠죠?6. 마무리 온도 체크 (5분)첫 순서로 진행했던 온도 체크 기억하시나요? 마무리에도 온도 체크를 진행합니다. 회고하면서 이야기를 나누며 컨디션이 어떻게 달라졌는지 팀원들과 공유하는 시간을 가집니다.7. 회고의 회고 (5분)A4용지 맨 위에는 자신의 이름을 씁니다. 종이를 가로로 접어 한쪽에는 +, 다른 한쪽에는 -를 씁니다. 이번 회고 자체에 대해서 어떤 감상이 있는지 작성해봅니다. +에는 회고에서 좋았던 점, -에는 회고에서 아쉬웠던 점을 작성합니다. 짧게 작성하고 돌아가면서 팀원들이 롤링페이퍼 처럼 +, - 에 쓴 항목들에 감상을 표시하며 공감하는 시간을 가집니다.회고 방법에 대해 순서대로 설명했으니 이제 저희가 몇 년간 진행하며 느꼈던 장단점과 유의점을 간단히 적어봅니다.회고의 장점통상 주간 회의에서는 어떤 업무를 잘했는지, 잘 못 했는지, 또는 무엇을 했는지 하지 못했는지만 이야기합니다. 회고라는 회의로 꾸준히 업무 시간을 일정 부분 할애해 ‘어떻게’에 대한 이야기를 나누면 업무 프로세스를 개선하는 데 많은 도움이 됩니다.또한 회고 중 발현되는 업무 진행방식의 패턴들은 자연스럽게 스프린트 회의 등과 연계되어 다음 업무 단위 액션플랜과 계획을 세우는 데 지침이 됩니다.회고 자체가 업무 프로세스 개선의 여지를 열어놓는 액션입니다. 팀 차원에서 계속 업무 프로세스 개선에 관해 이야기를 쉽게 꺼내는 분위기가 만들어지고 이는 팀 전반적으로 사람들에게 의견을 내기 안전한 곳이라는 인상을 줍니다.회고 시 감정 해소보다는 업무 개선 위주로 회고를 진행하고 있으나, 업무에 대한 얘기를 하다 보면 자연스레 업무 수행 시 느꼈던 감정에 대한 이야기도 나눕니다. 업무시간 내 업무와 관련한 감정을 해소할 수 있도록 독려함으로써 업무시간 외 술자리 등, 비업무시간 사적 커뮤니케이션 비용을 완화하는 간접효과를 가져옵니다.관리자 입장에서는 업무 결과에 대한 다차원적 평가를 하는 데 도움이 됩니다. 대개 실적 기준으로 업무 내용을 평가합니다만, 실적이 좋았던 일도 과정과 내용상에서는 개선점을 찾을 수 있습니다. 회고에서 수집된 재료와 의견은, 이런 측면에서 다차원적 업무 평가를 하기 위한 요소로도 활용할 수 있습니다.회고의 단점과 회고 시 유의할 점회고 진행자 역량에 따라 회고 분위기 자체가 달라집니다. 진행자가 적절히 발언 제어를 안하면 한 사람이나 특정 주제에 대해 지나치게 길게 발언 할 수 있습니다. 이런 상황을 피하도록 회고 진행자가 꼭 유의해야 합니다.팀 일원이 진행자를 맡게 된다면 진행에 집중하느라 자신의 업무를 공유하거나 업무수행 방식의 개선점을 논의하기 어렵습니다. 주요 업무 단위에 대한 회고라면 진행자를 따로 두는 편이 좋습니다.회고 전체가 온도 체크는 진행하지만, 팀원들이 어떤 생각을 하는지 어떤 고민을 하는지 깊게 공감하거나 이야기하지는 않아서 각 팀원의 각 팀원의 컨디션 혹은 얼마나 행복하게 일하고 있는지 판단하기는 쉽지 않습니다. 저희는 이 아쉬운 점을 개선하기 위해서 해피아워라는 주간 회고를 추가로 진행하고 있습니다. 이 내용도 정리해서 블로그에 올릴 예정이니 기대해주세요.긴 글 읽어주셔서 감사합니다. 여러분이 속한 조직이나 팀에서는 정기적으로 회고하고 계신가요? 안 하신다면 이 글을 공유하며 팀에 도입해보면 어떨까요? 하고 있는 조직이라면 저희와 다른 회고 방식을 댓글로 알려주시면 좋겠습니다 :)#스포카 #기업문화 #조직문화 #행동강령 #돌아보기 #팀워크
조회수 1516

Docker Hub 이벤트를 Slack으로 받기

Docker Hub은 Docker Registry 중에 가장 돋보이지 않나 생각하는데는 다음과 같은 이유가 있다.써드파티 도구와 서비스 대부분이 Docker Hub를 우선적으로 지원한다.이미지 이름이 매우 짧다.AWS ECR: 319270577709.dkr.ecr.us-east-1.amazonaws.com/dailyhotel/myweb:1.0.1Docker Hub: dailyhotel/myweb:1.0.1단순하지만 강력한 도커 빌드 서비스를 제공한다.이 외에도 도커 허브는 장점이 많은데 도커 이미지를 도커 허브에서 빌드하거나 외부에서 docker push를 해서 도커 이미지를 레지스트리에 밀어넣으면 해당 이벤트를 Webhook로 외부에 전달해주는 기능도 그 중 하나이다. 이론적으로는 새 도커 이미지가 나올 때마다 Slack을 통해 알람을 받을 수 있다. 하지만 놀랍게도! 도커 허브는 Slack 등의 대중적인 써드 파티 서비스와의 통합 기능을 직접 지원하지 않는다. 기본적으로 도커 허브가 보내는 Webhook를 파싱해서 슬랙 등으로 보내는 서비스는 직접 구현하거나 누군가 만든 도구를 직접 설치해 사용해야 한다.구글링하면 구현체가 몇 개 나오는데 그 중 일부는 matsengrp/relay를 커스터마이징한 것이다. 다른 구현체도 있지만 matsengrp/relay가 제일 구성이 깔끔하고 커스터마이징하기 쉬웠기 때문에 이를 기반으로 더 쓸모있는 구현체를 만들기로 했다. 새로운 구현체는기존 프로젝트를 Dockerize하고소스 코드를 직접 수정하는 대신 환경변수로 설정을 제어하게 하고도커 이미지의 태그 등 중요 정보를 추가로 표시하며위트 넘치는 이미지를 추가하여 지나치게 사무적이지 않게 메시지를 구성하는데초점을 맞추었다. 그래서 나온 결과물은 다음과 같다.개인적으로는 매우 마음에 든다. Docker 이미지로 빌드했기 때문에 서비스를 띄우기도 매우 쉽다. README 문서에도 기술했듯docker run — env SLACK_URL=’https://hooks.slack.com/services/PUT/YOURS/HERE' — env RELAY_PORT=8080 — env=DEFAULT_CHANNEL=’#dev’ — env=IMAGE_URL=’https://i.giphy.com/LYDNZAzOqrez6.gif' -p 8080:8080 dailyhotel/relay이게 전부이다. IMAGE_URL 등 환경변수 대부분은 필수값도 아니어서 실제 설정은 더 간단명료하다. 도커 이미지가 간단한만큼 Kubernetes로 띄우기도 쉽다.apiVersion: v1 kind: Service metadata: name: slackrelay labels: app: slackrelay spec: ports: — name: http port: 80 targetPort: 8080 protocol: TCP selector: app: slackrelay type: LoadBalancer — - apiVersion: extensions/v1beta1 kind: Deployment metadata: name: slackrelay spec: replicas: 1 template: metadata: labels: app: slackrelay spec: containers: — name: slackrelay image: dailyhotel/relay:latest env: — name: SLACK_URL value: "https://hooks.slack.com/services/PUT/YOURS/HERE" — name: RELAY_PORT value: "8080" — name: DEFAULT_CHANNEL value: "#dev" ports: — name: slackrelay-port containerPort: 8080그래도 여전히 몇 가지 개선점이 있긴 하다. 예를 들어 슬랙의 Webhook URL 대신 API 토큰값을 설정으로 받으면 좀더 많은 기능에 접근할 수가 있다. 이러한 점은 향후 정말 필요할 때 개선해볼 생각이다.참고 자료Webhooks for automated builds는 Docker Hub가 보내는 Webhook 메시지를 기술한다. 제목만 읽으면 자동화된 빌드에만 해당하는 이야기 같지만 확인해보니 docker push로 이미지를 푸시했을 때도 동일한 메시지 포맷을 사용한다.RequestBin는 Webhooks for automated builds에서 언급한 웹 서비스인데 Webhook 개발 등에 매우 유용하다. 외부 서비스가 발송하는 HTTP 요청 메시지를 받아서 임시로 보관해준다. Webhooks for automated builds에서 기술한 메시지 포맷대로 실제로 발송되는지 확인하기에 매우 요긴했다.#데일리 #데일리호텔 #Docker #Slack #슬랙 #협업툴 #개발 #개발자 #인사이트 #꿀팁
조회수 2928

SW 개발, 우선순위는 어떻게?

아키텍처적인 판단과 비기능적인 요소, 품질요소에 대한 것을 기준으로 우선순위를 결정하는 것은 차라리 간단하다. 아리송하고 판단하기 어려운 것은 따로 있다. 서비스를 어떤 기능이나 어떤 서비스, 어떤 영역을 먼저 시작해야 하는 가?. 아니면, 서비스가 개시되고 돌아오는 버그 리스트와 추가 요구사항 등의 사용자의 피드백을 통해서 유지보수의 순서를 정하는 것 등이 아리송한 것이다.이번에 중점적으로 이야기하는 것은 개발자들에게 요구되는 요구사항과 업무의 작업 단위들은 왜 이렇게 많이 변화하고, 이러한 요동치는 환경들은 무엇 때문에 발생하는 것인지에 대해서 생각해본다.대부분의 소프트웨어 개발자들은 시시각각 변화하는 요구사항과 유지보수 업무의 홍수 속에서 점점 무덤덤해지면서, 자신들이 할 수 있는 일만을 하려고 하는 경향으로 변화해 간다. 그렇게 변화하면서 개발 조직 내에서 무력감에 빠져드는 현상을 맞이 한다. 그 모든 이유의 대부분은 최고 경영자나 경영진, 리더층의 결정장애이거나 판단 미스인 것이 대부분이다.슬프게도 최고 경영진에게는 소프트웨어 개발팀에서 업무를 제대로 처리해주지 않는다는 영업과 기획 조직들의 푸념이 늘어나는 이유는 소프트웨어 개발팀에서는 제대로 된 요구사항의 정의가 되지 않았고, 작업의 우선순위가 불분명하기 때문에 이런 기술적 판단 미스와 잘못된 기술 부채가 누적되어지기 때문이다.기술적 부채에 대해서는 다음에 이야기하고, 이번 이야기에서는 '작업'의 우선순위를 결정하는 부분에 대해서만 이야기해보자.우선순위를 결정하는 기준이 없거나, 기준에 대해서 의사소통이 안 되는 경우가 발생할 수 있다. 그리고, 대부분의 스타트업들은 이런 현상을 맞이한다. 물론, SI현장에서는 너무도 비일비재하게 반복되는 경우가 많기 때문에 이런 현상은 지금 이 순간에도 반복되고 있다.도대체 왜 이런 상황을 만들었는가? 그리고, 누가 이렇게 만들었는가? 분명, 스타트업 초기에는 의기투합했던 CEO와 기술 총 책임자가, 어느 정도 기업이 성장하고 나니, 업무의 우선순위와 요구사항의 폭주 속에서 서로 일기토를 벌이는 대립된 상황이 되어버린 것은 무엇 때문일까? 도대체 이렇게 개발업무가 뒤죽박죽 되어버린 것은 누구의 책임인가?아키텍처가 부재하고, 아키텍트 역할을 담당하는 사람이 없는 경우에는 이런 현상은 매우 당연하다. 오히려, 발생되고 있는 것을 모른다면 그것은 더 위험하다. 개발자나 담당자가 현상을 숨길 가능성도 매우 크다. 언제나 개발 리소스는 부족한 것이 정상이다.개발 일정은 촉박하고 만들어야 할 것은 많으며, 버그는 언제나 발생한다. 이런 사항들을 어떻게 처리하는 것이 가장 합당한 것인가에 대해서 삐딱한 아키텍트의 시선으로 몇 가지 정의하여 보자.한편으로는 이러한 상황은 매우 당연한 것이다. 소프트웨어 개발을 할 때에 수많은 업무들이 밀려온다. 또한, 요구사항들은 급변하고 시장 또한 급속도로 변화를 일으키는 것을 간과해서는 안된다.‘냉정하게 ‘경영진’이나 ‘개발 총 책임자’의 능력이 부실해서 그런 경우가 태반이다.‘라고 필자는 이야기하고 싶다. 그런 상황을 피하게 해야 하고, 그런 문제를 해결하기 위해서 최선을 다해야 하는 것이 그들이 해야 할 일이다. 그래서, 고액 연봉을 받는다. 그러니, 이런 문제는 그들이 해결해야 한다.결론은 그러하지만, 그런 상황을 좀 더 세밀하게 분석해보자.보통 이러한 일이 발생하는 경우의 가장 대표적인 문제는 경영진의 ‘경영 목표’가 불분명하고, ‘프로젝트의 골’에 대해서 가치의 설정을 제대로 못하고, 이에 대해서 조직원들에게 의사전달이 불분명할 때에 이런 상황들이 대부분 발생한다. 그리고, 결과는 불을 보듯 뻔하게 된다. ( 의사소통이 안되었다고 판단하기도 하지만, 대부분 일방통행으로 전달되어지는 지시사항들이 대부분이므로, 의사소통의 문제는 아니다. 그러니, 개발자나 기획자, 디자이너의 책임이 아니다. 그냥, 지시가 잘못된 거다. )물론, 전통적인 제조업체와 전통적인 관료조직에서는 이러한 문제를 해결하는 다양한 방법들이 연구되었고, 차근차근 일을 풀어나가는 방법에 대해서도 많은 해결책과 솔루션들이 등장한다. 하지만, ‘지적 생산’을 주 업무로 하고 있는 소프트웨어 개발에 있어서는 이러한 방법들은 정말 바보스러운 프로세스를 만들 뿐이고, 인원이 비대해지며, 불필요한 회의와 불합리한 결정들이 도배되는 경우가 많은 관료조직을 비대하게 만드는 경우가 많다. 이런 문제를 해결하겠다고, 조직의 구성 방법이나 조직을 관료화하고, Tree구조로 만드는 바보 같은 짓을 필자도 그런 실수를 반복했었다. (ㅡ.ㅡ;)스타트업으로 빠르게 시작한 기업이 어느 정도 매출을 일으키거나, 서비스가 완성되어 갈 때에, 대규모 인원을 확충하면서 발생되는 문제들은 아이러니하게도 대부분 비슷하다. 그 문제의 핵심중의 핵심은 그 ‘문제’ 들을 어떻게 나열하느냐이다.그렇다면, 이러한 문제들을 어떻게 명확하게 해야 하는가? 그것을 조금 더 명확하게 개발업무에 있어서 정의한다면. 소프트웨어 개발에 있어서 가장 초보적이고 기본적인 ‘업무의 요구사항’을 제대로 결정하는 것이다. 그리고, 이러한 ‘요구사항’을 어떤 방법으로 중요한 ‘업무의 우선순위’를 잘 결정하는 것이다.이런 ‘우선순위’를 결정하기 위하여 ‘요구사항’을 어떻게 잘 정의하는가가 이 문제를 보다 명확하게 하는 방법의 가장 핵심중의 핵심이 되겠다. 물론, 똑똑한 경영자와 리더가 앞에 나서는 것은 당연한 것이겠이고, 그러한 리더는 ‘요구사항’을 정말 명확하게 정의하고, To-be에 대해서 명쾌하게 정의할 수 있다. To-be가 명확하고, 만들고자 하는 제품과 서비스가 명확하다면 이런 혼란을 발생하지 않을 것이다.하지만, 불분명한 목표와 불분명한 요구사항은 결국, 소프트웨어 개발을 파국으로 만들어 버리는 첫 번째 문제점이다. 훌륭한 리더는 작은 요구사항과 작은 결정사항부터 명확하게 정의한다.소프트웨어 개발 업무의 우선순위를 결정하는 방법물론, 이 내용은 소프트웨어를 중심으로 IT설루션이나 서비스를 개발하는 업체를 대상으로 설명하기는 하지만, 일반적인 기업들도 요즘은 대부분 중요한 의사결정과 지적 프로세스들을 갖추어야 하기 때문에 발생되는 문제들은 대부분 대동소이하다고 하겠다.또한, 경영의 목표에 대한 설정과 과학적인 접근 방법은 경영학적인 관점이기 때문에, 그 부분에 대해서도 이 글에서는 논외로 하자. 보통 조직이나 기업은 제한된 리소스와 자원과 일정을 가지고 최대의 이익과 목표를 도달하기 위한 경영자의 판단에 의해서 결정되어지고 움직여진다. ( 그래서, 사장이 똑똑해야 한다. )대부분의 조직과 회사는 이미, 시작부터 그 결과를 예측할 수 있다고 보는 것이 합당하다. 이처럼, 냉정하게 경영의 목표를 명확하게 하고, 조직의 비전과 한 해의 목표와 프로젝트의 목표에 대해서 얼마나 잘 결정하느냐가 핵심적인 성공요소들이다. 목표가 명확하면, 업무 순위도 명쾌하다.아무리 개발자가 똑똑하다고 해도, 경영진의 삽질을 버텨낼 수 있는 것은 거의 ‘기적’에 가까운 일이기 때문이다. 결정하고 업무의 우선순위를 정의하는 사항들이나 체크리스트에 대한 이야기인 경영진들이 판단해야 하는 내용에 대해서는 필자의 경험( 중견기업의 임원 노릇 )을 바탕으로 다음 기회에 이야기하도록 하겠다. 아마도, 스타트업과 중견기업의 임원으로 일해본 필자가 해줄 수 있는 이야기는 필자 주변에서 물어보듯이 생각보다 많은 듯하며, 브런치를 통해서 자주 언급하고 이야기하도록 하겠다.정말 중요한 소프트웨어 개발 기업에서의 업무의 우선순위는 무엇으로 결정되어지는가? 그것은 대부분의 기업과 대동소이하다. 그것은 ‘기업이 추구해야 할 이익’이다. 그리고, 그 이익을 위해서 어떠한 경영적인 지표와 목표를 설정하느냐에 따라서 결정되어진다.이러한 결정사항이 개발업무의 우선순위에 가장 지대한 영향을 준다. 앞서 이야기했지만 경영지표를 설정하는 것은 이 글에서는 논외이다. 일단, 여기서는 경영의 목표는 명확하다는 전제하에서 매일매일 요구사항에 따르는 업무의 우선순위가 요동치게 되는 상황을 생각해보자. ( 일단, 똑똑한 경영진이 제대로 된 목표 설정을 했다고 본다. )하지만, 그렇게 목표 설정이 되어도, 요구사항과 업무의 우선순위가 요동치는 경우는 똑같이 발생하게 되는 경험을 하게 된다. 도대체, 왜? 이런 현상들이 발생되는 것이고, 왜? 우리는 이러한 변동되는 상황 속에 노출되어 있는 것일까?대부분의 소프트웨어 개발 업무들을 보면, 생각 이상으로 매번 계획에 없던 일은 수시로 발생하고, 발생된 업무들은 아이러니하게도 중요한 업무 리스트로 추가되는 해괴한 현상이 수업이 되풀이된다. 도대체! 왜? 그런 현상이 일어날까?시장의 매우(!) 변화는 당연하다.물론 이러한 상황을 여러 가지 상황으로 해석할 수 있겠지만. 대부분의 이런 식의 업무의 우선순위가 요동치는 이유는 '회사 주변의 변화'가 극심해서 벌어지는 현상 중의 하나일 수 있다. 이러한 경우는 극히 당연하며, 이 요동치는 것을 어떻게 프로세스에 반영하는가가 관건이다. 그래서, 해당 프로세스의 분석과 반영에 집중하면 최고의 프로세스를 얻을 수 있다. 대부분이거나 특히, 일등 경쟁업체가 있고. 그 업체의 행동을 주시해야 하는 팔로워 정책을 사용하는 업체의 경우에는 이런 일은 거의 매번 발생하는 경우이니, 어떻게든 이러한 변화를 탄력적으로 운용할 수 있는 환경을 만드는 것이 중요하다.분명, 더욱더 극심하게 발생하는 것과 소프트웨어 개발과 환경, 조직을 그에 맞추어야 하니까 발생하는 것이다. 냉정하게 해당분야의 1등 기업이 아니고서는 대부분 이러한 현상을 비일비재하게 만나게 된다. ( 보통 기업들은 애플과 같은 선도적인 기업이 아니다. ) 그리고, 이런 요동치는 '변화'에 따라서, 보통은 이러한 변화에 따라서 세부적인 실행방안과 전략, 결과물들이 변동되는 것인 어찌 보면 당연하고 지당한 범위의 변동일 수 있다.당연하게도 이러한 ‘시장의 변화’를 내부 조직원들에게 어떻게 전파하고, 의사소통하는 것이 효과적인 것인가에 대해서 더 많은 투자를 해야 하고, 해당 정보들을 빠르게 전파할 수 있는 방법들을 고안해야 한다.하지만, 시장은 그대로인데? 요구사항은 요동친다?그렇지만, 시장의 변화도 없고, 경쟁기업의 변화도 그다지 없는데도, 부서와 부서원, 개발자와 영업 등에 있어서 주요한 우선순위가 요동치고, 기준점이 없는 상황에서 방황하게 되는 현상은 왜 일어나는 것일까?재미있게도, 대부분의 '우선순위'변동은 이러한 외부요인에 의해서 발생하지 않는다는 점이다. 보통은 이런 '외부요인'에 대한 대응방안과 충격은 대부분의 회사와 조직에서 반응할 수 있도록 대처가 되어있는 편들이다. 그리고, 경영이나 관리조직은 그러한 것들을 탄력적으로 운영할 수 있는 다각도적인 방법들에 대해서 이미 익히 알고 있기 때문에, 대부분은 소프트웨어 개발 조직에 이러한 여파가 가지 않도록 최선을 다한다. (* 만일 이런 상황이 아닌데도 개발 조직에 여파가 전해진다면, 전적으로 관리조직이나 리더십의 문제, 의사소통 등의 문제들이 그대로 드러난 것이다. )정말 대부분의 '우선순위'의 변동은 엉터리 같은 상황에서 발생되는 경우가 생각 이상으로 많다. 그것의 대부분은 납득하기 어려운 모호한 이유와 상사의 변덕, 사내 정치의 비합리적인 결정 등에 따라서 변화되는 경우가 많다.물론, 대한민국의 SI특성상 거지 같은(?) 고객의 불합리한 요청사항 때문에 거지 밥상을 뒤엎듯이 변화하는 것 또한 엄연한 현실이고 사실이다. 하지만, 냉정하게 이러한 현실에 대해서 잘 알고 있으면서 대응을 하지 못한다는 것 또한 분명 능력과 실력의 문제이기도 하다. 분명, 거지 같은(?) 고객과 시장이라면 그에 응당한 대응조직이나 프로세스를 갖추어야 한다. 하다 못해, 술말 마시는 술상 무라도 동원하는 것이 합당하다. 대한민국 공공 SI의 성패는 ‘술자리’에서 결정되는 경우도 많다. (ㅡ.ㅡ;)정말 중요한 것은 이런 상황을 파악하는 것 그 자체가 중요한 것이다. 이처럼 정말 중요한 것은 업무의 요구사항에 대한 본질을 정확하게 파악하는 것이다.분명, 자신의 조직과 회사에서 '소프트웨어 개발업무의 우선순위'는 어떤 식으로 결정되어지며, 어떤 것들이 정말 중요한 업무인지 파악하고 분석하는 것이 가장 핵심적으로 필요하다. 아주 세부적인 우선순위에 대해서는 실제 해당 업무를 분석하고 정의해야 하지만, 일반적으로 이러한 ‘요구사항의 본질’을 정의하는 데 있어서, 최소한 두 가지의 스텝으로 업무를 구분하고, 다음의 4가지 정도의 업무형태는 구분해야 한다고 생각한다.현재 팀에 적합한 소프트웨어 개발업무의 우선순위를 결정하자!그것의 첫 번째 스텝은 정말 필요한 '0순위의 업무'와 '쓸데없고 필요 없는 일'을 구분하는 것이다. 그리고 남은 요구사항과 업무들은 일반적인 업무들이며, 그 업무들은 다음 스태프의 분석과 정의에 따라서 ‘고품질이 요하는 업무’와 ‘적정 품질을 요하는 업무’를 구분하는 것이다.이처럼 0순위 업무, 불필요한 일, 고품질 업무, 적절 품질업무의 4가지 스태프로 구분하여 업무의 우선순위를 정하는 것이 요구사항 분석의 첫 번째 단계이다. 그리고, 그러한 기준과 성격에 대해서 조직원들에게 폭넓은 이해를 구해야 하며, 그 부분에 대해서 공감대를 형성해야 한다. 대부분 기업의 목표와 비전은 그러한 것을 전제로 구성되게 된다. 그렇다면, 이러한 해당 업무의 성격은 어떻게 구분하는지 하나씩 살펴보자. 요구사항들에 대해서 구분이 어렵다면, 필자가 사용하는 방법을 한번 사용해 보라. 아래의 표는 요구사항의 우선순위를 평가하기 위해서 필자가 사용하는 방법이다. 점수를 만들어서 사용하는 것이 가장 간단할 수 있다.표1, 요구사항에 대한 가중치 리스트위의 표를 이용하거나 적절하게 요구사항의 가중치를 조절하여 ‘수치화’하는 것도 일부분 가능하다. 하지만, 이렇게 정량적으로 판단하는 것보다 더욱더 중요한 것은 ‘요구사항’은 ‘정성적’인 판단을 제대로 하는 것이다.0 순의 업무를 찾고 정의하자가장 쉽게 이야기하면. ‘기업의 이익을 가져다주는 확실한 것’이 명확하게 드러난 것을 의미한다. 몇 가지 부연설명을 하자면, 기업이 사활을 걸어야 할 신기술이 들어간 서비스, 매출 증대를 위한 새로운 시장에 진입하는 비즈니스 모델을 갖춘 서비스, 수익모델을 만들고 실현하기 위한 일련의 서비스의 Back-office 작업들, 현재 서비스 중인 소프트웨어의 위기사항을 타개할 해결책을 찾는 것 등이 이러한 '0순위 업무‘에 해당한다.더 명쾌하게 이야기하자면 '업무의 가치'가 명확하고, '업무의 요구의 원천'이 명확하고 정확하게 드러난 요구사항들 중에 '수익'이 명쾌하게 보이는 일이 이에 해당한다. 이러한 '업무'들은 개발 조직뿐만 아니라, 영업이나 기타 조직에서도 발 빠르게 대응하는 것이 가장 중요하다.보통 이러한 일들에 있어, 가장 중요한 것은 '타이밍'이게 된다. 말 그대로, 발생한 시기와 해결되는 시기의 주기가 가장 짧아야 한다. 말 그대로, 고객이 원하는 제품과 서비스를 의미한다. 그래서, 0순위로 진행해야 한다.또한, 이러한 타이밍은 기업에게도 큰 기회를 주지만, 해당 업무를 추진하는 부서와 개인에게도 큰 이익과 인사고과의 결과를 선사하기 때문에 정말로 의미 있고 중요한 업무가 된다. 다만, 이러한 0순위 업무의 구분을 해야 하는 경우에는 해당 조직과 회사에 당연하게도 인사고과나 인사정책 또한 잘 구성되어 있는 경우에만 이러한 우선순위의 결정이 의미가 있다. 또한, 결정되어지는 긴급한 의사결정에 대해서 신속하고 명확한 의사전달과 의사소통이 가능한 집단의 경우에게만 이러한 ‘0순위 업무’에 대한 정의가 가능하다.앞서 이야기한 인사정책이나 의사소통이 불분명한 조직에서는 아무리 ‘고객’이 당장 원하는 ‘서비스’와 ‘제품’이라고 하더라도. 소프트웨어 개발 조직에서는 생뚱맞게 튀어나온 불특정 한 업무로 밖에 받아들이지 않는다.그러한 ‘문화’와 ‘환경’을 갖추고 있지 않는 기업이라면, 이러한 ‘0순위 업무’는 가능한 발생시키지 않는 것이 최선이다. 그리고, 다음의 ‘불필요한 일’을 구분하는 정도로만 진행하는 것이 더 효과적일 수 있다.하지만, 잘 갖추어지고 유연한 소프트웨어 개발 조직에서는 이러한 이벤트적인 최고 결정사항을 발 빠르게 대처할 수 있다. 이러한 일들은 말 그대로, 잘 수행된 이후에 기업도 이익이고 부서도 신바람 나고, 개인도 업무 고과에서 큰 영향을 받을 수 있는 일이므로, 기업에 가장 큰 이익과 긍정적인 효과를 매우 크게 안겨다 주는 업무가 된다.가장 중요한 ‘문화’가 성립되어진 기업과 조직은 어떻게든 이러한 ‘0순위 업무’를 정말 잘 필터링하는 것이 해당 기업의 점진적인 성공과 성패의 최우선적인 결정사항이 될 것이다.보통 이러한 결정은 어느 정도 회사의 서비스와 제품이 성공적으로 시장에 안착한 다음, 시장이 확대되거나 해외 수출 등의 매출이 급속도로 증가하는 시점에서 심각하게 고려해야 할 사항들이다.그렇다면, 이러한 요구사항이나 업무는 어떤 식으로 결정하는 것이 최선일까? 여러 가지 의견이 있지만, 크게 두 가지로 나눌 수 있다. 하나는 대부분 이러한 업무는 특정 체크리스트와 회의에 의해서 결정될 수도 있다는 점. 또 다른 하나는 리더십을 가진 사람이거나 경험이 풍부한 사람이 직감과 경험에 의존하는 것이다.과연 어떤 방법이 효과적일까? 프로세스로 이러한 0순위 업무를 결정할 것인가? 직감과 경험에 의존할 것인가? 두 가지 모든 것을 고려할 것인가에 대해서는, 각 조직과 기업의 성격에 따라서 조금씩 다르다.다만, 정말 중요한 것은 ‘0순위 업무’를 제대로 구분하고, 이를 정하는 일련의 작업들을 수행하고 있는가 하는 점을 먼저 판단하는 것이다. 보통 이런 ‘0순위 업무’들은 너무도 명확하기 때문에 잘 드러나서 경험과 직관으로 결정하는 것이 더 효과적인 경우가 많다. 경험이 풍부한 고급 개발자나 아키텍트와 같은 인력을 보유하는 절대적인 이유이기도 하다.하지만, 문화적인 형성도 힘들고, 고급인력도 없다면, 다음의 ‘쓸데없는 일’을 찾는 것에 중점을 두어보자.현재 상황에서 ‘쓸데없는 일’을 구분하자.대부분의 소프트웨어 개발 조직에서 가장 잘해야 하는 작업은 정말로, '쓸데없고 필요 없는 일'을 구분하는 것이다. 냉정하게 지금 당장 필요 없는 업무, 해도 그다지 성과가 없는 업무, 의미가 부족한 업무 등이 이에 해당된다. 대부분 이러한 업무들의 대부분은 '업무의 가치'가 불명확한 경우와, 누가 만들고 요구한 것인가? 에 대한 요건이 불명확한 경우가 많다.이 두 가지에 해당되는 내용들이라면, 대부분 쓸데없는 일이나 요구사항으로 구분하여 정리하고 처리해야 한다. 물론, 요구사항의 수집이 잘못되었을 수 있지만, 그것은 수집의 문제에 대해서 다시 논하기로 하자. 요구사항 수집 공학과 관련된 이야기도 칼럼 중에 한번 이야기해야 할 내용이다.하여간 이러한 ‘쓸데없는 일’들은 분명, 현재의 작업에 등록되어 있고, 누군가가 하고 있으며, 어떤 지시에 의해서 실제 수행되는 경우가 상당수 존재한다. 이러한 대부분의 일들과 요구사항들을 살펴보면, 현재 등록되어진 대부분의 업무들 중에 10가지 중에 1~2가지 일들은 대부분 타성적으로 흘러 지나가는 경우가 대부분인 경우가 많다. 냉정하게, 현재 등록되어진 요구사항이나 업무에 해당하는 것들의 10~20%는 정말 '쓸데없는 일'들이 많다. ( 지금 당장 업무의 Task를 살펴보면, 이런 쓸데없는 일들을 찾을 수 있다. 왜? 자신도 모르게 버퍼 삼아서 등록해 놓은 업무, 팀장이 버퍼로 등록한 업무까지 정말 많다. )또한, 그 이외에도 대부분이 비즈니스 환경이 변하거나, 업무를 지시한 상사의 변덕 등으로 사라지는 업무들도 이에 해당한다고 볼 수 있다. 이러한 업무들은 해당 이벤트와 상황에 따라서 후순위로 처리되거나 하지 말아야 할 것들에 해당한다. 그렇다면, 이러한 쓸데없는 일들을 어떻게 구분해 내는가? 가장 대표적으로 구분하는 방법은 ‘만들어진 보고서’와 ‘결과물’이 소홀하게 관리되는 경우가 대부분 이에 해당한다고 보면 되겠다.이러한 쓸데없는 일들의 결과들을 살펴보면, 정말 심한 경우 보고서나 결과물에 대해서 보고를 받는 시간 10~20분 정도의 대충하는 경우도 많은 것이 대부분이다. 그리고, 실제로 관료화된 조직에서는 이러한 많은 업무들이 필요 없는 업무들로 구성되어진다.소프트웨어 개발 조직이 관료화된다는 것이 얼마나 비효율적인가 하는 점은 굳이 첨언하지 않아도 대부분의 개발자들이 잘 알고 있을 것이다. 소프트웨어 개발 조직이 관료화되어있다고 생각한다면, 대부분의 '소프트웨어 개발 업무'들은 쓸데없는 일에 30~40%의 일을 소모하고 있는 경우가 대부분이라고 봐도 무방하다.그래서, 이러한 업무들을 구분하는 방법으로는, '업무가 추진되고 나온 결과물'을 검토하는 시간과 결과물에 대한 반응을 살펴본후, 그 반응이 어떻게 내재화되는지에 대해서 검토하여 보면 대부분 알 수 있다.또한, 해당 서비스나 라이브러라, 산출물들이 얼마나 재활용되고 있으며, 효과적으로 반영되고 있는지에 대한 평가도 같이 하면, 이러한 ‘쓸데없는 일’을 찾아낼 수 있다. 대부분 이러한 업무들의 대표적인 것들이 냉정하게 신입사원들 대부분의 업무가 그러하고, 선임 직원들은 관성에 따라서 만들어 내는 업무들이 대부분 이러한 경우가 많다. 또한, 습관적으로 중복적인 업무들도 많이 발생한다. 이러한, 업무의 누수를 어떻게 잘 검토해 내느냐가 관건이고, 정말 필요한 일을 잘 판단하는 기본적인 체크를 할 수 있는 방법을 만들어야 한다.이러한 분리된 스텝으로 정말 필요한 일과, 정말 필요 없는 일을 구분하는 것만 체크하고 점검하여 진행하여도, 업무의 우선순위는 대부분 정해지고, 불필요한 일과 쓸모없는 일들을 제거할 수 있다. 물론, 냉정하게 이러한 업무를 제대로 해야 하는 것이 중간관리자나, 팀장들이 일을 잘하는 경우에 해당되겠다. 또한, 효과적인 의사소통이 많아지고, 효과적으로 대응하는 경우에 이러한 업무의 구분이 보다 명확해진다. (* 그렇다고, 의사소통을 많이 하겠다고, 회의시간만 길게 잡는 것 또한 불확실한 일처리를 의미한다. 대부분 그 방법은 해당 조직들이 더 잘 알고 있다. 어떤 장소에서 어떤 시간이 더 많은 대화를 나누는 것인지 잘 알고 있다. )최소한의 이러한 구분이 가능하다면, 좀 더 업무의 우선순위를 좀 더 세분화하여 정의할 수 있게 시도할 수 있다. 그것은 소프트웨어 개발에 있어 정말 중요한 정말 고품질을 요하는 업무와 적정한 품질로 처리해야 하는 업무에 대한 구분이다. 필자의 경험에 따르면 정말 고품질을 요하는 소프트웨어 개발의 범위는 전체 프로젝트 범위의 30%를 넘어선 적이 없다. 대부분은 변화가 있으며, 단순 처리되는 내용들이므로, 적절한 품질로 대응이 가능하다.단순한 crud성 화면 프로그램에 엔진에서 검토해야 하는 품질 절차와 리소스를 투입하는 바보 같은 짓을 되풀이해서는 안된다. 전체적인 품질 테스트에서도 충분하게 검토될 내용과, 단위 테스트와 아키텍처적인 관점에서 접근해야 하는 고품질의 영역을 제대로 구분해 내는 것 또한 소프트웨어 개발의 요구사항을 효과적으로 대응하는 것이다.해야 할 일중에 정말로 고품질을 요하는 소프트웨어 개발업무를 구분하자성과가 명확하게 보이는 개발업무로써, 해당 소프트웨어의 개발된 서비스의 실체와 가치가 완벽하게 드러난 일이다. 또한, 해당 서비스나 소프트웨어가 다른 개발팀이나 다른 서비스에 많은 영향을 주는 영역의 개발이라면 당연하게도 ‘고품질’이 요구된다.다만, 0순위처럼 '그 이익'이 정량화되지는 않았으나, 정성적인 기준에 의해서 그 가치가 명확해진 개발업무들이라고 보면 된다. 대부분 이러한 일들은 '요구사항'의 변화가 거의 없을뿐더러, 관료조직의 극성인 변덕스러운 직장상사도 필요한 요구사항을 틀지 못하는 경우가 많은 서비스이거나 업무에 해당한다.또한, 이러한 대부분의 고품질 개발일은 이러한 '최선을 다해야 하는 일'인 경우이다. 하지만, 업무 순위를 결정할 때에 잘못하는 것 중의 하나가. 매일, 매번 이러한 '최선을 다해야 하는 일', ‘고품질’로 결정되어진다는 것이다. 그렇지만, 그렇게 결정된 ‘고품질 속성’은 잘못 결정된 판단일 가능성이 높다. 고품질은 많아야 전체 업무의 30% 정도이다. 그 이상으로 책정된다면, 평가기준부터 잘못된 것이므로 다시 살펴봐야 한다.물론, 정확하게 일에 대해서 살펴보면 이렇게 구분하는 것은 대단한 업무 처리능력을 가진 기업이나 조직일 수 있겠지만. 그런 식으로 제대로 관리하는 기업은 한 번도 본 적이 없다. 관리의 S기업도 그렇게 정의하지는 않고, 안전이 가장 중시되는 항공기 관련 소프트웨어 개발에 있어서도 그런 식으로 기준을 정하지는 않는다. 이런 식으로 대부분의 업무가 '고품질'로 책정된다면, '업무의 중요도'를 잘못 판단하고 있는 것이다. 그러므로, 기준 작업과 검증작업을 다시 해야 한다.다만, 개발업무내용에서 그 사용가치를 찾기 힘들고, 만들어진 결과물 또한 다른 서비스나 개발 조직에 별다른 기여를 하지 못할 것이 명백하지만, 최선을 다해야 하는 개발업무가 있다. 그것은 '사장님' 또는 개발 총괄 책임자가 만들어낸 업무이다. 그것은, 개발업무 우선순위에 있어서 '책임'은 윗분들이 결정한 것이기도 하지만, 고위층의 경영적인 판단에 의해서 움직이는 전략적인 업무일 수 있다.보통 이러한 사항들은 '경영진의 의사결정'이기 때문에, 우선순위를 중요하게 책정해야 한다. 그리고, 이러한 ‘업무의 성격’은 명확하게 ‘요구사항’이나 ‘업무’에 명시가 되어야 한다. 그래야, 개발 조직은 개발함에 있어서 주저함이 없을 것이다.대부분은 고품질이 아니며, 적절한 품질요건으로 만족하는 개발 영역대부분의 '쓸데없는 일'이 아닌 보통의 개발업무들의 경우에 이 4번째에 해당한다. 이 소프트웨어 개발업무는 고품질이 아닌, 해당 개발업무의 기본적인 완성도만 추구하면 되는 일이다.또한, 이러한 업무들은 대부분 QC와 QA의 업무가 구분되어져 있고, 해당 리소스를 투입하고 있는 경우에는 이 부분으로 처리가 되는 경우가 더욱더 많이 정의되게 된다. 가능한, 품질관리에 투입되는 리소스를 최소화하는 것이 전체적인 개발의 성과를 향상하게 된다. 소프트웨어 개발업무를 어떻게 하든 이 영역을 80% 이상으로 끌어올리는 것이 개발을 효과적으로 수행하게 하는 것이다. 필자의 경험에 따르면 ‘고품질’은 20%, ‘저품질’은 80%의 영역으로 설정하고, 고급 리소스는 ‘고품질’에 투입하도록 하는 것이 가장 합당하다.일반적으로 소프트웨어 개발업무의 대부분의 구성 업무들은 이러한 '적당하게 해야 하는 업무'이다. 이 업무에는 '에너지'와 '시간'을 낭비하면 안 된다. 말 그대로, 적정하게 해야 한다. 그리고, 개발자들에게 ‘잉여’를 공급하게 하고, 반복적인 테스트와 품질 검토는 품질관리 조직에서 다양한 방법으로 접근하고, 문제의 발생을 추적하여 통보하여, 품질관리를 분리하는 것이 최선이다.‘고품질’은 품질의 주요한 권한과 책임을 ‘개발자’에게 주는 것이고, ‘저품질’은 품질을 프로세스에서 검토하여 통보하는 방법으로 수행하는 것이다. 이는 개발 조직의 최대한의 역량을 ‘고품질’에 집중하게 하고, 단순 반복 테스트와 같은 업무를 소프트웨어 개발 조직에 있어서 가장 중요한 ‘개발 조직’을 효과적으로 활용하게 하는 것이다.물론, 이러한 품질 관련 업무의 가장 중요한 고려사항은 직장상사나 동료들과의 커뮤니케이션을 가장 중요시하게 된다. 이러한 업무의 대부분은 '신뢰'가 전제가 되어야 하기 때문이다. 또한, 여기서 가장 중요한 것은 '신뢰받는 직장상사'와 ‘신뢰받는 부서’의 업무지시가 가장 핵심이 되게 된다. 또한, 이러한 업무의 우선순위가 정치적/심리적 변화에 따라서 변화되는 요구사항은 제대로 된 업무가 아닌 것이 된다. 이 부분이 가장 중요하다.일반적으로 이해하고 있는 에자일의 핵심적인 요소는 위에서 잠시 설명한 ‘신뢰’를 어떻게 의사소통하느냐가 관건이다.결론적으로 이야기하자면 소프트웨어 개발업무에 있어서 ‘업무의 우선순위’를 결정하는 요구사항을 분석하는 데 있어서 최고의 핵심 요소는 다음의 5가지를 잘 정의하는 것이다.1) 업무의 가치2) 업무의 원천( 누가 만들고 요구한 것인가? )3) 기업의 가치 추구4) 직장상사와 동료의 가치 추구5) 고품질이 정말 필요한 업무의 구분이러한 4가지의 관점을 어떻게 정성적이고 정량적인 방법으로 도출하며, 이를 의사소통하여 공통 관심사를 형성하느냐에 달려있다. 하지만, 현대의 관료화된 조직의 대부분들은 쓸모없는 요구사항들이 상당수를 차지하며, 해당 조직의 스트레스에서의 핵심 요소가 된다는 점이다.이와 같이 업무의 요구사항들을 어떻게 구분하는 것인가부터 시작하는 것이 '요구사항 공학'의 기본적인 정의이다. 냉정하게, '업무의 가치'는 그 기업과 조직이 가지고 있는 '비전'과 '골'에 영향을 받는다.그러므로, 경영진이 가장 똑똑해야 그 기업의 가치가 증대된다. 언제나 이야기하지만 경영자의 삽질을 이길 수 있는 슈퍼 개발자는 존재하지 않는다. 그것은 기적이다.
조회수 917

혼자서 어찌어찌 하다보니 1억을 넘겼다.

연말이 되어가고 있어요. 그러니 매출과 비용정리를 해야해요. 세금을 내야하니까요. 어김없이 이 맘때쯤 되면 지난 한 해동안 뭘 얼마나 벌고 살았나...하면서 회고를 하게 되죠. 그 끝은 늘 우응어어어어엉 내인생은 망했어어어.... 통곡! 하나님! 애솔! 댐잇.... 뭐 이런 식인데 올해도 마찬가지였어요.젠장 갓대밋!하지만, 올해의 조금 다른 점이 있다면 나름 유의미한 목표수치를 넘겼다는 거예요. 연매출이 드디어..(4년만에) 1억을 넘겼어요. 작년이 5천이 조금 넘은 수치였으니 수치상으론 두 배로 뛰었네요. 기분이 좋아요. 그렇다고 남는 돈이 그만큼 남았냐.. 음음 그렇지 않죠. 돈은 늘 은행에 있는 거지, 나에게 있는 것이 아니예요.그냥 느낌적으로 유의미한 것 뿐이죠.사실 개인사업을 하면서 1억매출은 큰 게 아니예요. 오히려 4년만에 1억이면... 그동안 뭐했니?... 라는 소릴 들어도 시원찮을 액수랄까요..-.- 그런걸 생각하면 좀 시무룩하기도 하지만, 어차피 인생 다 마이페이스가 있는 것 아니겠어요? 내년에 또 두 배를 하면 되지! 라고 생각하고 그냥 덮으려고 해요. (정신승리)오늘의 글은 자랑이 아니예요.  한 해 동안 잘 먹고 살 수 있게 많은 도움을 주신 분들과 한 해를 대강 정리하며 좀 차분하게 생각해보려고 해요. 뭘 어떻게 해서 묵고 살았는지 말이죠. 그리고 내년엔 어떻게 묵고 살지에 대해서 말입니다.올 한해 디자인 작업을 도와준 녀석은 단명하신 제 2016년 그램과 새로 얻은 2018그램입니다. 맥이 있긴 하지만 녀석은 올해 좀 쉬었어요. 올데이그램이라곤 하지만 사실 올데이는 아닌 것 같고 그냥저냥 오래 잘 살아있다...는 느낌정도인 것 같아요. 그램의 최대장점은 그냥 가벼움이니까 가벼움으로 모든 걸 커버치겠어요. 타닥타닥 하는 가벼운 키감이 처음엔 시끄러워서 거슬렸는데 어차피 전 헤드셋을 끼고 일하니 제 타자소리가 들리진 않아요. 독서실같은 곳에선 일하기가 좀 그렇긴 하더라구요. 응 고생했어. 수고했으니까 청소해줄께또..음. 올 한해의 1등 BGM은 역시 나루토짱이었습니다. 나루토질풍전 ost는 차크라를 증폭시켜주고, 불의 의지에 대해 다시 생각하게 해주죠. 초심을 잃지 않게 만들어주는 훌륭한 배경음악이라고 할 수 있겠습니다.오레노 닌도다!또.. 올 해의 코스튬은 유니클로 후드티에게 영광을 돌리고 싶네요. 유니클로 보들보들 후드티는 가성비측면에서 가히 오진다고 할 수 있겠습니다. 특히 보들보들한 면소재때문에 엎드려 잘 때 볼에 닿는 느낌이 꽤나 좋다는 잔점(단점+장점)이 있습니다. 덕분에 잘 잤습니다. 마약같은 후드...자 그럼 헛소리 그만하고 1월부터 한 번 생각해볼께요.1월작년에 브런치에서 뿌앙! 터진 이후로 여기저기서 글써달란 의뢰가 몇 번 들어왔는데, 그 중 꽤 괜찮은 페이로 웹매거진 기고를 요청한 곳이 있었어요. S사였죠. 편당 70이었나? 그랬던 것 같아요. 6개정도로 호다닥 써서 드리게 되었죠. 페메로 연락이 왔고, 이래저래 커뮤니케이션의 미스가 있었어서 초반엔 좀 아리까리했었어요. 이게 맞나....? 싶었기도 하구요. 사실 다른 콘텐츠도 계속 만듭시다!~ 라고 했는데 상황도 상황이고, 뭔가 결이 좀 다른 것 같아서 리젝하게 되었답니다.하지만, 글로도 수익이 날 수 있다는 걸 알게 된 프로젝트여서 유의미했던 것 같아요. 그리고 책읽찌라 대표님이 서평써달래서 '생산성' 이란 책의 서평을 쓰고 소정의 용돈을 받았지요. (넙죽)작년12월부터 2월까진 부산에서 플젝을 했었거든요. 그때 저의 부산라이프를 행복하게 만들어주신 양대표님이 또 잊지않고 무슨 추가비용을 주셔서(뭐였는진 잘 기억이 안남..) 그것도 용돈이 조금 되었어요. 1월매출 = 250만원2월2월엔 서울로 호다닥 올라왔답니다. 부산생활이 끝난터라 적응도 안되고 막 정신도 없었지만...사실 올라오자마자 바로 미팅을 하고 일을 시작했어요. 뭐였냐면 S사의 웹소설 플랫폼을 만드는 일이었어욤. 사실 웹디자인은 그렇게 깊이있게 해본 적이 없어서 처음에 얼마나 후덜덜 했는지 몰라요. 사실 대표님께서 솔직하게 말씀드렸었거든요. 하아..이걸 내가 잘 할 수 있을 지 모르겄다...근데 그냥 하라고 하시더라구요. 개쿨했다. 3개월동안 세상 시원시원한 프로젝트를 했어요. 대표님이 이거 하자! 개발자님이 안된다! 나도 안된다! 대표님은 그래!하지말자! 이런 식의 우주적 커뮤니케이션을 경험했답니다. 이 세상 회의가 아니다.....아직 돈은 안받았어요. 돈은 3월, 4월에 걸쳐서 나눠 받기로 했지요.2월엔 1월에 하던 기고 잔액을 받았고..한 250만원? 정도 됬어요. 그리고 IR자료 하나 만들어드리고 한 200정도 받았던 것 같고, 브런치북 프로젝트 상금이 들어왔다는!! 세금떼고 96만원 정도가 쏘옥..(꽁돈기분).그리고 부산프로젝트 잔금도 이 때 들어왔어요. 200만원 정도. 그리고 서울에서 쪼꼬미하게 강연한거 17만원.2월매출 = 738만원3월3월엔 강의건이 크게 있었어요. 3일에 걸쳐서 18시간인가? 하는 극강의 온종일 워크샵이었죠. 포토샵이랑 기타 등등 스타트업에 취업하고 싶은 취준생들 대상으로 디자인실무 강의해주는 거였는데, 오랜만에 학식 돈까스를 먹어서 굉장히 뜻깊었습니다. 충남대까지 왔다갔다하면서 대전의 겨울을 맛보았죠. (다를게 없었음). 이것도 브런치 때문에 막 뜨면서 섭외가 들어온 건이었어요. 그걸로 한 300만원 정도 들어왔었어요.그리고 기획재정부 산하 KDI에서 프로젝트를 하나 맡아서 했었죠. 어떻게 알게 되었냐면..음 저랑 페친님이 제 브런치 팬이었는데..... 그 페친님이 자기 여친님께 절 소개했나봐요. 그 여친님이 KDI담당자분이셨고, 그렇게 저렇게 둘러둘러 연락이 오게 된 케이스랍니당. 전시관 소개서와 기타 등등 몇 가지를 만들고 320만원 정도.. 했던 것 같아요. 이건 능력자 디자이너님인 조경하 디자이너님과 함께했었어요!그리고 이 때 책 인쇄들어가면서 선인세 100만원 받았구, 아까 웹디자인 프로젝트 중도금 받았죠 :) 야호! 그리고 IR자료 만드는거 한 건 더들어와서 400만원 플러스!3월매출 = 1,891만원4월아까 KDI에서 추가로 백드롭월이랑, 현수막 등 제작 몇 개 맡겨서 그거 한 건 처리했어요. 그리고 웹디자인 프로젝트 끝나면서 잔금+추가비용 받았죠! 4월은 웹디자인 마무리 짓고 드러누워 요양하느라 아무것도 못한 달이예요... 4월매출 = 925만원5월얼레?강의 한 건 뛰고..암 것도 안함.. 요양(사실상 강제요양..일 안들어옴..)5월매출 = 42만원6월어떡하지...6월도 암것도 ..안...아니 못함... 일 하나도 안들어와서  내 인생은 종착역을 발견한 여름이었어요. 돈 좀 벌었다고 새로 이사하면서 무인양품에서 250만원 어치를 사서 들여왔는데 아씨..내가 왜 그런 짓을 했을까..를 하루12번 되뇌었죠. 혹시라도 이것을 중고나라에 되판다면 착불로 해야하나 어째야하나 진지하게 고민해보기도 했습니다.6월매출 = 0원7월KDI에서 포스터를 만들어달래서 야호!!! 거렸어요. 사실 공공기관 포스터는 딱히 큰 비용은 아니지만..그래두 지난 2달간 10손가락을 번갈아 빨아먹으며 연명하던터라 마냥 기뻤죠. 그리고 Y사에서 회사 아이덴티티를 위한 워딩(회사소개문구와 슬로건 등)을 짜달라는 의뢰가 왔어요. 싱기방기... https://brunch.co.kr/@roysday/218이것을 참고해주세용!~ 이 일과 더불어 강의 2개 정도를 뛰었어요. 작년부터 잡코리아와 계속 일을 하고 있는데, 올해도 어김없이 불러주셔서 간간히 예상치 못한 용돈을 받고 있지요. 7월매출 = 275만원8월휴우 살았다. 보릿고개 클리어8월엔 신촌에 박스퀘어라는 소상공인 플랫폼이 만들어지면서 거기 입점매장 대상으로 브랜딩을 도와주는 역할을 조금 했어요. 이 때 담당하시던 이사님이 예전에 제가 잡코리아에서 강의할 때 그 때 연을 맺게 된 분이었는데 나오셔서도 찾아주시더라구요 :) 너무 감사함...그리고 패스트캠퍼스에서 강의를 3개월간 쭈우우우욱....진행했던 게 끝나서 비용을 톡 받았고. 강의 4개정도 뛰면서 다시 삼시세끼를 챙겨먹게 되었어요.8월매출 = 360만원9월박스퀘어 브랜딩을 계속 진행했어요! 그리고 두번째책을 웨일북과 계약하면서 선인세를 조금 받았답니다. 9월은 계속 박스퀘어 일을 하면서 후다다다다닥 바빴던 것 같아요. 그리고 이 때 아주 소중한 인연을 맺게 된 분이 생겼죠.9월매출 = 292만원10월9월은 사실상 한 템포 쉬어가는 달이었어요. 사실 이땐 비수기라기보단 한참 프로젝트가 될랑말랑하다가 다 엎어져버린 달이었거든요. 루이까또즈랑 대전시랑 뭐 이것저것 있었는데..프로젝트가 연기되고, 캔슬되고, 비딩떨어지고 뭐... 이것저것 우주만물이 저보고 아무것도 하지 말라고 외치는 듯한 기분이었어요. 잠시 멘붕을 겪을 뻔 했는데.... 10월이 대박쓰. 계속 자료가 안와서 하는건지 마는건지 애매하던 프로젝트가..오픈되었고. IR과 원페이지 회사소개서 제작이... 시작되었죠. 약 20개업체의 소개페이지를 제작하기 시작했어요. 10월은 그거 쳐내느라 정신을 못차렸어요. 그 프로젝트의 계약금을 받았답니다! 참고로 이 클라이언트님과는 두 해째 함께 하고 있는데..정말정말 클리어하고 깔끔하세요. 정말 뒤끝도 자잘한 간섭도 없고 원하는 것만 빨리 정확히 잘 만들어드리면 바로바로 오케이 해주시는... 하아.. 열두번 절받으세요.10월매출 =  1571만원11월이번 달이예요. 이번달은.... 그 20개업체가 다 끝났어요. 그리고 추가 외국 스타트업들의 IR자료...그것 더하기 또 다른 지원사업에 참여하는 스타트업들의 소개서제작..(또 20개업체...) 등등 뭐 엄청나게 우르르르르 제작을 해야해요. 이번달은 네 그냥 딱 내 몸은 클라이언트의 것이다..생각하고 자본주의의 섭리에 저를 내맡기려고 합니다. 이 프로젝트는 1월10일까지 계속되요!!~그리고 패스트캠퍼스 두번째 강의가 오픈되었고....강의가 5개정도 잡혔고... 책도 쓰고 있고...(11월 뭐지?!)....그렇습니다. 11월매출 = 1476만원12월12월은 아마 잔금들이 우르르 들어오겠죠. 12월10일부턴 잠시 여행을 슝 다녀올 계획이지만...지금 상태라면 아이슬란드의 오로라를 보면서도 오브젝트 선 따고 있어야 할지 모르겠다는 생각이 들어요. 여튼 12월엔 잔금이 호로록 들어오면.. 이제 올해의 매출이 땋 끝나고..종소세 신고를 해야하죠. 12월매출 = 2,224만원그래서..이것저것 막 다 합쳐보니 1억 4백만정도가 나왔어요. 증말 간신히...턱걸이로 넘겼네요.지난 1년간 하루는 널널하고 하루는 지옥같은 일상이 반복되었던 것 같아요. 하지만 다행스럽게도 저와 함께 일해준 클라이언트님들과 협력업체 사장님들, 동료디자이너님들이 너무너무 좋으신 분들이어서 또 이렇게 행복하게 1년을 마무리 지을 수 있었습니다. 이빨까는 게 아니라 진심입니다.올해 1월엔 과연 올해 내 목표매출을 찍을 수 있을까...하고 엄청 고민하고 불안해했었어요. 작년에 브런치글이 여기저기 퍼지면서 연락이 많이 온터라 부담도 되었고... 이 성과가 내 것이 아닌 것 같아서 방향을 잡기가 어려웠거든요. 하지만...정말 이 대표님의 말처럼(제가 존경하는 멘토님..) 사업은 생각하고 고민하는게 아니라 행동하는 거라는 말이 맞는 것 같아요. 그냥 하다보니 이렇게 왔고.. 의도하지 않았지만 의도처럼 되어버리기도 하거든요.전 여전히 내년을 걱정하고 있어요. 내년에도 또 새롭고 신기한 것들을 해볼 생각인지라 설레기도 하지만... 여전히 두렵고 떨리죠. 하지만.. 내년에도 여전히 좋은 사람들이 많을 거고, 제 그램도 쌩쌩 잘 돌아갈 것 같아요. 과감하게 두 배 매출을 한 번 고려(?)해보려고 합니다...뭐 어케 되겠지.고려를 하겠다고 했지 할 수 있다고는 안했다.
조회수 1748

도떼기마켓 Sell 성장 스토리

쇼핑보다 더 쉽고 즐겁게 판매할 수 있을까요?2015년 3월, 도떼기마켓은 당신의 입지 않는 옷을 직접 구입하기 시작하였습니다.그리고, 1년 9개월여 간 관심과 사랑으로 이렇게 성장했습니다.# 도떼기마켓 판매자 & 판매 물품2016년 12월 1일을 기준으로 접수 물품 10만 건, 접수 판매자 2만 8천여 명을 돌파하였습니다.중고 거래라고 하면 평화로운 그곳을 이용하거나, kg당 몇 백원으로 넘겨 버리는 것이 전부라고 생각했다면 착각!도떼기마켓으로 쉽고 편하게 중고 의류를 판매하시는 분들이 꾸준히 증가하고 있습니다. # 도떼기마켓 판매 트렌드도떼기마켓 판매 현황을 보면, 중고 의류 거래에 대한 트렌드를 읽을 수 있습니다. 도떼기마켓을 통해 가장 많이 판매한 상품은 티셔츠였습니다. 매입된 전체 상품 중에 16.5%가 티셔츠였다는 사실!남녀 공용으로 가장 캐주얼하게 입는 아이템이기 때문이겠죠.가장 많이 판매된 브랜드는 글로벌 SPA 브랜드 간의 경쟁이었습니다.  ZARA가 11.8%의 비율로 11.4%의 H&M을 근소한 차이로 누르고 1위를 차지한 것.대표적인 패스트패션으로 꼽히는 두 브랜드가 도떼기마켓을 통해 새로운 의미와 가치를 만들어 내고 있답니다. 최다 판매 지역은 더욱 놀라운 결과를 보여주었습니다. 서울 강남구 13.1%, 서울 송파구 5.5%, 서울 서초구 4.7%로 도떼기마켓에 판매된 옷 중 23.3%가 강남 3구에서 들어온 것으로 나타났기 때문입니다.강남 중고 의류가 헌 옷 수거함에 간다는 것은 옛말, 놀라운 컨디션의 상품들은 모두 도떼기마켓에 판매되고 있습니다.# 도떼기마켓 판매 기네스북입지 않는 옷을 담아 보내는 클린업백에는 가벼운 티셔츠라면 20벌 이상, 두툼한 겨울 코트라도 3~4벌 이상 여유 있게 들어갑니다. 판매한 브랜드와 컨디션 등에 따라 놀라운 판매 금액을 제안받을 수 있죠. 최대 판매 금액은 무려 159만 원! 1개의 클린업백은 아니지만, 여러 차례 이용하시면서 가장 많이 판매한 분의 누적 금액은 무려 325만 원에 달했습니다.옷장 정리도 하고, 용돈도 버는 일석이조의 효과.# 도떼기마켓 누적 클린업백 이야기전국 방방곡곡에서 도착한 클린업백의 무게와 크기를 더하면 어마어마합니다.클린업백을 통해 접수된 아이템의 무게는 무려 8,000 kg! 8톤! 귤 박스로 환산시 1,600박스에 해당하는 엄청난 무게입니다. 이렇게 들어온 클린업백을 펼치면, 잠실야구장 2개 크기에 육박하죠.# 도떼기마켓 X 굿윌스토어판매자분들이 보내주신 옷들 중 판매되지 않는 옷들이 있습니다. 이런 옷들은 돌려받거나 기부를 선택할 수 있고요.기부를 선택할 경우, 국내 최대 오프라인 기증품 판매점이자 장애인 직업 재활 시설인 굿윌스토어를 통해 기부합니다. 2015년 11월부터 매달 기부가 진행되어 누적 수량이 2만 점을 돌파하였습니다. 금액으로 환산 시 1억 1천만원에 해당하는 어마어마한 양이죠. 도떼기마켓을 이용하는 고객이 늘어날수록 기부에 참여하는 고객들도 함께 늘어나 그 의미가 더욱 깊습니다.집에 안 입는 옷 많으시죠?사놓고 몇 번 입지 않은, 상품택조차 그대로 있는 옷장 속 아쉬움들.더 이상 버리지도, 낯선 사람과 중고 거래하지도 마세요.도떼기마켓에 그저 보내주세요. 바로 현금으로 바꿔드리겠습니다.#유니온풀 #도떼기마켓 #서비스 #서비스소개 #고객가치
조회수 1169

스위처 스토리펀딩 종료

지난 1월 25일을 끝으로 44일간, 6편의 글을 연재했습니다. 그리고 35,938,017을 달성하였습니다. 이 숫자를 보고 머릿속에 드는 생각은 다 다를 겁니다. "아이고 기태 잘했네" 하는 사람, "기태 별로네" 하는 사람. 성공의 평가 기준은 주관적이라고 생각합니다. 저는 그저 결과가 나온 과정과, 그 과정의 이유(왜 이런 일을 했는지)에 대해 얘기해주면 독자는 좀 더 객관적으로 생각할 수 있지 않을까? 생각합니다.제가 쓰려는 글은 자랑도, 반성도 아닌 내가 했던 일을 되돌아보고, 결과를 정리하기 위함입니다. (근데, 사실 후자에 가깝습니다.) 위에서 얘기한 결과(숫자)가 나오기까지의 과정, 그 과정의 이유를 정리하기 위함입니다. 그럼 제가 가지고 있는 사고의 한계를 넘어설 수 있지 않을까? 생각합니다.스토리펀딩을 준비하시나요?아님 스타트업에서 마케팅을 하고 계신가요?스토리펀딩을 돌아봅니다. 필요하다? 궁금하다? 싶으면 조금만 기다려주세요. 내용은 다음과 같습니다.(공개는 2월 5일, 일요일 저녁입니다. 빨리 끝나면 빨리 올리고 맥주를 마실 거예요.)1. 스토리펀딩 성과 정리- 스토리펀딩 진행 전 반드시 알아야 할 것2. 스토리펀딩의 목표 (이루고자 한 것)- (1) 목표금액- (2) 스위처 슬로건 변화3. 목표금액 달성을 @을 왜(why?), 어떻게(how) 했는가- (1) 예열 작업- (2) case study- (3) A/B testing4. 스위처 슬로건 변화를 위해 @을 왜(why?), 어떻게(how) 했는가- (1) '귀차니즘' 없애기- (2) 만나야 할 사람 만나기- (3) 메인 영상을 대체할 콘텐츠5. 결과(* 글이 조금 수정될 수 있습니다. 양해해주세요. )궁금한 게 있다면?그냥 써서 올려도 되지만, 고객을 대하듯. 이 글을 읽을 분들이 무엇을 궁금해할지 알면 좀 더 도움이 될만한 글을 쓸 수 있을 것 같습니다. 위 내용과 별개로 궁금한 게 있다면 댓글을 남겨주세요. 확인 후 추가하도록 하겠습니다. (또, 제가 생각하지 못했던 부분도 생각할 수 있으니깐요.)#스위처 #Switcher #콘텐츠 #펀딩 #스토리펀딩 #경험공유 #인사이트 #후기
조회수 2984

경험 부족한 스타트업의 devops 도입기 1편

개발과 운영을 함께 devops - 출처당분간의 일기 내용앞으로 몇 개월 간 신생 스타트업 I/O가 어떻게 devops를 자기네만의 스타일로 조직에 안착시켜 나가는지 그 시행착오를 생생하게 공유하는 일기를 쓰려고 합니다.첫 번 째 편인 오늘의 이야기는 두 가지 내용을 다룹니다.devops 도입배경: 어떻게 하다가 devops를 도입하기로 했는지 그 배경에 대에서 이야기 합니다.devops 필요성 인지: 가장 먼저 소프트웨어팀이 devops 필요성을 느끼도록 시도한 스터디 세미나에 관한 이야기를 합니다.devops 도입 도중에 실패할 수 있습니다. 그래서 1편이 마지막 연재일 수 있습니다. 혹은 온갖 개고생을 해가면서 결국 devops를 성공적으로 조직에 안착시켜 tech기업다운 모습을 갖출 수 도 있습니다. 정답은 시간이 얼마간 흐른 뒤에야 알 수 있겠죠? 무언가를 조직에 도입하는 스토리를 사후적으로 그러니까 프로젝트가 끝난 후에 쓰게된다면 프로젝트 과정의 생생함이 퇴색됩니다. 힘들었던 추억도 되돌아보면 미화되듯이 그 당시에 골치아팠던 일들을 그 당시에 써놓지 않으면 까먹을 때가 꽤나 많습니다. 한 편으로는 이렇게 칼자루를 뽑아놔야 반드시 devops를 성공시키기 위해 제가 더 처절해질 수 있을 것 같습니다. 제 나약한 마음이 바뀌지 않기 위해 devops 시작과 동시에 연재물도 함께 시작하겠습니다.devops 도입배경스위처 M 앱이 출시된지 약 한 달 정도 되었습니다.경영을 해오면서 항상 위기의식을 느끼고 있지만 이번에는 조금 심상치 않았습니다.“아.. 라이브서비스를 하기엔 현재 I/O의 소프트웨어 역량이 심각하게 부족하구나! 하드웨어 역량이 Critical Path일 줄 알았는데 되려 소프트웨어가 우리의 발목을 잡고 있구나..”그동안 하드웨어 멤버들은 초심자의 마음과 책임감을 동시에 갖고 무서운 속도로 성장해왔습니다. 새로운 버전의 스위처(M)에 적용된 기구설계 수준, Supply chain 관리 능력, 블루투스 모듈 성능은 이전 버전(W) 비할바가 안됩니다. 놀랄만큼 일취월장 했습니다. 단적인 예로 현재 스위처M의 블루투스 연결 거리는 오픈필드에서 70m이상 나옵니다. 이전 세대인 스위처W의 연결거리가 약 20m 미만임을 감안하면 연결성이 300%이상 좋아졌다고 볼 수 있습니다.반면 소프트웨어팀은 여전히 초보적인 수준을 벗어나지 못하고 있습니다. 전공분야라는 자만심에 소프트웨어를 밑도 끝도 없는 구렁텅이에 밀쳐 넣고있는 제 자신을 발견 했습니다. 창피했습니다. 가장 중요하다고 볼 수 있는 초기고객으로부터 어처구니없는 버그 리포팅을 받을때면 쥐구멍으로라도 숨고 싶었습니다. Customer Service역할까지 도맡아하는 마케터가 수 많은 컴플레인을 대응하느라 정말 고생이 많았습니다.심각한 문제는 소프트웨어팀이 문제의 원인이 무엇인지 조차 잘 모르고 있다는 사실이었습니다. 그저 열심히 다음 피쳐를 개발하기 위해 코드를 짜내는 데에만 자신을 몰아붙이고 있었습니다.그 모습은 한 편의 코메디 영화를 보는 것 같았습니다.<디버깅루프>(1) 배포한 기능에 버그가 처음으로 발견됩니다.(2) “엇 이상한데? 그럴리가 없는데?” 일단 현실을 부정하고 지켜봅니다.(3) 한 두 명의 문제가 아니라는 버그리포팅이 들어옵니다.(4) 부랴부랴 원인을 추측하고 핫픽스 코드를 짜기 시작합니다.(5) 개발을 마치고 일단 배포해 봅니다.(6) 그런데 해결될 줄알 았던 버그가 다시 보고됩니다.그렇게 상황은 2번으로 돌아가 이 디버깅루프를 몇 바퀴 돌고난 후에야 잠잠해집니다.하하… 개판이구나 — 출처:구글 이미지 검색허나 이미 많은 고객들이 불쾌한 UX를 겪고 난 뒤… 이대로는 도저히 구상하는 I/O의 큰 그림에 도달할 수 있을 것 같지 않아, 당분간 제가 CTO역할을 도맡아서 하려고 합니다. 벤 호로위츠가 쓴 Hardthing에서 C-level의 포지션이 비어있을 경우 진짜 적임자가 나타나기 전까지는 그 역할을 CEO가 직접 수행하기를 권장합니다. 이제까지 바쁘다는 핑계로 조직 부채, 기술 부채를 안고왔었는데 최근 Event3 사고를 겪으면서 이젠 이 부채들을 털어내고 나아가야 겠구나 결심하게 되었습니다. 직접 현장으로 다이빙해서 소프트웨어 엔지니어들과 함께 악전고투하기로 했습니다.린스타트업에서 말하는 5-why기법을 적용해보니. 근본적인 원인은 이것이였습니다.주먹구구식으로 Product Live service가 운영(operation)된다.엔지니어들의 코드 퀄리티가 낮아서가 아니었습니다. 알고리즘을 몰라서가 아니었습니다. 디자인 패턴을 몰라서도, 함수형 패러다임을 이해하지 못해서도, 동시성 문제를 몰라서도가 아니었습니다. 되려 I/O의 소프트웨어 엔지니어들의 CS 기본기는 나쁘지 않습니다. 저희는 엉클밥, 켄트백, 마틴파울러를 존경합니다.바보야, 문제는 코딩이 아니야!문제는 경제가 아니야, 바보야!저희 팀의 제일 큰 문제점은 그냥 예전 처럼 새로운 feature 코드를 찍어내는일이 Product Live service operation의 전부라는 사고방식입니다. 배포되는 코드가 얼마나 신뢰할만한지에 대한 고민은 전혀 없고 밀어내기식으로 다음 기능을 추가하는 데만 몰두했습니다. 실상 지금의 스위처에는 새로운 기능을 추가하기위해 코딩을 할때가 아니었는데 말이죠. 쿼리 속도를 높이기 위해 인덱싱을 고민 할 때가 아닌데 말입니다. 정작 Product Live service operation에 필요한 일들(tasks)을 수행하고 있지 않았기 때문에 이 문제가 발생한건데 말이죠.린스타트업의 MVP 관점을 포기하고 완벽한 제품을 내보낸다는 의미가 아닙니다. 그 Minimum Viable Product 조차 제대로 작동이 못시키는 문제를 바로잡기 위해서 입니다. 스크럼으로 조직 tasks를 관리해왔지만 소프트웨어팀은 devops로 거듭나야할 때가 왔음을 느꼈습니다.최소한의 검증 절차도 없이 버그가 담긴 소프트웨어가 고스란히 고객에게 전달되는 악몽을 더 이상 마주해선 안됩니다. 불편함을 겪는 고객을 위해서라도 경쟁력을 잃어가는 조직을 위해서라도 곁에서 힘들어하는 동료들을 위해서라도 소프트웨어팀은 변해야만 했습니다.devops 필요성 인지멤버들에게 제가 방금까지 이야기한 문제점을 전달하고 각자 devops가 무엇인지 공부하기로 했습니다. 일주일간 리서치를 마친 후 한 명씩 돌아가면서 devops가 무엇인지 발표하는 세미나를 진행했습니다. 결론부터 말해 devops 필요성에 대한 공감대 형성은 성공적으로 첫 걸음을 뗀듯 합니다. 모두들 세미나를 준비하면서 그동안 무엇이 문제인지 조차 모르는 상황은 벗어나 보였습니다. 한 명쯤은 “devops는 필요없습니다. 지금처럼 해도돼요!”라는 반응을 예상하기도 했는데, 모두가 겸손의 자세로 지금까지의 문제를 반성하고 변화의 필요성을 절감했습니다. 끊임없이 성장하려는 자세를 가진 I/O 멤버들에게 참 고맙습니다.우린 여기에서 어디쯤..?펌웨어 개발자는 우리의 현재 모습이 위의 그림에서 나오는 원숭이조차 안되는 것 같다고 고백 하기도 했습니다. 그만큼 I/O 소프트웨어팀은 변화를 갈망하는 단계로 무사히 넘어왔습니다. 성공적으로 devops의 필요성 공감대를 형성 시킬 수 있었던 요인은 slow-start 덕분인듯합니다. 초기 고객분들이 실험대상이 된것 처럼 말해 죄송하지만, 작은 규모로라도 Live를 진행하고 거기서 작게나마 사고를 치도록 내버려둔 환경이 devops의 필요성을 받아들이는 데 큰 역할을 했습니다.만약 처음부터 무리해서 스케일업을 시도했다면 그래서 감당할 수 없는 수준의 사고가 동시다발적으로 터졌다면 저희는 자멸하고 말았을 겁니다. 아니, 기다리는 많은 고객들의 기대감에 지레 겁먹고 최대한 소프트웨어 출시 일정을 늦췄겠죠. 그리고 그렇게 절벽에서 등 떠밀리듯이 제품을 출시해서 줄을 잇는 버그 리포팅을 받아보며 평정심을 잃고 말았을 것입니다. 그러나, 감당할 수 있는 수준으로 제품 판매수량을 조절했기 때문에 개발자가 문제를 직시해볼 기회를 가졌고 devops의 필요성은 조직에 쉽게 받아들여질 수 있었습니다.물론 devops 세미나를 진행하면서 안좋은 냄새(징조)를 맡기도 했습니다. 저에게는 행운이죠. 사전에 미리 문제를 파악할 수 있어서. 그 냄새는 도구만능주의 였습니다. devops 도달하기 위해서는 시중에 존재하는 다양한 tool들을 최대한 빠르게 도입해야 할것만 같은 느낌을 말합니다. devops tool들만 제대로 구축한다면 devops도 저절도 실현될것 같은 기대감에 젖습니다. 이 도구만능주의가 만연해지면 devops의 본질은 보지 못한 채 최신 tool 사용에만 집착하게되는 오류를 범하고 맙니다.다행이 I/O의 도구만능주의는 심각한 수준까진 아니고 누구나 초기에 충분히 실수할 수 있는 미약한 수준이었습니다. 사실 제가 예전 스타트업에서 스크럼을 도입할 때도 빠졌던 도구만능주의가 묘하게 겹쳐보여서 낌새를 비교적 빠르게 눈치 챌 수 있었습니다.출처 : 구글 이미지 검색devop는 문화와 운동(movement)입니다. 즉, 무형에 가까운 개념입니다. tool이 아니라 행위(action)와 사상(idea)에 역점을 둬야 합니다. tool은 그저 거들 뿐이죠.간단한 사고실험을 해보겠습니다. 모든 microservices의 설정들을 chef와 puppet으로 관리하고 뱀부나 젠킨스로 빌드-배포-리포팅 파이프라인까지 구축한 devops팀이 있다고 가정해 보겠습니다. 달리 말해, 이 팀은 커맨드 입력 한 번으로 방금 짠 코드를 고객에게 배포할 수 있습니다. 어느날 이 팀에 속한 개발자 A가 지난 일주일간 개발해온 피쳐를 지금 막 마무리 지었습니다. 이어서 A는 devops tool로 구축한 배포 파이프라인 이용해 아주 간단하게 새로운 기능을 업데이트 하기로 했는데요. 과연 괜찮을까요? 최신 devops tool로 중무장 했으니 문제가 없을 것 같습니다. 잠시 후 그렇게 배포된 기능을 써본 고객들이 컴플레인을 걸어옵니다. 잠시 화장실을 다녀온 엔지니어는 허겁지겁 hotfix 코드를 다시 짭니다. 그래도 괜찮습니다. A가 속한 팀은 최신 devops tool이 구축되어 있기 때문에 금방 hotfix를 재배포할 수 있으니까요. 그런데 이장면 어디서 익숙하지 않나요? 앞에서 소개한 디버깅루프와 비슷해 보입니다.출처 : 구글 이미지 검색과연 이게 devops일까요? tool들을 전부 사용하는게 진정 devops의 실현일까요?코드를 리뷰하지도 자동화된 테스트 코드를 실행해보지도 않은 상태에서 지속적 배포는 그저 똥을 더 자주 고객에게 전달하는 것과 다르지 않습니다.높은 품질의 제품은 보장할 수 없습니다. 그렇다면 우리는 무엇부터 해야할까요?Next Iteration저는 장황한 계획을 혐오합니다. 계획을 짜내느라 쏟는 에너지와 시간이 너무 아깝고 무엇보다 계획대로 진행될 확률이 낮기 때문입니다. 대신 저는 스타트업 환경에 맞는 방식으로 일하기를 선호 합니다. 비교적 긴 시간이 필요한 프로젝트 성격의 일을 할 땐 북극성의 위치만을 기억합니다. 쉽게 말해 우리가 산출해야하는 프로젝트 결과물만 생각합니다. 북극성까지 도달하는 정해진 길 따위는 없다고 가정합니다. 혹시 있었다 해도 그냥 잊어버립니다. 스타트업의 리스크는 워낙 변화무쌍하거든요.계획 대신 무던히 아래 두 가지 행동을 반복합니다.(1) 고개를 들어 몸이 북극성 향하도록 합니다.(2) 고개를 숙여 한 발짝 전진합니다.출처 : 구글 이미지 검색프로젝트가 끝날 때 까지 위의 두 가지 과정만을 반복하려고 합니다. 저는 이 과정을 baby step이라고 하는데요. 욕심내지 않고 작게 작게 한 번에 하나씩 차근차근 진행하는 방식입니다. 지금 내 딛은 한 걸음이 틀릴 수도 있습니다. 그러나 괜찮습니다. 한 걸음 나아간 다음에는 반드시 고개를 들어 내가 북극성과 가까워졌나 멀어졌나 확인하면 되거든요. 방향이 맞다는 판단이 서면 한 걸음 더 나아가고 틀린 예감이들면 방향을 조절하면됩니다. 만약 판단이 애매하면 더 끌리는 쪽을 택하면 됩니다. 단, 절대 바닥만을 주시한채 두 걸음 이상 걷지 않습니다.devops까지 도달하는 데 지름길은 전혀모릅니다. 하지만, devops라는 북극성은 저에게 명료하고 분명한 목표입니다. devops에 조금이라도 가까워지기 위해 지금 당장 해야하는 가장 중요한 일이 무엇인지 세미나를 진행하면서 그리고 세미나를 돌아보면서 치열하게 고민했습니다. 그렇게 집중하고나니 당장해야 하는 일 3가지는 다음과 같았습니다.(1)코드리뷰(2)테스트코드 작성(3)이슈 관리 프로세스이 세 가지의 일이 정답이 아닐 수 있습니다. 정답인지 아닌지는 얼마간 시간이 흐른 후에야 알 수 있겠죠? 다만, 저희는 늘 저희가 하던 방식대로 용기를 갖고 baby step을 무던히 수행해 나갈 것입니다. 다음화는 위의 세 가지 일을 진행하면서 겪은 시행착오를 공유해 보도록 하겠습니다.긴 글 읽어 주셔서 고맙습니다.#스위쳐 #Switcher #DevOPS #데브옵스 #개발자 #개발 #개발문화 #디버깅 #버그수정 #인사이트
조회수 9317

아이폰 X를 위한 디자인 가이드    

아이폰 X가 11월3일 정식으로 출시됩니다. 이번 모델은 1125x2436픽셀을 자랑하는 슈퍼 레티나 디스플레이를 장착하고 나오죠. 상단에 파인 홈 부분을 통해 미래지향적인 얼굴 인식 기능을 쓸 수도 있습니다.이 아름다운 기기의 디자인은 조금 새롭고 도전적일 수도 있지만, 또한 새로운 디자인의 가능성을 보여주기도 합니다. 액정의 너비를 따져 봤을 때는 아이폰 6, 7, 8과 같죠. 하지만 높이는 145pt만큼 증가해서 기존보다 20%정도 늘어났습니다. 예전에 @ 1x 이미지를 디자인 할 때는 375x812 픽셀의 아트보드가 필요했었죠. 하지만 이번에 새롭게 도입된 레티나 디스플레이 때문에 아이폰 X는 아이폰 8처럼 @ 2x 에셋을 사용할 필요가 없습니다. 대신에 아이폰 7-8 플러스처럼, @ 3x 에셋을 이용해 이미지를 내보내면 되죠.당신이 UI를 디자인 할 때, 이 기기의 새로운 기능들(OLED 디스플레이, M자 상단 디스플레이, 없어진 홈 버튼 부분)이 당신의 UI를 방해하지 않도록 해야겠죠. 또한, 기존의 홈 버튼 부분은 스크린의 하단부에 작은 줄의 형태로 남아있습니다. 이곳을 손가락으로 살짝 밀어주면 전처럼 홈 화면으로 돌아오고 다른 작업들도 할 수 있게 되죠.^ See that white line, that’s the new home indicator.당신의 앱이 기존의 iOS 구성을 벗어나지 않는다면, 그것들은 이 새로운 iPhone에 자동적으로 적용이 됩니다. 거기엔 네비게이션 바, 테이블, 그리고 탭 바까지 포함되죠. 그것들은 자동적으로 새로운 iPhone에 맞춰서 옮겨지게 됩니다.^ iPhone 8 design on the left, automatically adapted to the iPhone X on the right만약 당신이 커스텀 레이아웃을 쓰고 있다면, 그 앱을 새로운 스크린에 맞게 업데이트 해 줘야 할 겁니다. 그것도 당신이 만약 Auto Layout 기능을 쓴다면 훨씬 더 쉬워지겠죠.바로 시작해봅시다우선, 이 기기의 디자인을 받아들일 필요가 있겠습니다. 이걸 개발한 애플 직원들은 이 비싼 하드웨어의 놀라운 기능들을 숨기기 위해서 이렇게 노력한 건 아닐테니까요.풀 스크린을 사용하도록 하세요. 스크롤 뷰가 화면 하단의 곡선 디스플레이 부분을 넘어가도 좋습니다. 또한 애플은 상단부의 M자 부분과 하단의 휘어진 디스플레이 부분을 가리지 않는 것을 권장합니다. 왜냐면 그곳을 검은색 바 같은 것으로 가려버리면 그건 디자인적으로 아이폰 8과 다를 게 없으니까요.새로운 상단바. 디스플레이어의 상단부에 있는 센서가 중간에 위치하기 때문에, 상단바가 양쪽으로 갈라지게 됐습니다. 당신이 UI를 디자인할 때 이 공간을 활용해서 뭘 할려고 한다면, 인터페이스를 업데이트 하는 게 좋을 겁니다. 왜냐하면 iPhone X는 더 길어졌기 때문이죠. 이 달라진 높이 때문에 당신의 UI를 상당히 많이 바꿔줘야 할 겁니다. 또한 상단바의 높이를 동적으로 바뀔 수 있게 만들어 주세요. 이번 새로운 아이폰의 좋은 점 중 하나는 보통은 상단바가 동적으로 바뀌지만 전화를 걸 때나 네비게이션 앱을 쓸 때는 높이가 바뀌지 않는다는 부분입니다. 이점은 예전 아이폰에선 문제가 됐었죠.^ split and taller status bar새로워진 스테이터스 바를 가리지 마세요. 만약 당신이 스테이터스 바를 가리려고 생각한다면, 그 결정을 재고해 보시길 바랍니다. 아이폰X는 스크린이 더 커졌기 때문에 컨텐츠를 넣을 공간도 더 생겼죠. 그러니 스테이터스 바를 가리지 않는게 좋을 겁니다. 유저들은 이 바를 통해 유용한 정보를 얻을 수 있을 것이고 그 공간은 어차피 다른 UI를 쓸 때 거의 사용되지 않으니까요.풀스크린 이미지를 쓰세요. 만약 당신이 풀스크린 이미지를 쓰고 있다면, 그것들을 새로운 iPhone을 위해 업데이트 해 줘야 할 겁니다. 아래 사진처럼 잘린 부분이나 그 밖의 핵심적인 부분이 안 보일 수도 있기 때문이죠.액정 하단부에 인터페이스를 넣지 마세요. 긴 선 모양의 홈 부분은 오직 손가락의 움직임만을 캐치하기 위해 만들어졌습니다. 이 근처에다가 버튼을 둔다던가 하는 것은 좋은 생각이 아니에요. 유저들은 아마 실수로 홈 부분을 건드리게 될 것이고 그러면 당신의 UI에 접근하는 게 어려워질 겁니다. 하지만 탭바나 펑션 바에 그것들을 둘 수는 있을 거에요. 즉, 단지 홈 부분 주변에만 두지 말라는 거죠.홈 부분(기존에 홈 버튼이 있던 부분)을 숨기려 하지 마세요. iOS 자체적으로 당신의 앱에서 홈 부분을 숨길 수 있게 해주기 때문이죠. 유저들이 스크린에 몇 초간 손을 대지 않으면 자동적으로 사라지게 됩니다. 당연히 손을 대면 다시 나타나죠. 비디오나 사진을 볼 때 사용되는 몰입형 인터페이스를 쓴 것입니다. 또한 홈 부분은 당신의 앱 배경 색에 맞춰서 자동적으로 색깔이 달라지게 되어 있습니다.더 많은 색깔을 써보세요. 새로운 슈퍼 레티나 디스플레이는 기존의 sRGB 대신에 DCI-P3를 이용해 스크린에 보여줍니다. 즉 더 풍부하고 선명한 색깔을 보여줄 수 있다는 것이죠. 특히 비디오와 사진 기능이 이 광범위한 색깔로 인한 혜택을 받게 될 것입니다.손가락을 이용한 움직임에 익숙해지세요. 홈 버튼이 없어졌기 때문에, 이제 당신은 손가락으로 밀어서 아이폰을 조작해야 합니다. 위로 밀면 홈 화면으로 돌아오거나 멀티 태스킹 뷰 모드로 전환할 수 있죠. 왼쪽이나 오른쪽으로 밀면 그 앱들을 선택할 수 있습니다. 액정 상단에서 아래로 밀어주면 알림이나 제어 센터로 이동할 수 있죠. 게임 같은 경우에는, 기존에 위나 아래로 미는 iOS의 기본 움직임을 무시하고 당신만의 움직임을 설정할 수 있습니다. 새로운 기능인 ‘edge protect’를 쓰면 앱에서 설정한 손가락 움직임을 먼저 인식하고, OS의 움직임을 나중에 인식할 수 있게 되죠. 하지만 이 기능을 너무 많이 쓰는 건 권장하지 않습니다. 왜냐면 기존 아이폰 시스템에 익숙한 유저들이 혼란을 느끼게 될 수 있으니까요.Face ID를 써보세요. 이전 iPhone의 가장 큰 특징이라면 터치 ID겠죠. 이는 유저들로 하여금 지문을 이용해서 장치의 잠금을 해제할 수 있게 했습니다. 이 기능은 원래 홈 버튼에 붙어있었지만, iPhone X에서 홈 버튼이 사라지면서, 애플은 이 기능을 좀 더 보안적으로 발전된 형태로 대체했죠. Face ID는, 사람들의 얼굴 윤곽을 분석하는 아주 놀라운 알고리즘을 이용해 동작합니다. 이 기능은 UI 적으로도 새로운 가능성을 보여줄 것이기 때문에, 당신은 아이폰 X를 쓰는 유저들을 위해서 이 기능을 써야만 하겠죠. 새로 앱이나 메뉴를 만들 때 더 이상은 터치 ID를 쓰지 않아야 한다는 걸 꼭 기억하세요. 이제 이걸 Face ID가 대체할테니까요.커스텀 키보드. 아이폰 화면에 들어가는 커스텀 키보드를 만들거라면, Emoji같은 이모티콘이나 받아쓰기 기능을 추가하지 마세요. 그것들은 자동적으로 키보드에 추가될 겁니다.네비게이션 바가 더 커졌습니다. iOS 11버전에서는 새로운 네비게이션 바가 업데이트 되었습니다. 이제 더 길어졌죠. 이러한 디자인은 특히 아이폰 X같이 길이가 긴 휴대폰에 더 좋다고 할 수 있습니다. 새로운 스테이터스 바와도 아주 잘 어울리죠. 그러니 이 점을 UI를 디자인할 때 참고하세요. 또한 이제 네비게이션 바를 스크롤 할 때 멋진 애니메이션이 추가됐습니다.내용 요약아이폰 X는 145pt만큼 더 깁니다. 그러니 375x667pt로 디자인하지 말고 375x812pt로 디자인하세요.아이폰 X는 @3 이미지 에셋을 씁니다.풀스크린으로 디자인하고 싶다면, 아이폰 X의 고유한 기능들을 가리지 마세요.당신 UI의 중요한 콘텐츠는 센터부분에 위치해 두세요. 기기의 센서와 코너부분은 항상 가리지 않고 보이게 하세요.상단 스테이터스바가 기존 22pt에서 44pt로 더 커졌습니다.기존의 풀스크린 이미지들을 계속 다 보이게 하려면 업데이트를 해줘야 합니다.버튼을 홈 부분 근처에다 두지 마세요.정말 필요한 경우가 아니라면 홈 부분을 가리지 마세요.아이폰 X는 DCI-P3를 지원하기 때문에 색깔이 더 풍부하고 선명해졌습니다.홈 부분이나 스테이터스 바에서 쓰이는 손동작들을 커스텀 할 때 항상 주의하세요. 유저들이 기존에 쓰던 손동작들과 혼동하게 만들지 말아야 합니다.이제 사용자를 인증할 때 Face ID가 Touch ID를 대체합니다. 커스텀 키보드를 만들 때 Emoji 이모티콘과 받아쓰기 버튼을 따로 추가해 줄 필요는 없습니다.더 커진 내비게이션 바는 긴 화면을 갖고 있는 아이폰 X와 아주 잘 어울립니다.여기 비디오에도 내용을 요약해 봤습니다.How do I preview my app UI?내 앱 UI를 프리뷰 해보려면 어떻게 해야 하죠?Xcode 9 시뮬레이터를 사용하시면 당신의 앱을 프리뷰 해 볼 수 있습니다. 이 프로그램은 만약 당신의 UI가 업데이트가 필요하다면 즉각 그 부분을 표시해줍니다.Where can I find iOS 11 and iPhone X resources?iOS11과 아이폰 X 리소스는 어디서 찾을 수 있나요?애플은 Sketch, 포토샵, 그리고 Adobe XD 같은 뛰어난 리소스를 지원하고 있습니다. 이곳에서 찾아보세요.참조: 이 글의 대부분의 정보는 애플 UI 가이드라인에 기초합니다.원문 : https://blog.prototypr.io/designing-for-the-iphone-x-4239d5ac736c#더팀스 #THETEAMS #디자인 #디자이너 #인사이트 #영문번역 #꿀팁
조회수 786

스푼 라디오 재입사자 Esther를 소개합니다

스푼을 만드는 사람들 일곱 번째 이야기유일하게 마이쿤(스푼 라디오)에 재입사를 한 UX/UI팀 디자이너 'Esther' 를 소개하고자 한다.같은 회사에 두 번 입사했다고요? 실화예요?(이 세상엔 정말 불가능한 일은 없나 봅니다)"하하, 네 맞아요. 저는 대학생 때 마이쿤에서 6개월간 인턴생활을 했었고, 2년 후인 2018년에 다시 입사를 하였습니다. 그리고 현재는 근무한 지 8개월 차 되었습니다." 소주를 안고 있는 에스더사내 TOP 3 애주가 feat. Soju사내에서 손꼽히는 '애주가' 사실인가요?"글쎄요.. 하하, 먼저 술을 좋아하는 건 팩트입니다. 근데 회사에 저보다 술 좋아하고 잘 드시는 분이 훨씬 많은 걸로 압니다. 저는 원래 소맥을 가장 좋아했는데, 요즘은 맥주 쪽으로 기울고 있어요. 요즘 몸이 안 따라줘요 흑흑 그래서 술을 좀 줄이고 있는 편이에요." 에스더의 마스코트 머리'Esther' 당신이 궁금합니다.Q. 본인을 한 마디로 표현한다면?흑과 백 - "저는 스스로가 흑과 백이라고 생각해요. 어떤 의미냐면, 저의 처음 이미지와 가까워지고 나서의 이미지가 무척 다르거든요. 조용할 땐 굉장히 조용하지만 또 신나면 엄청나게 신난 모습도 볼 수 있어요. 그래서 스스로를 흑과 백이라고 생각합니다."(그만큼 숨겨진 매력이 많다는 걸로 이해하겠습니다)Q. 서울살이를 6년 차 삶은 어떤가요?"맞아요. 저는 원래 울산 토박이 출신이에요. 처음에 서울에 온 건 대학 입시 준비하면서 홍대 앞에 학원을 다녀야 해서 왔었어요. 아무래도 서울이 학원도 많고, 디자인 계열 업무를 하려면 서울에 와야 했거든요. 그래서 직장도 서울로 얻게 되었어요.무엇보다 가장 큰 이유 1. 문화생활 2. 음식 서울이 훨씬 다양하고 편하고.. 처음에 서울에 왔을 때 신기하면서도 스트레스를 받았던 건, 어딜 가나 사람이 너~무 많다는 거였어요. 예를 들면 금요일의 강남역?"※ 서울살이 하면서 가장 외로울 때 "19살 때, 입시 때문에 서울에 처음 단기로 왔을 때 고시원에서 머문 적이 있어요. 그때 너무 좁은 공간에서 아무도 모르는 데다가, 몸이 아플 땐 정말 서럽더라고요"Q. 원래 디자인을 좋아하고 잘하셨나요?"사실 저는 어릴 때부터 중학교 3학년 때 까지는 피아노를 쳤었어요. 근데 고등학교에 진학하고 나서 1학년 때 선생님께서 미술에 소질이 있다고 추천해주셨어요. 그래서 그때부터 입시를 준비하기 시작했어요. 그 후 디지털 미디어 디자인과에 입학을 했어요. 그리고 무엇보다 디자인 쪽이 저에겐 선천적으로 적성에 맞는 것 같다고 생각해요. 제가 좋은 사람들만 만나서 그런진 모르겠지만, 늘 재미있고 열심히 배울 수 있었어요" 당신의 회사생활이 궁금합니다Q. 재입사하게 된 계기를 자세히 듣고 싶어요"저는 원래 모션 그래픽 쪽으로 전문성을 키워나갈 계획이었는데, 저와는 맞지 않는 분야라고 생각이 들어서 UX/UI 쪽으로 진로를 바꾸다 보니 학교를 1년 더 다니게 됐었어요. 그때는 졸업 전시회만 준비하면 됐었기에, 경험을 쌓고자 인턴을 하고자 했었고, 그때 인턴으로 6개월 입사를 하게 되었어요. 그때 제가 정말 좋은 사람들과 일을 하고 있다고 느꼈고 인턴을 끝으로도 계속 팀원들과 연락을 하고 지냈었어요.후에 졸업을 하고 다른 직장에서 2년간 UX/UI 디자이너로 근무를 했었는데, 그곳에서도 함께 일하는 사람들은 정말 좋았지만 제가 날개를 필 수 없다고 느꼈었어요. 그러던 참, 이직을 고민하고 있었는데 감사하게도 먼저 스푼에서 제안을 해주셨어요. 인턴 때 이미 느꼈지만 스푼은 제 스스로가 성장할 수 가능성과 발판이 되는 곳이고, 좋은 사람들이 함께 하는 곳이라는 걸 알고 있었기에 다시 함께 하고자 입사를 했어요."Q. 다시 입사해보니 어때요?"여러 가지가 변화되었어요. 예를 들면, 분위기가 많이 바뀌었어요. 예전에 소수의 인원에서 정말 많은 인원이 추가되다 보니 의사소통 방법도 달라졌고 무엇보다 근무 환경이 정말 좋아졌어요."Q. 에스더가 생각하는 좋은 디자이너란?1. 본인의 생각과 다른 외부적인 요인들이 조화롭게 잘 섞는 사람나의 것을 녹여내면서 확실한 시스템을 구축하는 것, 그게 정말 어렵거든요. 그런 면에서 UX/UI란 직군이 개성을 녹이기가 굉장히 힘든 직군이라고 생각해요. 그 밸런스를 잘 맞추는 디자이너가 좋은 디자이너가 아닐까 생각해봅니다.2. 의사소통을 잘하는 사람최대한 다양한 그리고 많은 사람들의 이야기를 귀담아들을 줄 알고, 나의 의견도 잘 낼 줄 아는 것이 중요하다고 생각합니다. 여러 다양한 인사이트를 얻을 수가 있거든요. Q. 부서 이동 에피소드를 듣고 싶어요."제가 다시 입사를 했을 때, UX/UI팀이 아닌 마케팅 소속으로 들어오게 되었어요. 사실 그때 정말 고민이 많았어요. 마케팅 디자인은 경험이 없었거든요. 마케팅팀 소속에서 다시 UX/UI팀으로 공석이 나서 부서를 이동했는데요. 저는 제가 마케팅팀에서 겪었던 경험이 정말 많은 도움이 되었고 앞으로도 될 거라고 생각해요. 마케팅 관점에서 디자인을 볼 수 있게 되었고, 새로운 인사이트를 얻는 시간이었거든요. 그 전에는 UX/UI 디자이너로서만 바라보았더라면 이제는 왜 마케팅 관점에선 무엇이 다른지 감을 익혔달까요? 무엇보다 두 팀 모두 좋은 분들이 계셔서 행복했고, 행복합니다."Q. 면접 볼 때 가장 중요하게 생각하는 점은?아무래도 저는 디자이너이다 보니, 포트폴리오를 가장 중요하게 생각하고요. 스토리텔링 능력을 봅니다. 자기만의 확고한 의지, 메시지가 있는 사람이야 말로 의도가 명확하고 똑 부러진 사람이라고 생각하거든요. 당신의 사생활이 궁금합니다Q. 마라탕 일주일에 몇 번 드시나요?Sunny 曰: "에스더와 런치메이트가 되면, 중경 마라탕을 먹으러 가는 날이라는 소문을 들었습니다. 그만큼 마라탕을 좋아하시는 걸로 알고 있는데.."Esther 曰: "저는 원래 중식을 좋아하는데, 원래 국물류 자체를 정말 좋아해요. 얼큰하고, 찌개 같은.. 그런 안주용(?) 자극적인 음식을 좋아해서요!" (그렇게 인터뷰 후 함께 마라미면을 먹으러 갔습니다)Q. '돼지'를 좋아하신다고요?"돼지 너무 귀엽지 않아요? 돼지 되게 매력 있는데.. 시판에 나온 돼지 캐릭터들은 뭔가 예쁘지 않은데, 사실 돼지는 정말 귀엽거든요. 제가 좋아하는 인형도 돼지인데 이 친구 이름은 '꾸꾸'라고 해요. 아! 그리고 저, 돼지고기도 좋아합니다.."Q. 울산이 노잼이라는 것에 동의하십니까?Sunny 曰: "제가 얼마 전 이 짤을 보았는데요. 확인 좀 해주시죠. 대전 VS 울산 노잼 도시.."출처: 원룸 만들기Esther 曰: "대체 이런 건 어디서 찾으시죠..? 음 저건.. 과장된 부분이 있다고 생각하지만, 동의하는 부분도 있어요. 서울이나 타 큰 도시에 비해선 문화 생활면에선 부족한 부분이 많은 것 같아요! 그래서 저는 앞으로도 서울이나 서울 외곽에서 쭉 살고 싶어요. 그리고 제 친구들도 다 서울에 있거든요. 그거 아세요? 울산은 밤 12시가 되면 진짜 모든 곳이 문을 닫아요.."Q. 앞으로의 계획이라던지 꿈이 있나요?"저는 원래 어릴 때 꿈은 선생님이었어요. 근데 어느 순간부터 애들을 예전만큼 안 좋아하더라고요. 현재로서는, 제가 감을 잃지 않는 이상은 디자인으로 무언가를 계속해나가고 싶어요. 진짜 나중에 디자인 관련 사업도 해보고 싶고요. 무엇보다 그저 좋은 사람들과 일하고 싶은 마음이 커요 앞으로도"UX/UI팀이 Esther를 한마디로 표현한다면?Nigel 曰: '조급 스더' -  내부 업직종 변경으로 인해 조급해 보이는 면이 있어서(앞으로의 해야 할 일로 보면 이제 겨우  10~20% 인데, 아직 가야 될 길이 많이 남았으니, 조금 천천히 가도 돼요. 지금도 아주 잘하고 계십니다^^)Mika 曰: '특 S급 인재' - 소주의 SMia 曰: '빵떡 어머니' - 빵떡이 캐릭터를 에스더가 만드셨기 때문에Simon 曰: '유고걸' - 유엑스에 대한 고찰이 깊은 여자 ㅎㅎ 자신의 일에 깊이 생각하고 고민하는 모습을 자주 볼 수 있습니다.
조회수 1090

I/O Diary 17. 집과 자취방

사전적 정의집이란?사전에서 세 가지의 풀이를 찾을 수 있다. 단순한 정의에서부터 추상적인 개념까지. 그중 세 번째 정의는 현대 사회가 집이라는 단어를 어떻게 인식하고 있는지를 잘드러낸다.가정을 이루고 생활하는 집안.집은 안과 밖의 경계가 뚜렷한 공간이다. 그 속에서 이뤄지는 생활을 살림이라고 말하기도 하는데. 아마 “살림살이 좀 나아지셨습니까?”라는 표현을 많이들 들어봤을 것이다.(특히 선거철에) 살림살이가 좋다는 의미는 좋은집에서 만족할만한 생활양식을 누리고 있다는 의미고 반대로 살림살이가 나쁘다는 뜻은 집도 좋지못하고 그 안에서의 생활도 불편한 점이 많음을 의미하겠다. 달리말해 살림살이는 삶의 질에 필수불가결한 요소로 행복의 척도가 된다. 그런 맥락에서 집은 인간의 삶의 질에 큰 영향을 미친다.의식주라는 말이 있듯이 좋은 살림살이를 누리고 싶은 욕구는 인간 본연의 모습이다. 무척이나 자연스럽다. 그 누구도 나쁜집에서 힘들게 살고싶어하지 않는다. 가급적 집 밖에서 받은 스트레스와 상처를 집에서 위로 받고 싶을 것이다. 행복한 살림살이를 누려 더 안락한 감정을 느끼고 싶어한다. 누구나 보금자리가 필요하다.자취방천장이 어딘줄도 모르고 치솟는 서울의 집값. 비트코인도 규제앞에서 굴복하는데. 부동산 시장은 꺽일줄 모른다. 한강이 내려다보이는 큰 집에서 하루를 시작하고싶지만 내처지를 물끄러미 쳐다보고 있노라면 출발선이 잘못된건가? 라는 생각도 든다. 조상님께 심심한 사과의 말씀드린다.이제 갓 사회에 진출한 월급쟁이들에게 내 집 장만만큼 현실성 없는 단어를 찾기 힘들다. 집만 생각하면 까마득하고 그때를 생각해보면 머리만 아프다. 그래서 사회 초년생들에게 보통 집을 장만했다라는 표현보다는 자취방을 구했다가 조금 더 어울린다. 대출받아 전세도 겨우 들어가는 마당에 반지하가 아니면 다행이요. 추운 겨울 옥탑방인들 서울 한 복판에 누워 잘곳이 있다는 사실에 감사해야만하는 현실이다. 우리에겐 그만큼 선택지가 좁다. 거의 없다시피할 정도로..사회초년생인 우리는 보통 전/월세로 계약을 맺어 이사가 잦다. 평생 살곳이 아니기에 집에 정들라치면 또 다음집을 알아봐야한다. 가뜩이나 좁은 집인데 임대인 눈치살피느라 못하나도 박기 힘들다. 내마음에 들지도 마음대로할 수도 없는 자취방에서 행복한 살림살이는 어림없다. 가정이란 단어를 자취방에 가져다 대면 어색하기만하다. 머나먼 미래의 내집 장만을 꿈꾸며 우리는 행복한 살림살이에 대한 욕구를 억누르기만 한다. 어디 이게 쉬운일인가..이제 곧 떠날 내 자취방나 또한 지난 6년간 살아온 자취방에 무심했다. 꾀나 오래 살았지만 꾸밀 생각은 추호도 없었고 그냥 잠만 자는 공간이었다. 왜냐면 어차피 떠나야하고 좁으니까. 현실에 타협해서 선택한 집이기에 처음부터 마음에드는 구석도 없었고 기대치부터 낮았다. 할수있는만큼 살림살이를 타협했다. 마치 나중에 대학가면 여자친구 생기겠지… 라고 스스로 행복회로를 굴리듯이.내겐 자취방이 불편했다. 딱 잠자는 용도로만 쓰여서 그 외에 할 수 있는게 없는 작은 공간. 집에 있어도 갑갑하기만하다보니 얼른 나갈 궁리만 했다. 본디 집이라는 곳은 게을러지고 여유로워야하는데 자취방에서는 행복한 살림살이라는 당연한 권리를 억누르고 지내게 된다.좋아하는 곳에 살고있나요?최고요 — 좋아하는곳에살고있나요?. 출처(구글이미지검색)사실 위의 내 생각은 틀렸다. 왜냐면 자취방도 집이니까. 추위 더위 비 바람따위를 피하고 그속에 들어 살기 위해 지은 건물이면 똑같은 집인거다. 그러면 자취방에서도 당연히 가정을 꾸려 행복한 살림살이를 누릴 수 있다. 지난 6년간 잘못된 내 생각을 바로잡게된 계기는 우연히 접하게된 최고요님의 좋아하는 곳에 살고있나요?라는 책덕분이다.책에서 고요님은 사회초년생들이 대부분 굴복하는 현실에 타협하지 않고 주어진 환경에서 행복한 살림살이를 꾸려나갔다. 좁은 자취방에서부터 자신이 좋아하는 집을 가꿔갔다. 당연한 권리를 누리기 위해서 말이다. 좁고 돈이 없더라도 집은 마음만 먹으면 가꿀수 있고. 작은 변화로 큰 효과를 얻을 수 있음을 자신을 사례로들어 보여준다. 책을 통해 조금씩 큰집으로 이사가는 과정이 나오는데 존경스럽고 한 없이 부끄럽기만했다. 과연내가 기술로 살림살이를 더 낫게 만드는 스타트업을 이끌어갈 자격이 있나? 반성하게 할 정도로.주인의 색이 짙게 느껴지는 집은 흔히들 말하는 좋은 집이라고한다. 왜냐면 주인의 행동양식에 집이 잘 맞춰져있기 때문이다. 좋은 집이란 비싸고 화려한 집이 아니다. 살아가는 사람인 내가 집에서만 느낄수 있는 행복한 감정을 제공할 수있다면 단칸방도 좋은 집이 된다. 고요님의 집을 꾸미기보다 가꿔야한다는 단어 선택이 큰 울림을 준다.“좋아하는 곳에 살고있나요?”를 보면서 기억에 남는 좋은 집에서 느낄 찾을 수 있는 감정적 단어들을 나열해 보았다.마땅히 편한, 수고롭지 않은, 여유, 일상, 휴식, 회복, 안락, 게을러져도 되는, 움직이지 않아도되는,알맞는, 민낯의, 애정이 가는반대로 집에서 최대한 떠오르지 말아야할 감정적 단어는 이정도 되겠다.피곤, 또 다른 일, 위험, 바쁨, 고생, 노동, 스트레스, 가식, 어색한, 불편한집이라는 곳은 육체적으로 일하는 곳이 아니다. 마음껏 게을러져야하고, 내생활 양식에 딱맞아야한다. 마땅히 누구나 집에서 행복해지는 방법을 찾을 수 있다. 내가 집을 가꾸면 집이 되려 나를 보듬어준다. 하루를 끝내고 돌아가야하는 곳이 집이라면 내가 가장 머물고 싶은 감정이 들어야하지 않을까? 책장을 덮으며 어떤 집이든 행복감을 누리는 공간으로 탈바꿈할 수 있다는 믿음이 강하게 자리잡았다.희미하지만 기억에 남는 고요님의 글 귀를 떠올리며 글을 마친다.집이란 ‘나’라는 사람에 대한 확신을 갖는 공간이다.다짐: 2018년 블로그 꼭 20편 이상 쓰자.instagram: continueingfacebook: facebook.com/profile.php?id=100011882362436email: gyu@switcher.co.kr#스위처 #Switcher #다짐 #각오 #마인드셋

기업문화 엿볼 때, 더팀스

로그인

/