스토리 홈

인터뷰

피드

뉴스

조회수 109

바로고 복지 문화 뼈가 되고 살이 되는 강연 <헬로네이처 허광남 CTO>

출근이 즐거워지는바로고의 복지 문화13가지안녕하세요, 바로고 입니다.바로고 직원들의 출근이 즐거워지는13가지 이유바로복지 문화 13가지가 있기 때문이죠^^[바로고 복지문화]바로고 복지 문화에 대해자세히! 알고 싶다면 클릭!뼈가 되고, 살이 되는외부 인사 초청 강연훌륭한 팀워크와 업무 효율을 높이는유익한 외부 인사 초청 강연!맛있는 음식과 함께 해봐요^^2017년 9월 7일외부 인사 초청 강연강연자헬로네이처 허광남 CTO뼈가 되고 살이 되는강연의 주제는고객 행동 데이터 보면서 개발하기강연은바로고 본사에서 진행되었습니다.강연을 본격적으로 시작하기 전프로젝터로 점검하고간단한 담소를 주고받으며편안한 분위기를 만들어주시는 허광남님뼈가 되고 살이 되는 강연이그동안 바로고에서 진행된 만큼오늘의 강연 또한 기대됩니다!고객 행동 데이터 보면서 개발하기Elastic Stack오늘 강연은1. 데이터 시각화의 가치2. 오픈소스 시각화 패키지 Elastic Stack3. 유용한 플러그인 소개4. ELK 적용 사례위의 같은 순서로 알차게 진행되었습니다.시작부터 집중하는바로고의 직원들업무에 바쁘다 보면다른 정보를 습득하거나다른 분야의 사람들과 의견을 공유할 여유가 없을 수도 있어요.이렇게 외부 인사 초청 강연을 통해다양한 의견을 공유하고리프레쉬 하는 기회가 생기는 것에바로고 직원들의 만족도가 높은 편입니다.이번 강연의 핵심이었던Elastic Stack 의 특징에 대해간단히 설명해보겠습니다강연의 내용을 함께공유한다는 것에도 의미가 있어요^^Elastic Stack 특징-Google Analytics(GA)의 데이터로사이트 접속 통계를 구할 경우원하는 대로 데이터를 획득하기 어렵다.-자체 서버의 모든 로그를 100% 수집할 수 있기 때문에데이터에 대한 신뢰성이 높다.-파라미터 값별로 통계를 볼 수 있기 때문에정확한 데이터 분석이 가능하다.-검색엔진(lucene)이 포함되어 있어빠르게 데이터를 검색할 수 있다.-모두 오픈소스이며 자유롭게 사용이 가능하다.자유롭게 질문을 주고받으며의견을 공유할 수 있었던 의미 있는 시간이 되었습니다.이번 강연에서도다양한 의견을 주고받고같은 문제에 대해다양한 시각이 존재한다는 것을알게 된 계기가 된 것 같습니다.바로고 직원 모두에게의미있는 시간이 되었으리라 생각합니다.오늘 열정으로 강의해주신허광남님께 진심으로 감사의 말을 전합니다.또 다른 시각에서 접근하는고객에 대한 접근 방법뼈가 되고 살이 되는알찬 시간이 되었습니다.감사합니다!바로고의 외부 강연이 끝날 시간 즈음그 시간이 바로 점심시간열심히 강의 들었으니에너지 충전이 필요합니닷!모두 수고하셨습니다.선택이 아닌 필수#배달 #배달대행바로고날씨 좋은 9월, 야외에서 오늘은 쉬는 날, 집에서누구와 함께 든 어디에서든내가 원하는 곳으로 배달!-전국 배송망을 갖춘바로고에서라면가능합니다.배달대행[바로고 공식 홈페이지]
조회수 1698

HBase 설정 최적화하기

커플 필수 앱 비트윈은 여러 종류의 오픈 소스를 기반으로 이루어져 있습니다. 그 중 하나는 HBase라는 NoSQL 데이터베이스입니다. VCNC에서는 HBase를 비트윈 서비스의 메인 데이터베이스로써 사용하고 있으며, 또한 데이터 분석을 위한 DW 서버로도 사용하고 있습니다.그동안 두 개의 HBase Cluster 모두 최적화를 위해서 여러 가지 설정을 테스트했고 노하우를 공유해 보고자 합니다. 아랫은 저희가 HBase를 실제로 저희 서비스에 적용하여 운영하면서 최적화한 시스템 구성과 설정들을 정리한 것입니다. HBase를 OLTP/OLAP 목적으로 사용하고자 하는 분들에게 도움이 되었으면 좋겠습니다. 아래 구성을 최적화하기 위해서 했던 오랜 기간의 삽질기는 언젠가 따로 포스팅 하도록 하겠습니다.HBaseHBase는 Google이 2006년에 발표한 BigTable이라는 NoSQL 데이터베이스의 아키텍처를 그대로 따르고 있습니다. HBase는 뛰어난 Horizontal Scalability를 가지는 Distributed DB로써, Column-oriented store model을 가지고 있습니다. 사용량이 늘어남에 따라서 Regionserver만 추가해주면 자연스럽게 Scale-out이 되는 구조를 가지고 있습니다. 또한, Hadoop 특유의 Sequential read/write를 최대한 활용해서 Random access를 줄임으로 Disk를 효율적으로 사용한다는 점을 특징으로 합니다. 이 때문에 HBase는 보통의 RDBMS와는 다르게 Disk IO가 병목이 되기보다는 CPU나 RAM 용량이 병목이 되는 경우가 많습니다.HBase는 많은 회사가 데이터 분석을 하는 데 활용하고 있으며, NHN Line과 Facebook messenger 등의 메신저 서비스에서 Storage로 사용하고 있습니다.시스템 구성저희는 Cloudera에서 제공하는 HBase 0.92.1-cdh4.1.2 release를 사용하고 있으며, Storage layer로 Hadoop 2.0.0-cdh4.1.2를 사용하고 있습니다. 또한, Between의 데이터베이스로 사용하기 위해서 여러 대의 AWS EC2의 m2.4xlarge 인스턴스에 HDFS Datanode / HBase Regionserver를 deploy 하였습니다. 이는 m2.4xlarge의 큰 메모리(68.4GB)를 최대한 활용해서 Disk IO를 회피하고 많은 Cache hit이 나게 하기 위함입니다.또한 Highly-Available를 위해서 Quorum Journaling node를 활용한 Active-standby namenode를 구성했으며, Zookeeper Cluster와 HBase Master도 여러 대로 구성하여 Datastore layer에서 SPOF를 전부 제거하였습니다. HA cluster를 구성하는 과정도 후에 포스팅 하도록 하겠습니다.HDFS 최적화 설정dfs.datanode.handler.countHDFS에서 외부 요청을 처리하는 데 사용할 Thread의 개수를 정하기 위한 설정입니다. 기본값은 3인데 저희는 100으로 해 놓고 사용하고 있습니다.dfs.replicationHDFS 레벨에서 각각의 데이터가 몇 개의 독립된 인스턴스에 복사될 것 인가를 나타내는 값입니다. 저희는 이 값을 기본값인 3으로 해 놓고 있습니다. 이 값을 높이면 Redundancy가 높아져서 데이터 손실에 대해서 더 안전해지지만, Write 속도가 떨어지게 됩니다.dfs.datanode.max.transfer.threads하나의 Datanode에서 동시에 서비스 가능한 block 개수 제한을 나타냅니다.과거에는 dfs.datanode.max.xcievers라는 이름의 설정이었습니다.기본값은 256인데, 저희는 4096으로 바꿨습니다.ipc.server.tcpnodelay / ipc.client.tcpnodelaytcpnodelay 설정입니다. tcp no delay 설정은 TCP/IP network에서 작은 크기의 패킷들을 모아서 보냄으로써 TCP 패킷의 overhead를 절약하고자 하는 Nagle's algorithm을 끄는 것을 의미합니다. 기본으로 두 값이 모두 false로 설정되어 있어 Nagle's algorithm이 활성화되어 있습니다. Latency가 중요한 OLTP 용도로 HBase를 사용하시면 true로 바꿔서 tcpnodelay 설정을 켜는 것이 유리합니다.HBase 최적화 설정hbase.regionserver.handler.countRegionserver에서 외부로부터 오는 요청을 처리하기 위해서 사용할 Thread의 개수를 정의하기 위한 설정입니다. 기본값은 10인데 보통 너무 작은 값입니다. HBase 설정 사이트에서는 너무 큰 값이면 좋지 않다고 얘기하고 있지만, 테스트 결과 m2.4xlarge (26ECU) 에서 200개 Thread까지는 성능 하락이 없는 것으로 나타났습니다. (더 큰 값에 관해서 확인해 보지는 않았습니다.)저희는 이 값을 10에서 100으로 올린 후에 약 2배의 Throughput 향상을 얻을 수 있었습니다.hfile.block.cache.sizeHBase 의 block 들을 cache 하는데 전체 Heap 영역의 얼마를 할당한 것인지를 나타냅니다. 저희 서비스는 Read가 Write보다 훨씬 많아서 (Write가 전체의 약 3%) Cache hit ratio가 전체 성능에 큰 영향을 미칩니다.HBase 에서는 5분에 한 번 log 파일에 LruBlockCache (HBase 의 Read Cache) 가 얼마 만큼의 메모리를 사용하고 있고, Cache hit ratio가 얼마인지 표시를 해줍니다. 이 값을 참조하셔서 최적화에 사용하실 수 있습니다.저희는 이 값을 0.5로 설정해 놓고 사용하고 있습니다. (50%)hbase.regionserver.global.memstore.lowerLimit / hbase.regionserver.global.memstore.upperLimit이 두 개의 설정은 HBase에서 Write 한 값들을 메모리에 캐쉬하고 있는 memstore가 Heap 영역의 얼마만큼을 할당받을지를 나타냅니다. 이 값이 너무 작으면 메모리에 들고 있을 수 있는 Write의 양이 한정되기 때문에 디스크로 잦은 flush가 일어나게 됩니다. 반대로 너무 크면 GC에 문제가 있을 수 있으며 Read Cache로 할당할 수 있는 메모리를 낭비하는 것이기 때문에 좋지 않습니다.lowerLimit와 upperLimit의 두 가지 설정이 있는데, 두 개의 설정이 약간 다른 뜻입니다.만약 memstore 크기의 합이 lowerLimit에 도달하게 되면, Regionserver에서는 memstore들에 대해서 'soft'하게 flush 명령을 내리게 됩니다. 크기가 큰 memstore 부터 디스크에 쓰이게 되며, 이 작업이 일어나는 동안 새로운 Write가 memstore에 쓰일 수 있습니다.하지만 memstore 크기의 합이 upperLimit에 도달하게 되면, Regionserver는 memstore들에 대한 추가적인 Write를 막는 'hard'한 flush 명령을 내리게 됩니다. 즉, 해당 Regionserver이 잠시 동안 Write 요청을 거부하게 되는 것입니다. 보통 lowerLimit에 도달하면 memstore의 크기가 줄어들기 때문에 upperLimit까지 도달하는 경우는 잘 없지만, write-heavy 환경에서 Regionserver가 OOM으로 죽는 경우를 방지하기 위해서 hard limit가 존재하는 것으로 보입니다.hfile.block.cache.size와 hbase.regionserver.global.memstore.upperLimit의 합이 0.8 (80%)를 넘을 수 없게 되어 있습니다. 이는 아마 read cache 와 memstore의 크기의 합이 전체 Heap 영역 중 대부분을 차지해 버리면 HBase의 다른 구성 요소들이 충분한 메모리를 할당받을 수 없기 때문인 듯합니다.저희는 이 두 개의 설정 값을 각각 0.2, 0.3으로 해 놓았습니다. (20%, 30%)ipc.client.tcpnodelay / ipc.server.tcpnodelay / hbase.ipc.client.tcpnodelayHDFS의 tcpnodelay 와 비슷한 설정입니다. 기본값은 전부 false입니다.이 설정을 true로 하기 전에는 Get/Put 99%, 99.9% Latency가 40ms 와 80ms 근처에 모이는 현상을 발견할 수 있었습니다. 전체 요청의 매우 작은 부분이었지만, 평균 Get Latency가 1~2ms 내외이기 때문에 99%, 99.9% tail이 평균 Latency에 큰 영향을 미쳤습니다.이 설정을 전부 true로 바꾼 후에 평균 Latency가 절반으로 하락했습니다.Heap memory / GC 설정저희는 m2.4xlarge가 제공하는 메모리 (68.4GB)의 상당 부분을 HBase의 Read/Write cache에 할당하였습니다. 이는 보통 사용하는 Java Heap 공간보다 훨씬 큰 크기이며 심각한 Stop-the-world GC 문제를 일으킬 수 있기 때문에, 저희는 이 문제를 피하고자 여러 가지 설정을 실험하였습니다.STW GC time을 줄이기 위해서 Concurrent-Mark-and-sweep GC를 사용했습니다.HBase 0.92에서부터 기본값으로 설정된 Memstore-Local Allocation Buffer (MSLAB) 을 사용했습니다.hbase.hregion.memstore.mslab.enabled = true #(default)hbase-env.sh 파일을 다음과 같이 설정했습니다.HBASE_HEAPSIZE = 61440 #(60GB)HBASE_OPTS = "-XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=70 -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps"GC log를 Python script로 Parsing해서 STW GC 시간을 관찰하고 있습니다. 지금까지 0.2초 이상의 STW GC는 한 번도 발생하지 않았습니다.그 밖에 도움이 될 만한 설정들hbase.hregion.majorcompactionHBase는 하나의 Region에 대해서 여러 개의 StoreFile을 가질 수 있습니다. 그리고 주기적으로 성능 향상을 위해서 이 파일들을 모아서 하나의 더 큰 파일로 합치는 과정을 진행하게 됩니다. 그리고 이 과정은 많은 CPU usage와 Disk IO를 동반합니다. 그리고 이때 반응 속도가 다소 떨어지게 됩니다. 따라서 반응 속도가 중요한 경우에는, 이 Major compaction을 off-peak 시간대를 정해서 manual 하게 진행하시는 것이 좋습니다.저희는 사용자의 수가 상대적으로 적은 새벽 시간대에 crontab 이 실행시키는 script가 돌면서 전체 Region에 대해서 하나하나 Major Compaction이 진행되도록 하였습니다.기본값은 86,400,000 (ms)로 되어 있는데, 이 값을 0으로 바꾸시면 주기적인 Major Compaction이 돌지 않게 할 수 있습니다.hbase.hregion.max.filesizeHBase는 하나의 Region이 크기가 특정 값 이상이 되면 자동으로 2개의 Region으로 split을 시킵니다. Region의 개수가 많지 않을 때는 큰 문제가 없지만, 계속해서 데이터가 쌓이게 되면 필요 이상으로 Region 수가 많아지는 문제를 나을 수 있습니다. Region 수가 너무 많아지면 지나친 Disk IO가 생기는 문제를 비롯한 여러 가지 안 좋은 점이 있을 수 있기 때문에, split 역시 manual 하게 하는 것이 좋습니다. 그렇다고 Table의 Region 수가 너무 적으면 Write 속도가 떨어지거나 Hot Region 문제가 생길 수 있기 때문에 좋지 않습니다.HBase 0.92.1 에서는 기본값이 1073741824(1GB)로 되어 있는데, 저희는 이 값을 10737418240(10GB)로 늘인 후에 manual 하게 split을 하여 Region의 개수를 조정하고 있습니다.hbase.hregion.memstore.block.multipliermemstore의 전체 크기가 multiplier * flush size보다 크면 추가적인 Write를 막고 flush가 끝날때까지 해당 memstore는 block 됩니다.기본값은 2인데, 저희는 8로 늘려놓고 사용하고 있습니다.dfs.datanode.balance.bandwidthPerSec부수적인 설정이지만, HDFS의 Datanode간의 load balancing이 일어나는 속도를 제한하는 설정입니다. 기본값은 1MB/sec로 되어 있지만, 계속해서 Datanode를 추가하거나 제거하는 경우에는 기본값으로는 너무 느릴 때가 있습니다. 저희는 10MB/sec 정도로 늘려서 사용하고 있습니다.dfs.namenode.heartbeat.recheck-intervalHDFS namenode에만 해당되는 설정입니다.Datanode가 응답이 없는 경우에 얼마 후에 Hadoop cluster로부터 제거할 것인지를 나타내는 값입니다.실제로 응답이 없는 Datanode가 떨어져 나가기까지는 10번의 heartbeat가 연속해서 실패하고 2번의 recheck역시 실패해야 합니다. Heartbeat interval이 기본값인 3초라고 하면, 30초 + 2 * recheck-interval 후에 문제가 있는 Datanode가 제거되는 것입니다.기본값이 5분으로 되어 있는데, fail-over가 늦어지기 때문에 사용하기에는 너무 큰 값입니다. 저희는 문제가 있는 Datanode가 1분 후에 떨어져 나갈 수 있도록 이 값을 15,000 (ms) 으로 잡았습니다.Read short-circuitRegionServer가 로컬 Datanode로부터 block을 읽어올 때 Datanode를 통하지 않고 Disk로부터 바로 읽어올 수 있게 하는 설정입니다.데이터의 양이 많아서 Cache hit이 낮아 데이터 대부분을 디스크에서 읽어와야 할 때 효율적입니다. Cache hit에 실패하는 Read의 Throughput이 대략 2배로 좋아지는 것을 확인할 수 있습니다. OLAP용 HBase에는 매우 중요한 설정이 될 수 있습니다.하지만 HBase 0.92.1-cdh4.0.1까지는 일부 Region이 checksum에 실패하면서 Major compaction이 되지 않는 버그가 있었습니다. 현재 이 문제가 해결되었는지 확실하지 않기 때문에 확인되기 전에는 쓰는 것을 추천하지는 않습니다.설정하는 방법은 다음과 같습니다. dfs.client.read.shortcircuit = true #(hdfs-site.xml) dfs.block.local-path-access.user = hbase #(hdfs-site.xml) dfs.datanode.data.dir.perm = 775 #(hdfs-site.xml) dfs.client.read.shortcircuit = true #(hbase-site.xml)Bloom filterBloom filter의 작동방식에 대해 시각적으로 잘 표현된 데모 페이지HBase는 Log-structured-merge tree를 사용하는데, 하나의 Region에 대해서 여러 개의 파일에 서로 다른 version의 값들이 저장되어 있을 수 있습니다. Bloom filter는 이때 모든 파일을 디스크에서 읽어들이지 않고 원하는 값이 저장된 파일만 읽어들일 수 있게 함으로써 Read 속도를 빠르게 만들 수 있습니다.Table 단위로 Bloom filter를 설정해줄 수 있습니다.ROW와 ROWCOL의 두 가지 옵션이 있는데, 전자는 Row key로만 filter를 만드는 것이고, 후자는 Row+Column key로 filter를 만드는 것입니다. Table Schema에 따라 더 적합한 설정이 다를 수 있습니다.저희는 데이터 대부분이 메모리에 Cache 되고 하나의 Region에 대해서 여러 개의 StoreFile이 생기기 전에 compaction을 통해서 하나의 큰 파일로 합치는 작업을 진행하기 때문에, 해당 설정을 사용하지 않고 있습니다.결론지금까지 저희가 비트윈을 운영하면서 얻은 경험을 토대로 HBase 최적화 설정법을 정리하였습니다. 하지만 위의 구성은 어디까지나 비트윈 서비스에 최적화되어 있는 설정이며, HBase의 사용 목적에 따라서 달라질 수 있음을 말씀드리고 싶습니다. 그래서 단순히 설정값을 나열하기보다는 해당 설정이 어떤 기능을 하는 것인지 저희가 아는 한도 내에서 설명드리려고 하였습니다. 위의 글에서 궁금한 점이나 잘못된 부분이 있으면 언제든지 답글로 달아주시길 바랍니다. 감사합니다.저희는 언제나 타다 및 비트윈 서비스를 함께 만들며 기술적인 문제를 함께 풀어나갈 능력있는 개발자를 모시고 있습니다. 언제든 부담없이 [email protected]로 이메일을 주시기 바랍니다!
조회수 779

고객이 먼저 다가오게 만드는 개입 전략은 무엇일까?

이미지 출처 : 구글 이미지    1. 고객이 먼저 다가오게 만드는 개입 전략은 무엇일까?      구매 전, 고객이 고민하는 두 가지  마트에서 저녁 찬 거리를 고르는 상황을 생각해보자. 무슨 반찬을 고를지, 돌아다니다가 어느 한 시식코너 앞에 멈춰 섰다. 시식코너에서  소시지를 건네받아먹고, 결국 그 상품을 사게 된다. 물론, 사지 않고 늘 구매하던 소시지를 살 수 있다. 하지만 시식을 통해 전혀 경험하지 못했던 브랜드의 소시지 맛을 볼 수 있었다. 이번에는 택시를 잡는 상황을 생각해보자. 늦은 저녁, 이태원에서 친구들과 한 잔 하고 일산의 집까지 택시를 타려고 한다. 택시가 쉽게 잡히지 않는다. 이때 우리가 꺼내 드는 카드는 바로 ‘카카오 택시’. 카카오 택시에서 기사와 운행 거래, 운임, 시간 등을 확인 후, 호출 버튼을 눌러 택시 서비스를 이용한다. 위 두 가지 이야기는 우리가 일상에서 아주 쉽게 겪을 수 있는 일들이다. 바로 이 일상에 개입 전략이 잘 녹아 있다. 일반적인 구매 과정 중에서 고객은 두 가지를 늘 고민한다. 첫 째, 이 상품이나 서비스를 통해 정말 자신이 원하던 ‘이익’을 얻을 수 있느냐이다. 두 번째, 자신이 처한 문제를 해결하는 과정에서 이런 서비스와 상품을 통해 발생하게 될 또 다른 위험이나 위협은 없느냐이다. 이미지 출처 : 구글 이미지가령, ‘카카오 택시’의 경우, 우린 이 서비스를 사용하는 이유가 명확하다. 사실, 바로 길 앞에서 택시를 잡을 수 있다면, 카카오 택시를 사용하지 않을 것이다. ‘카카오 택시’를 사용하는 순간은 바로, 택시가 잘 잡히지 않는 경우가 될 것이다. 즉, 택시의 배차시간을 앞당기기 위해 사용하게 된다. 이 부분에서 택시의 배차시간을 명확하게 앞당길 수 있으니, 내가 이 서비스를 이용함에 얻을 수 있는 이익은 명확하다. 그리고 택시 서비스를 이용함에 일반적인 고객이 우려하는 것들이 있다. 불친절한 서비스, 초과 운임, 배차 여부 등이다. 카카오 택시를 이용하게 되면, 이러한 우려는 사라지게 된다. 서비스가 친절해지거나 운임이 저렴해진다는 것이 아니다. 다만, 비대칭적읜 정보 환경에서 우리는 사전에 해당 서비스의 가치를 미리 확인해볼 수 있다. 기사의 서비스 평가, 요금, 운행 거리, 도착 시간 등을 말이다. 이런 경험을 통해 사전에 우리가 생각할 수 있는 위험과 위협에서 벗어 날 수 있는 것이다. 즉, 고객이 생각하는 이 두 가지를 통해 마케터는 미리 설정해두어야 하는 메시지가 명확해진다. 바로, 먼저 주기와 헷지(hedge)하기이다. 먼저 주기는 본래 제공하는 서비스나 상품을 가장 작은 단위로 쪼개어 잠재고객에게 제공하는 방식이다. 소시지 시식코너와 같을 수 있고, 화장품의 샘플이나 테스터가 이에 해당한다. 앱의 경우에도 라이트 버전의 무료 서비스를 먼저 사용할 수 있게 하고, 유료 버전으로 앱 내 구매를 유도한다. IT 서비스의 경우, 2주간 미리 서비스를 풀버전으로 사용 가능하게 하여, 락인 효과를 노리기도 한다. 이 모든 것이 먼저 주기에 해당한다. 헷지(hedge)하기는 잠재고객이 생각할 수 있는 위험과 걱정을 미리 해소해주는 것이다. 위의 카카오 택시가 아주 좋은 사례였다. 가령, 새로운 화장품을 구매하기 전, 테스터를 사용해보는 것도 좋지만 제품의 특성상, 그 효과라 어느 정도의 시간이 필요하기에 일정한 시일 이내 환불조건을 제공하는 것도 하나의 헷지 하기에 해당한다. 위 두 가지 전략에 기초하여, 당신의 제품과 서비스는 먼저 주기와 헷지 하기 전략이 있는가. 만약, 준비되어 있지 않다면, 고객의 의사결정 여정 속에서 당신의 서비스나 제품은 외면받기 쉬울 수 있다. 먼저 주기를 통해 고객의 사용경험을 유도하고 헷지 하기를 통해 고객의 걱정을 미리 해소해주자. 당신의 제품과 서비스가 시장에서 도드라질 수 있는 간단한 방법이다.     개입 전략의 선두주자  최근 페이스북이나 인스타그램 타임라인을 보게 되면, 젊은 남녀 모델이 나와 코믹한 상황 속에서 다양한 화장품을 체험하는 영상을 종종 볼 수 있다. 민감성 피부를 가지고 있는 이가 며칠 후 피부가 몰라보게 달라졌다며, 이리 비추고 저리 비춰보는 영상을 통해 나도 모르게 샘플 신청 클릭 버튼을 누르게 된다. 최근 저가 화장품 브랜드가 샘플 신청이라는 개입 전략을 넘어 화장품을 이미 사용한 것처럼 느낄 수 있는 경험을 제공하는 영상 마케팅에 열을 올리고 있다. 이 영상을 보며, 이 자극적인 영상이 과연 잠재고객의 호응을 얻을 수 있을까?라는 의문이 들긴 하지만, 실제로 샘플을 신청하거나 보 제품으로 구매를 시도하는 여성들을 보면 그 의아함은 금방 해소된다. 앞서서 설명드린 두 가지 관점에서 고객이 구매 전 가질 수 있는 의문점을 충분히 해소할 수 있는 포인트다. 실제 해소는 아닐 수 있어도 고객이 이 상품을 써야 하기 위해 스스로를 설득할 수 있는 명분이 될 수도 있는 것이다. 화장품의 본 제품을 바로 구매하는 고객들은 생각보다 많지 않다. 테스터나 샘플을 이용하길 원한다. 즉, 이런 습관이 고착화된 구매 환경에서 바로 본 제품을 사라고 설득하는 것은 무리가 있다. 하지만 샘플을 제공하는 것도 비용적인 부담과 샘플만을 사용하고 본 제품을 구매하지 않을 판매자의 두려움이 상존한다. 이럴 땐, 마치 샘플이나 테스터를 사용하여 판매자가 말하고 싶은 것을 체험한 것과 같은 간접 경험이 필요하다. 그중에 하나가 바로 영상이다. 간단한 스낵 영상에서 브랜드가 말하고자 하는 것만 명확하게 전달할 수 있다. 민감성 피부 개선, 탄력, 미백 등, 그것에 맡게 고객의 후기나 사용 전후의 비교 콘텐츠를 충분히 영상으로 담아 설득하는 것이다. 이런 메시지가 구매자로 하여금 쉽게 행동할 수 있게 만든다. 이런 행동을 유발하는 개입 전략은 IT기술을 활용하게 되면 그 사용범위가 대단히 넓어진다. 경험 구현에 한계가 사라지는 것이다. 여행 상품을 생각해보자. 예전에 여행지의 이미지를 보여주는 식이라면, 현재는 여행지에서 체험할 수 있는 에피소드를 정리하여 영상으로 보여주기도 한다. 이에 한 발 더 앞서 나간다면, 가고 싶은 여행지를 미리 탐험해볼 수 있는 기술을 활용하는 것이다. VR, AR 등을 활용하여, 직접 가지 않았지만 마치 여행지를 미리 답사할 수 있는 경험을 할 수 있다. 외국어 공부는 어떤가? 우리 세대만 하더라도 외국어는 책, 바로 종이 위에만 존재했다. 조금 더 적극적인 친구들은 해외 서적이나 영화를 보며 회화 실력을 늘리기도 했다. 더 나아가 외국인 친구를 사귀거나 해외 연수를 가기도 한다. 이런 행동에는 물론 비용이 든다. 적거나 많거나 상관없이 비용이 수반된다. 장소와 시간적인 제약이 생기기도 한다. 이런 모든 것들을 IT기술을 통해 저렴한 비용으로 미리 경험할 수 있다면 어떨까? 해외연수를 가지 않아도 미리 다니고 싶은 학교의 수업을 경험하고 그곳 친구들과도 이야기를 나눠 볼 수 있다면 말이다. 제공되는 서비스나 제품이 단순히 눈속임으로 고객을 상대하는 것이 아니라 본질적으로 좋은 제품과 서비스를 제공하고 있다면 선경험을 통해 대부분의 잠재고객이 본 제품과 서비스로 이어질 수 있을 것이다. 특히, 이러한 선경험은 교육 사업에서 더욱 활발하다. 집단교육의 형태가 익숙한 우리의 경우, 수능이나 다른 자격증 시험을 준비하며 인강(인터넷 영상 강의)이라는 것을 겪었다. 물론, 인강의 편의성은 오프라인의 집단 교육과 비교했을 때, 더욱 분명해진다. 시간과 공간의 제약이 사라지며, 다수가 아닌 1:1 교육을 받는 집중도가 생긴다. 질의응답 게시판을 통해 실시간 문의도 가능하다. 물론, 온라인 강의는 오프라인의 시장을 잠식하지 않는다. 이 둘은 서로 보완의 관계를 가지며, 온라인 강의를 통해 오프라인 강의 사업 확장이 가능하며, 이는 다시 온라인 수요 확장으로 긍정적인 영향을 준다. 비즈니스 모델 관점에서 볼 때, 온라인 강의는 오프라인 강의의 맛보기 역할을 하기도 한다. 10분이나 20분 내외의 짧은 온라인 강의를 통해 진성 유저는 오프라인 강의로 유도하고 니즈가 없는 유저는 강의로 유도되지 않아 불필요한 소통이나 업무가 발생되지 않는다. 자, 어떤가?. 당신의 비즈니스의 서비스도 이처럼 개입 전략을 구사할 기회가 존재하는가? 두 가지 관점으로 살펴보면 된다. 작은 단위로 미리 줄 것이 있는가. 그리고 고객이 불안해하는 요소를 미리 헷지 할 수 있는가.     몸통을 흔드는 꼬리, 전략의 비즈니스화  최근 빙그레 바나나맛 우유가 흥미로운 빨대를 출시하면서 큰 인기를 끌었다. 여러 개의 우유를 연결하여 한 번에 마실 수 있는 빨대, 링거를 연결하여 호스로 우유를 빨아먹을 수 있는 빨대 등, 호기심을 자극하는 빨대들을 활용한 영상이 바로 그 이야기다. 영상에서만 그치는 것이 아니라 실제로 고객이 구매하여 직접 사용할 수 있도록 빨대를 한정판으로 출시까지 했다. 그 인기는 실로 대단했다. 빨대 출시와 함께 바로 품절 사태가 발생할 정도였다. 더불어, 이 빨대의 인기만큼이나 빙그레 바나나맛 우유의 매출도 늘어났으며, 오래된 브랜드에 새로운 활력을 일으켰다는 평가도 받았다. 우리가 평소 마케팅을 진행하게 되는 경우, 판매하고자 하는 제품과 서비스에 집중하곤 한다. 물론, 최종 목표를 이루고자 하는 노력의 결과다. 다만, 그 전의 행동 혹은 그 주변의 행동에 초점을 맞춤으로써 최종 행동을 하게 유도하고 결국, 최종 목표를 달성하게 하는 방식이 더 다양한 설루션을 만들 수 있게 한다. 바나나맛 우유가 맛있다, 신선하다, 저렴해졌다, 양이 많아졌다 등의 내용이 아니라 필수적으로 사용했던 빨대를 더 재밌게 만들었으니 이용을 권하는 방식인 것이다. 마치, 쇼핑몰의 경우, 매출을 더 올리는 것에 집중하는 것이 아니라 구매 과정 중, 바로 그 전 단계인 장바구니 버튼 클릭 수를 늘려 보는 식인 것이다. 트라이 닷컴(Try.com)이라는 쇼핑앱을 생각해보자. 여성분들이라면 쇼핑 중에 이 불편함은 모두 공감할 것이다. 바로 직접 입어 볼 수 없으니, 실제 배송 이후에 사이즈가 맞지 않을 경우, 그 절차가 불편하거나 귀찮다는 것이다. 그럼, 미리 입어 볼 수는 없을까? 물론, 주변에 동일 브랜드의 매장이 있다면 매장 방문 후에 결정해도 되지만 수많은 온라인 쇼핑몰이 매장을 가지고 있진 않을 것이다. 그렇다면, 이 구매 결정의 부담은 모두 소비자에게 넘겨지게 된다. 트라이 닷컴은 이 부분에 사업의 기회가 있음을 발견했다. 바로, ‘미리 입어보기’다. 여성들이 구매 전, 아무런 비용 부담 없이 원하는 브랜드의 옷을 7일간 입어보는 것이다. 미리 입어 볼 수 있게 옷의 물류비용 역시 제로다. 즉, 말 그대로 고객은 옷을 입어보고 살 수 있게 된 것이다. 이 사업의 본질은 그저 의류 쇼핑몰인 것이다. 더 좋은 옷, 더 나은 고객관리로 차별화를 두는 것이 아니라 고객이 옷을 온라인에서 구매하느 과정에서 공통적으로 하게 되는 걱정을 헷지 한 것에서 시작된 것이다. 출처 : 구글 이미지생각해보자. 고객이 옷을 미리 입어 불 수 있게 이 시스템을 관리하는 비용보다 한 번이라도 옷을 입어 본 고객을 통해 늘어난 수익이 더 크다면, 이 헷지 모델은 아주 강력한 세일즈, 마케팅이 되는 것이다. 입소문은 또 어떻겠는가. 자연스럽게 강력한 입소문을 탈 수밖에 없을 것이다. 우리나라에 비슷한 사례가 있다. 바로 스트라입스다. 스트라입스는 최초 론칭 시, 남성 맞춤 셔츠라는 작은 시장에서 시작했다. 그리고 그들은 자신들이 더 품질 좋고, 디자인이 우수하며, 더 저렴한 셔츠를 판매한다고 전면에 이야기하지 않았다. 그것보다 더 강조했던 것은 바로 코디네이터 무료 출장 서비스다. 웹을 통해 스트라입스의 코디네이터 방문을 신청하게 되면 위치가 어디더라도 방문하게 된다. 저자는 예전에 직접 코디네이터 방문을 신청하였고 만나게 된 장소는 카페였다. 놀랍게도 나에게 커피를 사주기까지 했다. 이런, 놀라운 경험은 그들의 말에 경청하게 하고 결국, 셔츠 구매로까지 연결시키게 만들었다. 물론, 커피를 사줘서가 아니다. 맞춤 셔츠 구매 과정은 복잡하고 귀찮기 짝이 없다. 미리 디자인을 볼 수도 없으며, 스튜디오에 직접 방문하여 치수를 재야 한다. 그런데 이 모든 과정에 나의 노력이 필요 없게 된 것이다. 이 부분도 위와 동일하게 생각해보자. 코디네이터 출장 서비스를 운영하는 비용보다 코디네이터를 통해 셔츠를 더 잘 구매하게 됨으로써 늘어난 수익이 더 많다면 이 역시, 훌륭한 세일즈, 마케팅이 되는 것이다. 우리는 무엇을 먼저 줄 수 있으며, 무엇을 헷지 할 수 있을까? 오늘 하루, 이 두 개의 질문에서만 답을 찾는다면, 당신의 마케팅 방향은 50% 이상 잡은 것이다. Q1. 당신의 서비스를 가장 작은 단위로 나눠, 미리 제공할 수 있는가?Q2. 당신은 고객이 구매 과정에서 갖는 걱정과 고민을 어떻게 미리 해소시켜 줄 수 있는가?오피노 자세히 보러 가기
조회수 6038

UI 사용성 평가, 쉽고 간편하게 하는 방법 #2

지난 글에서 UI 사용성 평가를 간단하게 하는 방법에 대해 소개하였었습니다.UI 사용성 평가, 쉽고 간편하게 하는 방법 (https://www.theteams.kr/teams/143/post/64513)그리고 '진행순서&방법'에 대해서는 가장 중요한 부분으로써 따로 분리하여 더 자세히 소개하겠다고 글 말미에 알렸었는데 오늘 본 글을 통해서 바로 그 부분을 소개하고자 합니다. 따라서 이 글의 문맥을 이해하기 위해, 먼저 지난 글을 확인하시는 것을 권해 드립니다. (그냥 보시면 뜬금없는 전개...)먼저 지난 글을 통해 DIY 사용성 평가 방법의 ‘진행순서&방법’에는 다음과 같은 6단계의 순서로  이루어졌다고 소개하였습니다.인사(4분) > 배경 질문(2분) > 둘러보기(3분) > 과제(35분) > 심층질문(5분) > 마무리(5분)본 글 속 상황은 본격적으로 위 6가지의 진행과정이 시작되는 순간으로써 테스트 참여자와 진행자가 디바이스 앞에 나란히 앉아 있는 상황입니다. 그리고 이런 상황에 처한 진행자의 단계별 진행 방법을 자세히 소개합니다.또한 글을 시작하기에 앞서,내용의 대부분은 질문에 대한 부분이 차지하고 있는데 바로 이 질문이 사용성 평가의 핵심이기 때문입니다.그렇기에 꼭 당부하고 싶은 부분은 테스트 간 질문 시에는  ‘왜?’라는 이유를 들을 수 있는 개방형 질문으로 하는 것을 반드시 권합니다. 개방형 질문을 잘 사용할 경우 폐쇄형 질문으로는 결코 알 수 없는 깊숙이 숨겨진 부분을 발견할 수 있기 때문입니다. 이에 대한 재밌는 영상이 있어서 아래  첨부하였으니 재미 삼아 가볍게 보실 수 있습니다.사전 준비테스트하려는 환경의 디바이스 (PC나 모바일 등), 스크린 녹화 프로그램, 스크립트 및 평가지 등을 준비한다.모바일 애플리케이션 등을  테스트하기 위해서는 모바일 화면을 PC로 볼 수 있게 하는 미러링 도구가 필요한데, 찾아보면 다양한 도구가 존재한다. 알고 있는 맥 기준 무료 도구로는 다음과 같은 도구가 있다.iPhone - Mac기본 맥 애플리케이션인 ‘Quick Time Player’로 가능하다. 아이폰과 맥을 USB 케이블로 연결하여 앱 스크린을 녹화할 수 있다.Android - Mac&Windows'모비즌'(https://www.mobizen.com)이란 도구가 있다'Quick Time Player' 를 통한 미러링 녹화 화면1. 인사(4분)참여자가 진행과정을 이해한 상태에서 평가에 임할 수 있도록 진행방법을 설명한다.‘안녕하세요 저는  oo입니다. 우리는 만들고 있는 서비스를 평가해 보고자 하며 약 1시간 정도 소요될 예정입니다'…(중략)'우리가 평가하려는 대상은 참여자가 아닌 서비스라는 것을  기억해주세요. 참여자의 행동이 옳은지 그른지 판단하는 것이 아니므로 어떤 행동을 하시더라도 틀린 행동이 아닙니다. 그러니 실수할까 봐 걱정하지 않으셔도 괜찮습니다.'…(중략)‘부정적인 의견에 우리가 불쾌할까 봐 걱정하지 마시고 생각하는 바를 명확히 알려주세요. 개선점을 찾기 위해 진행하는 것이니까요. 머릿속에서 생각하시는 모든 것을 입으로 소리 내어 표현해주세요.'…(중략)‘어떤 질문이든 편하게 해주셔도 좋습니다. 다만 질문의 답은 바로 드리지 못할 수도 있습니다. 왜냐하면 도와줄 사람 없이 어떻게 행동하실지 알아보기 위해 진행하는 것이니까요. 끝까지 궁금증이 풀리지 않은 부분은 평가를 마친 후 알려 드리겠습니다.'…(중략)‘평가 중인 화면과 대화는 녹화되고 있으나 얼굴이 나오지는 않으니 안심하셔도 좋습니다. 또한 절대 공개되지 않습니다.'이러한 내용들을 미리 안내하는 것은 중요하다.참여자들의 솔직한 의견을 듣고자 함을 미리 알릴 수 있는 과정이자, 평가 중 여러 어려운 상황을 미리 방어할 수 있기 때문이다. 또한 얼굴이 녹화될까 봐 걱정하시는 분들이 대단히 많으니 이에 대해서도 미리 알려드리는 게 좋다.2. 배경 질문(2분)참여자에 대해 몇 가지 질문을 던지다. 참여자의 긴장을 풀어주며 사전 지식을 가늠할 수 있다‘직업이 어떻게  되시나요?... 정확히 어떤 일을 하는 직업이죠?'…(중략)‘그렇다면 평소 인터넷 또는 스마트폰 사용시간이 어떻게 되나요?'…(중략)‘어떤 목적으로 주로 사용하시는지 비율과 함께 대략적으로나마 말씀해주세요'…(중략)‘평소 어떤 서비스를 많이 사용하시나요... 왜죠?'참여자가 어떤 사람이고 사용 행동 패턴은 어떤지 대강 감이 올 정도의 질문 몇 개로 시작하는 게 좋다.만약 질문에 정확한 답을 듣지 못하더라도 괜찮다. 이 과정의 목적은 진행자가 참여자의 이야기를 주의 깊게 듣고 있다는 사실을 전하며 답하는 내용에는 옳고 틀림이 없다는 것을 확인해 주는 과정이다.3. 둘러보기(3분)서비스 첫 화면의 첫인상으로 서비스가 제대로 이해를 전달하는지 파악한다.‘아직 클릭 또는 터치하지 마시고 먼저 첫 화면만을 둘러본 뒤 전체적인 느낌을 말씀해주세요... 왜 그렇게 느끼셨죠?'…(중략)‘제일 처음 어떤 부분이 시선을  사로잡았나요?... 그것은 왜죠?'…(중략)‘이 서비스는 어떤 서비스로  추측되시나요?... 그것은 왜죠?'…(중략)‘이 사이트에서 도움될 만한 부분이 있는지 생각해보시겠어요?'…(중략)‘가장 먼저 무엇을 클릭 또는   터치하시겠습니까?... 선택한 이유는 무엇이죠?'첫 느낌을 물어볼 때 많은 사람들은 서비스의 미적인 부분에 대해서  이야기하기도 하지만 이 반응에  일희일비하지 않아도 괜찮다. 그보다 더욱 신경 써야 할 부분은 서비스 자체가 사용자에게 한눈에  이해되는 것이기 때문이다.  그리고 앞서 소개했다시피 질문 후 어째서 그렇게 생각하였는지 알기 위해 ‘왜?’라는 질문도 더하도록 한다.4. 과제(35분)평가의 핵심적인 부분으로 참여자가 일련의 과정을 수행하는 모습을 관찰하는 부분이다.‘이제 몇 가지 과제를 해볼 텐데 머릿속에 떠오르는 내용들은 소리 내어 말씀해주시면 도움이 됩니다'…(중략)‘가장 먼저 하고 싶던 부분을 스스로 진행해보세요'…(중략)‘왜 죠?... 지금 어떤 느낌이 드나요?...  그다음엔 무얼 하실 건가요?'…(중략)‘이제 과제를 하나씩 드릴 텐데요 ex. 회원가입 후 로그인해보세요... 비밀번호 잊었다고 가정하고 비밀번호를 찾아보세요'이와 같이 스스로 서비스를 마음껏 이용해 보게 한 뒤, 다음 차례로 미리 준비해둔 과제를 3~4개 제공한다. 그리고 참여자 스스로 생각과 의견을 많이 말할 수 있도록 좋은 질문과 함께 역시  ‘왜?’라는 이유를 묻도록 한다.5. 심층질문(5분)과제 간에 행동을 유도할까 봐 미처 하지 못했던 질문을 할 수 있다.‘과제는 다 마쳤고 몇 가지 여쭤보겠습니다. ex. 가이드가 있었는데 왜 스킵하셨나요?'…(중략)‘그렇다면 ex. 가이드에 주의를 기울이지 않은 이유는 무엇인가요?'…(중략)‘아까 질문에 답 못해드렸는데 그것은 ex. 갤러리 화면 이었습니다. 이에 대해 어떤 생각이 드나요?'위 예시의 질문들은 과제 수행 중 질문하였다면 참여자에게 미리 편견을 주거나 행동을 유도할 수 있었을 것이다. 때문에 이러한 종류의 문의는 꼭 심층질문으로 따로 빼서 질문하도록 한다. 질문에 답하지 못했던 부분도 마찬가지이다.6. 마무리감사인사와 함께 마친다.이것으로 스타트업에서 사용할 수 있는 사용성 평가 방법인 'DIY 사용성 평가' 방법에 대해 소개를 마쳤습니다.[사용자를 생각하게 하지 마 Don't make me think] 책의 내용을 참고하여 직접 실무에서 사용했던 방법들을 덧붙여 작성하였는데 역시 자세한 내용은 책을 추천합니다.쓰다 보니 ‘왜?’라는 질문을 짧게 넣기 위해서 공격적이고 단편적으로 작성된 경향이 있는 것 같습니다. 여러분이 실제 사용할 시에는 좀 더 부드럽게 질문하길 권해드리며, 또한 단편적인 면만이 아닌 '왜 좋고, 왜 나쁜지' 양측 의견을 모두 들을 수 있도록 질문하길 권해드립니다.한 달에  한 번씩 UX나 실무 관련 글을 작성하고자 합니다. 다음 글은 내년 1월에 뵙겠습니다.새해 복 많이 받으세요!참조 : [사용자를 생각하게 하지 마 Don't make me think]#텐시티 #UI #UX #사용성개선 #사용성평가 #업무프로세스 #인사이트
조회수 1627

김태곤 회장,대기업에 엑싯하기 & 베트남 시장 현황.

베트남 식품사업, 도전이라 묻고 성공이라 답하다.2:00 ~ 3:00 김태곤 회장 강연3:00 ~ 3:30 베트남 시장 현황 & 질의 응답[강의 전문]베트남에서 1/3을 살고 있는 나.1. 나는 왜 베트남인가.2. 나는 왜 김치를 택했는가.3. 지금 어떻게 살고 있는가.1993년도에 우리나라 대전 엑스포라는 프로젝트가 있었는데 내가 거기서 일했는데 광고 출판쪽으로 하고 있다. 우연한 기회에 베트남을 3박 4일을 갔다 여기서 내가 살 곳이라고 생각이 들어서 1994년에 그냥 보따리 사들고 갔다. 그때 나는 한국이 너무 무서웠다. 사람들이 다 똑똑하고 영리해서.. 나는 그때 좀 그렇지 못했고 사는게 무서웠다. 경쟁이 나한테 맞지 않았다.나는 광고, 출판일을 했는데 그때 대기업들이 막 베트남에 진출하려고 할 때였다. 그때 매체가 많이 발달하지 않아서 옥외광고 위주로 일단 일 했다. 그러다가 IMF. 그러다가 나도 한국에 왔는데 5년동안 진짜 안해본 일이 없다. 여자 속옷부터 옷 장사부터... 근데 그때 한국이랑 안맞다고 생각했다. 그러다가 호치민갔는데 75불 있었다.2004년 내가 식품에 식자도 몰랐다. 원대한 꿈을 가지고 베트남의 한국의 이커머스를 해보자. 이렇게 생각했었다. 근데 나는 그때 수중에 75불.. 그래서 어떻게 돈벌지.. 이런 고민을 하다가 그때 베트남 내 친구들이 있었는데 얘네들이 김치를 되게 좋아하더라. 그래서 김치를 만들어팔까.. 고민을 했다. 그래서 인터넷 뒤지고 한국 식당가서 눈여겨보고 사람들에게 묻고 그러다가 4개월동안 매일 아침 김치를 만들었다. 김치도 근데 썩더라. 그래서 아침에 담그고 저녁에 확인하고, 저녁에 담그고 아침에 확인하고 이렇게 4개월쯤 했다. 그리고 나니깐 아 이런게 김치구나. 근데 당시에는 좀 돈이 필요했다. 그래서 슈퍼에 가서 팔아야하는데 그떄 무슨 식품 인증 이런 것도 아무것도 없었는데 내가 좀 팔아보자하니깐 그때 구정이기도 했고 드라마에서 김치, 김밥, 떡볶이도 먹고 이런게 또 많이 나오다보니깐 나는 김치를 선택했다.김치를 만들고 오토바이 타고 가서 슈퍼에 진열해놓고.. 그때 아 사람들이 진짜 내것을 살까? 내가 1시간 마다 가서 가슴 졸이면서 김치 확인을 하는데 하루 동안에 20개가 다 없어지더라. 어.. 신기하다.. 사먹네.. 근데 이게 재구매로 이어질까?? 그 다음에 40개 갖다놓으니깐 또 다 팔리더라.그래서 그 다음날부터 물건량을 조금씩 늘려갔다. 근데 반응이 계속 오더라. 그 다음에는 슈퍼를 늘려가기 시작했다. 이렇게 해서 회사의 형태를 갖추기 시작했고 광고, 슈퍼, 이커머스 일단 이거 다 때려쳐야곘다. 이걸로 승부를 봐야겠다. 김치로 해보자. 하루에 20개 500g 으로 시작한게 10,000개까지 갔다.그때 비하면 지금 베트남은 상전벽해. 그때 교통편이 너무 안좋았는데 호치민> 하노이 어떻게 보내나? 트럭이 3일동안 간다. 냉동 트럭이. 근데 예네들이 기름 아낄려고 냉동을 끈다. 그러면 그 안에 신선 식품이 어떻겠냐. 그리고 또 김치를 먹여봐야겠다고 생각해서 베트남 전곳을 돌아다녔다. 그때 나는 가장 한국적인 것이 가장 세계적인 것이다. 라고 느꼈다.베트남처럼 그렇게 물류 인프라가 안좋은데 어떻게 가능했나? 1,000곳이 넣는 곳에 유통 했는데. 우리는 브랜드 파워로 어느 슈퍼든지 새 슈퍼가 생기든지 우리 브랜드를 초청하더라.왜 CJ에 매각했나? CJ가 동남아에 진출을 해야되니깐 그 진출지를 베트남으로 진출하고 CJ재단이 식품 사업으로 진출해야되는데 김치, 두부 등.. 들어가야겠고.. 우리 브랜드는 옹킴 김치. 이 옹이 나이 많으신 옹. 그런데 우리는 김옹 최옹 박옹 이런걸 높은 사람한테 쓰지만 미스터를 번역하면 베트남으로 옹이 된다. 그래서 처음 20개 낼 때 브랜드를 등록해놓고 시작했다. 옹킴, 미스터킴 등록해놓고 시작했다.CJ가 보니.. 옹킴이 뭔가 왔다갔다 하는거 같고.. 처음에는 같이 하자고 안했다. 지네들이 해보려고 했는데 자꾸 내가 거슬린거지. 그때는 베트남에서 우리가 김치의 대명사였다.주위에서는 너 왜 CJ한테 주냐.. 이렇게 판단하는데 나는 내부적으로 좀 여러 애로 사항이 있었다. 일단 처음에는 거절했다. 3년 있다가 또 왔는데 나는 그때 더 커져있었다. 지금도 베트남 시장에서 우리가 점유율이 80% 이상이다. CJ 뭐든지 들어와도 옹킴을 못이기니깐 그걸 스스로 알게된 것.그때 이제 M&A 과정에서 실사를 하게 된다. 처음에는 브랜드 벨류 가자고 산다고 했는데 20명, 30명 막 들어와서 우리 회사를 뒤지는데 화가나서 다 나가라고 했다. 그러는 서로 우여 곡절이 있다가 M&A 를 결국 했다. 속은 편했는데 내 손에서 떠났다는게 좀 마음이 씁슬했다. 이제는 가끔씩 생각은 나지만 지금은 그때 준 돈으로 잘살자.. 그렇게 편하게 생각하고 있다.베트남 쉽지는 않다. 근데 정말 기회가 많은 것 같기는 하다. 너무 큰 그림 말고 뭐 동남아가 답이다. 이런 것보다는.. 베트남이 답이다 나는 이건 맞을거라고 생각한다.안태양 대표, 동남아시아 진출 방향우리 한달 5일 정도를 제외하고 한국에 있는 날이 별로 없다. 그래서 한번에 기회가 될 때 말해야겠다라고 생각했다. 효과적으로 작은 기업들이 갈 수 있는 방법들이 가 있을까 고민했다. 현재는 김치 파우더를 만들어서 청우식품과 협업하고 있다. 내가 음식을 좋아하는 이유는 음식을 통해 체험하는 문화의 경험이 강력하다라고 생각하기 때문에. 브랜드 마케팅 전략을 되게 잘 짜는게 중요한 것 같다. 이걸 잘해놓으면 각자에서 고민하고 있는 많은 부분들을 해결할 수 있을 것 같다. 브랜드의 정체성을 잘 가져가는 게 중요.동남아에서 사업을 한다?1. 다양한 브랜드를 리스트업 해놓는 기록을 꾸준히 하는 습관을 들이고2. 이 중에 브랜드를 고르면 핵심 컨셉 한 줄 (우리는 김치 파우더가 아닌 포지셔닝한게 시즈닝 플레이버로)3. 가격 정책이렇게 하고 나면 5만원으로 쓰면서 남자? 여자? 가 반응하는지 나만보기로 공유하는지, 전체 보기로 공유하는지 등등 자세하게 데이터들을 쪼개서 보는 연습을 하고 빠르게 테스팅한다.[Q&A 김태곤 회장님]Q1. 꼭 베트남 진출할 때 알아야되는 것?A1. 베트남에 대해서 참 지식들이 부족한 걸 느낀다. 너무 쉽게 생각하는 것 같다. 기회는 정말 많지만 만만한 나라는 아니다.Q2. 하겐다스 아이스크림 성과가 잘 나나?A2. 아이스크림이 베트남에서 우리만큼 좋아하지는 않는 것 같다. 처음에는 좀 호기심에 먹는 것 같다. 특히 우리나라에 빙그레가 아이스바로 나오는거 많이 팔기는 하는데 그걸 가지고 회사가 직접 진출하기에는 좀 그런 것 같다. 하겐다스 내가 또 좋아해서 가긴 가는데 사람이 많지는 않은 것 같다.Q3. 베트남 비즈니스맨들의 성향?A3. 베트남 사람들은 신기하게 친구되기가 좀 힘들다. 10년동안 같은 사무실에서 일하다가 퇴사하고 헤어지면 그때부터는 남남이 된다. 자기한테 이익이 되지 않으면 사정없이 돌아선다. 이 사람들 문화가 그런 것 같다. 이런 걸 조심해야될 것 같다.A4. 운영하실 떄 노하우 3가지는?Q4. 첫째, 사람이다. 사람을 믿지 마라. 내 간까지는 안 빼줘야겠다. 이런 마음을 가지고 친절하게. 베트남 사람들은 체면을 참 중요시한다. 둘째 사람들이 거짓말을 잘한다. 세계에서 1등할 것 같다. 거짓말. 우리는 표가 나는데 이 사람은 전혀 티가 안난다. 회사 조직 내에서 거짓말 하는 사람이 있다? 그럼 거기서 금전 사고도 날 수 있다. 어느 한 사건은 우리 회사를 다 빼돌려서 김치 공장을 차리는 사례도.. 셋째, 관공서랑은 간 다 빼놓고 다 내놓는게 중요하다. 위에서 밑으로 내려올 뿐만 아니라 밑에서 올라가는 것도 중요하다. 나 누구누구 아는데 그런거 잘 안먹힌다.베트남에 "고깃집", "고기" 프랜차이즈 집들이 있는데 또 "코리안 바베큐" 이런 것도.. 근데 이거 다 베트남 사람들이 하는거. 아쉬운 것은 우리 쌀국수가 베트남에 맛에 어울리는 쌀국수였으면 좋겠다.. 그리고 너무 비싸다. 베트남은 우리나라 돈으로 한 고급이라고해도 3천원 정도. 제대로 된 쌀국수도.2500불 수준. GDP 호치민은 6000불 넘었다. 베트남은 무조건 맞벌이를 한다. 그러니깐 받는 월급이 2x 를 하면 1만불이 넘는다. 이런 인구가 1,100만명. 이제는 고급화, 안전한거, 위생적인거 점점 찾고 있는 것 같다. 싼가격보다는 중이상의 가격들의 식품들을 찾아가고 있는 것 같다. 싸구려로 들어가면 실패한다.Q5. 첫 해외 진출을 하는 기업에게 한마디.A6. 일단 빨리 부딪혀보는게 중요한 것 같다. 계산만 하면 세월 보낸다. 100% 계획하기보다는 어느정도 자신 있다라고 하면 일단 빨리 보따리 싸고 가야되는 것 같다.Q6. 한국 컨셉으로 베트남 진출해서 프랜차이즈가 가능한가?A6. 한국에서 재료를 가져가서 사업을 베트남에서 한다는 건 타산이 맞을 수가 없다. 나 같은 경우는 모든 것을 현지에서 생산하고 고춧가루만 가져갔다. 베트남에서 한국 음식이 비싸다라고 해서 못사먹는 사람들이 많다. 우리 김치도 중산층 이상이다. 그래서 베트남은 인구가 1억인데 상위를 보면 1천만명.  90% 는 버리고 10% 를 타겟해서 사업해야된다. 된장찌개 못먹는 사람은 버리고 가야된다.Q7. 베트남에서 가장 사업의 큰 고난은?A7. 특히 식품 제조, 유통은 가장 중요한게 교통 인프라다. 물류 인프라. 그게 진짜 너무나 힘들었다. 김치는 신선 식품이기 때문에 가는 도중에 다 발효가 되고 어떤 컴플레인 중에는 김치가 빵 하고 터져버린거. 슈퍼에서 컴플레인. 발효 가스 때문에 터진 것. 물류 과정에서 핸들링하지 못하는 사건들.. 우리한테는 딱 먹기 좋은데 물건이 도착하면 너무 발효된 것. 자재 수급 이런거 다 가능.Q8. 베트남 점포 선정에서 골라야되는 팁?A8. 베트남 사람들은 개개인의 기동성이 진짜 좋다. 오토바이 타고. 조그만한 골목도 다 다닌다. 균형이 감각이 굉장히 뛰어난 것 같다. 오프라인을 낸다면 구태어 시내 한복판일 필요없다. 어느 골목이든지 베트남은 사람이 많다. 장소 선정하는데 우리나라처럼 하지 말 것. 이 사람들은 입소문만 나면 다 찾아온다. 우리 커피숍 같은 경우에도 골목에 있다. 오토바이 주차할 공간만 만들어놓으면 된다.Q9. 베트남 디지털 마케팅?A9. 내 아는 사람은 온라인으로 뉴질랜드에서 매달 컨테이너 4개를 베트남으로 유통시킨다. 누구를 타겟팅하는지에 따라서 디지털 마케팅 전략이 나올거다. 그리고 모든 어떤 이벤트이던지 참여를 해보는 것을 추천한다. 브랜딩이 이벤트 거점으로 빠르게 잘되는 것 같다. 베트남 사람들 중에서도 온라인에 더 많은 DNA를 가지고 있는 타겟이 있다.Q10. EXIT에 대한 후회는 없나?A10. 내가 김치 사업을 시작할 때 50살이였다. 너무 절망했던 때였다. 지금 준비하고 있는게 한국의 고급 애완동물 사료를 만드는 수위사들 몇명이 있는데 그걸 베트남에 가져가서 파는거 생각하고 있다. 좀 많이 진행되었다. 애완견 시장이 엄청나게 큰 시장이다. 베트남도 강아지 엄청 좋아한다. 로얄 캐닌 같은거를 보통 먹이고 그게 제일 좋은 걸로 안다. 나느 유기농으로 포지셔닝으로 해서 생각하고 있다.내 친구도 하나를 키우고 있는데 일주일에 한번씩 강아지 스파를 간다. 우리나라 같이 그렇게 비용이 안들기 떄문에 가는거. 펫 사료가 굉장히 비싸다. 로얄 캐닌 이런거 2-3배다. 친구한테 이거 사람도 먹을 수 있는거니깐 휴먼그레이드. 이거 살래? 하니깐. 안사. 왜 안사 하니깐 너무 비싸.. 이런식으로 타겟하고 있는 시장을 제대로 세그먼테이션을 하면 한번 부딪혀 볼 수 있다. 그런 그걸 살 수 있는 사람들에게 그 시장만 공략하면 오히려 접근하는게 더 쉽다.[안태양 대표]동남아시장에 크리스마스 시즌 막 이럴때 펫 호텔이나 이런 것들 자리가 벌써 다 쳐버린다. 먹는거, 간식 같은 것 보면 브랜드로 같은 용량을 비교해보면 한국보다 비싸다. 1.5배 더 높다. 근데 슈퍼마켓에서 산다. 온라인으로 딜리버리안되.주목해볼만한 반려동물 시장.. 동물병원을 준비하고 있는 아는 팀도 있는데 여기는 여기 강당 두배 되는 크기에 아예 현지인들한테 진입장벽이 있게 만들려고도 계획 중이다.  베트남은 시장이 다 열려있다. 여러분이 생각하는거 다 있다. 세그먼트 잘 잡으면 된다.나는 엑싯한번 해보는 걸 추천한다..사업이 커져도 돌아서면 내가 돈이 없다. 여유가 없더라. 맨날 돈 구하로 다니고.. 나같은 경우는 지금 커피 사업을 김치 사업만큼 막 열심히 못한다. 나이가 드니깐 좀 귀찮아지고 아무래도 좀 내가 여유로워서 그런 것 같다. 근데 젊은 사람들은 그럴 것 같지 않다. 엑싯을 할 수 있으면 하는게 좋다. 할거면.. 좀 돈 많은 기업한테 엑싯을. 자기 벨류를 높이려면 네이밍을 잘하고 브랜드를 잘 만들어놓아야 한다. 베트남이면 베트남에 어울릴 수 있는 브랜드스러운 것과 이름이 있는 것.Q11. 베트남 생활 구조?A11. 베트남 주택 구조 ,내가 갔을때만 해도 한 집이 큰 방 하나 밖에 없다. 운동장처럼. 베트남은 길거리 음식이라고 또 절대 무시하면 안된다. 그 사람들은 그게 생활이다. 아무리 돈 좀 있는 사람이더라도 그 사람의 라이프 스타일이고 그 사람의 문화다. 밤되면 베트남은 오토바이가 엄청 많이 나온다. 아침, 점심, 저녁 대부분 맞벌이 >> (다 사먹어)  미들 클래스 라인? 이게 베트남 시장에서 F&B가 어려운게 다 맛있는데 가격이 넘 싸서. 500원짜리 쌀국수랑 7,000짜리 쌀국수랑.. 별 차이가 안난다는 것. 김치를 사먹는 사람은 중산층이상. 기본적으로 냉장고를 가지고 있는 사람. 품질을 낮춰서 가격을 낮춰야지 이런 접근은 망하는 접근 법.PPL. 페오펫에서는 위대한 마케터를(CMO) 모시고 있습니다. 커피 한잔 하실 분은 연락주세요.#페오펫 #peopet #아이디어기업 #기업문화 #목표 #비전 #각오 #이벤트참여 #이벤트후기
조회수 1367

[시장보고서] 애플리케이션 성능관리 시장 분석 및 전망 (2016~2018)

< 데일리그리드 APM 시장 보고서>데일리그리드의 2017년 APM의 시장 전망 보고서를 공유합니다. 데일리그리드는 2012년부터 APM 시장 전망 보고서를 만들어 왔습니다. 이 보고서에는  2017~ 2018년 시장 전망, 기술 트랜드, 2016년 벤더별, 인더스트리별 시장 점유율을 상세히 분석한 내용이 담겨 있습니다.  국내 APM 시장에 대한 분석과 전망을 통해 APM 시장에 대한 인사이트를 얻으세요. 제니퍼소프트, 고객의 니즈 적극 대응하며 선두 유지 기업들은 원활한 애플리케이션 운용을 위해 WAS 모니터링은 핵심적인 역할을 하고 있다. 이 때문에 선두 업체인 제니퍼소프트의 매출과 시장에서의 입지는 매우 견고한 것으로 볼 수 있다.최근 시장에 다수의 IT벤더들이 APM 솔루션을 출시하며 시장에 진출했지만, 아직 큰 영향력을 발휘하지 못하고 있다. 다만 이들 벤더들이 저가 공세로 시장을 흐리고 있어, APM 솔루션에 대한 단가 하락 우려가 커지고 있는 상황이다. 이러 상황에서 제니퍼소프트는 지난해 65%의 점유율로 여전히 높은 점유율을 보였다. 이 회사는 APM 시장조사를 시작한 2009년이래 APM 시장에서 선두를 유지해왔다.견실한 성장의 이유는, 애플리케이션 성능 장애의 원인을 빠르게 분석해서 애플리케이션 서비스의 안정화를 이룬다는 WAS APM의 근본적인 역할에 대한 수요가 꾸준하기 때문이다. 또한 경쟁업체들이 꾸준히 등장했지만, WAS 모니터링 영역에 대한 기술 투자를 기반으로 대용량 데이터를 원활히 모니터링하는 등 기술 우위를 기반으로 시장에서의 입지를 놓지 않았기 때문이다.제니퍼소프트는 다양한 제품으로 라인업을 늘리기보다는 지속해서 성장할 분야에 대한 연구개발을 통해 제품의 경쟁력을 갖추어 왔다.또한, 제니퍼는 완성도 높은 제품력과 시장 지배력을 인정받아 가트너의 ‘매직 쿼드런트’에 2016년 첫 등장했다. 제니퍼소프트는 올해 매직 쿼드런트에서 ‘틈새업체’로 선정되면서, 글로벌 APM 업체들과 어깨를 나란히 하게 됐다.  보고서 관련 문의는 제니퍼소프트 김윤희 차장 ( [email protected])을 컨택하여 주세요. 제니퍼 고객의 경우,  확인 후 보고서를 보내드립니다.   보고서 기사 전문=> http://www.dailygrid.net/news/articleView.html?idxno=53093지난해 제니퍼소프트가 APM 시장서 점유율 1위로 시장을 선도했다. 또한 침체기를 맞았던 EUE(엔드유저경험) 시장이 지난해 도약했다.  데일리그리드(DailyGrid)의 리서치센터가 2017년 3월 5일부터 4월 10일까지 기업 및 공공기관을 대상으로 방문, 전화, 설문 등을 통해 APM 시장 조사를 실시했다.  조사결과 WAS 모니터링, EUM 매출을 모두 포함한 2016년 전체 APM 시장은 272억원으로, 2015년 총매출인 256억원 대비 6.2% 증가했다. 지난해 매출이 증가하면서 2014년 매출에 근접하는 모습을 보였다.  2016년 WAS 모니터링 제품에 대한 신규 라이선스 총 매출액은 엔드유저(최종구매고객) 기준으로 190.8억원이었다. 이는 2015년 매출 202.5억원 대비 6.1%. 감소한 수치로 시장이 축소됐는데. 경기 하락에 따라 기업들이 IT투자에 소극적이었기 때문에 시장이 성장하지 못한 것으로 분석된다.WAS APM 분야에서 제니퍼소프트의 매출은 전체시장 매출의 64%를 차지하며 시장을 리드했다. 기업들은 원활한 애플리케이션 운용을 위해 WAS 모니터링은 핵심적인 역할을 하고 있다. 이 때문에 선두 업체인 제니퍼소프트의 매출과 시장에서의 입지는 매우 견고한 것으로 볼 수 있다. 또한 경쟁업체들이 꾸준히 등장했지만, WAS 모니터링 영역에 대한 기술 투자를 기반으로 대용량 데이터를 원활히 모니터링하는 등 기술 우위를 기반으로 시장에서의 입지를 놓지 않았기 때문이다.반면 BTM 시장을 포함한 EUM 시장은 부진을 털어냈다. 2016년 EUM 시장은, 제품의 신규 라이선스 기준으로 86.4억원으로 2015년 53.5억원 대비 61% 성장했다. 보고서 관련 구매 문의=>  데일리그리드 기사링크 
조회수 909

바이럴루프, 중요한건 알겠는데 어떻게 적용할래?

** 본 글은 문돌이 PM의 마케터 따라하기 시리즈 입니다.** 1화 보기 - 초기에 할만한 ASO (앱스토어 최적화) 팁** 2화 보기 - 초보 PM이 알아야 하는 초기 모바일앱 분석 101** 3화 보기 - 스타트업 브랜딩: 내가 보는 나와 너가 보는 나의 일치** 4화 보기 - 홍보영상 직접 제작해서 수백만원 절약해보자바이럴 루프 (Viral Loop)라는 말을 들어봤는가? 아마도 들어봤을 것이다. 소위 스타트업 한다는 분들은 모두 이 얘기 하고 다니고 있으니까 말이다. 그런데 솔직히 들어는 봤고 그게 내 제품 추천해주는 소비자가 얼마나 많은지랑 관계된 개념정도로 이해하고 있거나, 혹여 정확한 개념을 알고 있어도 이를 실제로 적용해 본 적은 없는 사람이라면 꼭 이 글을 정독하길 바란다. (나도 역시 우리 개발자한테 혼나면서 배우기 전에는 그런 사람들 중 한 명 이었다.)도대체 누가 그린 그림인지는 모르겠으나 바이럴 루프에 대해 아주 명쾌하게 설명한 그림.우선 바이럴 루프의 개념부터 살펴보도록 하자. 바이럴 루프는 Loop라는 단어에서 알 수 있듯이 소비자가 새로운 소비자를 끌고오는 매커니즘이 일종의 선순환 고리가 형성되는 것을 의미한다. 즉, 제품을 사용하는 소비자가 → 다른사람한테 공유하고 (SR - Share Rate) → 이걸 본 새로운 사람들이 → 그걸 클릭해서 내 제품으로 유입되고 (CR - Click Rate) → 이사람들 중 일부가 또 새로운 사람에게 공유를 해서 이게 루프처럼 돌아가게 되면 '바이럴 루프'가 생겼다고 말한다.바이럴 루프 개념에서 가장 중요한 것은 Viral Coefficient (VC)를 계산하는 건데, 계산 방법은 여러가지가 있지만 우리 바크 (Bark) 앱에서 쓰고 있는 방법은 다음과 같다. (% of users who invites × average number of people invites) × % of sent invites accepted뭐 영어로 써 있어서 뭔가 있어보이지만 사실 별거 아니고 크게 2 부분으로 나뉘어 있는건데 [유저가 다른 유저 초대하는 비율] × [초대받은 사람들이 억셉트 하는 컨버젼 비율] 이 두개를 곱해서 VC를 구하는 것이다.  우리는 매일 Viral Coefficient를 측정해서 User Project를 예상하고 현재 달성율과 비교해 본다.위의 표에서 두가지 결과값을 주목해야 하는데 첫번째는 물론 방금 계산한 VC이고, 두번째는 Loop Cycle이다. Loop Cycle (LC)은 기존 유저가 다른 유저를 초대해서 그 유저가 수락할때 까지의 1 사이클이 도는데 걸리는 시간을 의미한다. 바크 앱의 경우 평균 6일이 소요된다. VC는 1보다 커야 유의미한건데 예를들어 바크 VC가 1.18이라는 뜻은 100명의 유저로 시작하면 기존 100명에 바이럴루프로 유입된 118명이 합해져 위의 LC시간이 지나면 유저가 218명이 되어 있는거고, 이게 또 한번 LC시간이 지나면 475명이 되어있고, 계속 1035명, 4918명... 이런식으로 특별한 마케팅 홍보 없이 기존 유저만 가지고도 exponential curve를 그리게 되는 아주 아름다운 현상이 벌어지는 것이다. (물론 실제 현실에서는 저 VC가 1보다 클때도 있고 적을때도 있고 계속 변하기 때문에 저런 아름다운 커브는 초기에는 잘 그려지지 않는다.)언제나 처럼 서론이 길었다. 이 글에서 말하고자 하는 본문은 사실 이 바이럴 루프를 잘 계산해 보자가 아니라, 이런 아름다운 개념을 실제 내 서비스에 어떻게 적용해 볼 수 있을까에 대한 것이다. 내가 운영하는 서비스가 앱서비스이기 때문에 앱 비즈니스 중심으로 이야기가 전개되니까 알아서 본인 상황에 맞게 가감해서 듣길 바란다.1단계 - 유저가 내 앱이 너무 좋아서 알아서 주변사람들에게 공유해 줄거라는 순진한 상상은 버리자나도 초기에 범했던 오류이다. 우리는 제품만 좋다면 순진하게도 사용자가 알아서 "우와 대박, 이거 써봤어?" "나 쓰고있으니까 너도 써봐" "젠장, 이렇게 좋은걸 나만 쓰고 있을 수는 없지" 뭐 이런 생각이 들게 만들 수 있고, 알아서 주변사람들을 다단계 하듯이 내 앱을 다운받게 할 거라고 생각한다. 안타깝지만 이런 마법과 같은 일은 절대로 초기 앱 서비스에서는 발생하지 않는다. 설령 내 유저가 저런 생각을 알아서 들게 할 정도로 제품이 엄청나게 훌륭하다 하더라도 실제로 저 생각을 행동으로 옮기는 이는 아주 극히 드물다고 보면 된다. 즉, 유저가 아무 댓가 없이 본인이 쓰고 있는 앱을 주변 사람에게 추천해 주는 행위의 가격은 엄청나게 비싸다는걸 인정해야 한다.내 앱이 너무 훌륭해서 유저가 알아서 이런 다단계 행위를 해줄거라는 순진한 상상은 버리는게 바이럴 루프 전략 1단계 이다.2단계 - 내 앱에 희소성 오브젝트를 포함시키자초기 앱이 바이럴 루프를 생성시키려면 어떤 형태로든 간에 앱을 사용하는데 있어서 사용자가 어떤 희소성을 느끼게 만드는 희소성 오브젝트를 포함시키는게 아주아주 중요하다. 예를들어 옛날에 대 히트를 쳤던 애니팡은 게임을 내가 원한다고 무한정 할 수 있는게 아니라 '하트'라는 일종의 에너지 같은게 필요했고, 이 하트를 다 쓰고 나면 게임을 할 수 없게 만들었다. 또한 하트는 8분에 1개씩 자동 생성되게 만들어 놨는데 이는 게임을 계속 하기에는 턱없이 부족한 수준이라 사람들이 이놈의 하트를 얻기 위해 주변에 추천을 하거나 아예 돈주고 구매하도록 되어 있었다. 바로 애니팡의 '하트'가 아주 대표적인 희소성 오브젝트이다. 즉, 사용자로 하여금 내 앱을 무한정 사용 가능하게 하는게 아니라 어떤 제한 장치를 걸어서 사용자들이 희소성을 느끼게 만드는 오브젝트인 것이다.애니팡의 저 하트를 얻기 위해 하트 구걸 앱까지 쏟아지는 상황이 벌어질 정도로 애니팡의 하트는 앱 역사상 최고의 희소성 오브젝트였다.바크에도 이런 희소성 오브젝트가 있는데 바로 '바크 에너지'이다. 바크 에너지는 모든 유저가 기본적으로 100씩 가지고 있고, 한번 짖을때 마다 1씩 감소하고, 메시지 바크를 보내게 되면 10씩 감소한다. 물론 1분에 1%씩 자동으로 차게 만들어 놨지만 애니팡과 마찬가지로 바크 헤비 유저들에게는 턱없이 부족한 수준이기에 이게 희소성 오브젝트 역할을 하고 있다.바크에는 '바크에너지'라는게 있어서 사용자가 바크를 짖을때 마다 저 가운데에 보이는 배터리 바가 금방 닳아 없어진다.3단계 - 희소성 오브젝트를 활용해서 추천에 대한 보상으로 제공하기본인의 앱에 희소성 오브젝트를 만들었고, 이게 실제로도 뭔가 유저들에게 희소성을 느끼게끔 하는 오브젝트로 잘 작동하고 있다면 이제 이 오브젝트를 활용해서 유저들에게 추천에 대한 보상으로 제공하는 기작을 만들 차례이다.다시 애니팡 사례로 돌아가보면, 애니팡에서는 모두가 알다시피 저 하트를 구하기 위해 사람들에게 카톡 메시지를 뿌려대야 했고, 그 중 일부가 그 메시지를 보고 애니팡으로 들어오면 내가 하트를 겟할 수 있는 기작이 마련되어 있었다. 즉, 애니팡의 희소성 오브젝트인 '하트'를 유저들에게 추천 행위의 보상으로 제공하는 기작을 처음부터 만들어 놨기에 아주 초기부터 바이럴 루프가 형성될 수 있었던 것이다.이놈의 하트 구걸 카톡이 짜증나서 카카오톡을 지워버린 사람들도 여럿 있었을 정도로 애니팡의 추천제도는 바이럴 루프 전략의 전설이 되었다.바크에서도 역시 추천에 대한 보상 개념으로 희소성 오브젝트인 바크에너지를 다음과 같이 활용하고 있다. 앱 내에 'Invite Friends'라는 친구 추천 버튼이 있는데, 그 버튼을 클릭하게 되면 그 사용자의 ID 넘버가 포함된 앱 다운로드 URL이 자동으로 생성되고 이를 SNS나 주변 사람들에게 뿌린 후에 누군가가 그 URL을 클릭해서 앱을 다운받게 되면 그 유저는 +10 point의 추가 바크에너지를 얻게 된다. 즉, 처음에 Max 바크 에너지가 100이였는데 친구 1명 초대하면 Max가 110이 되는 것이다.바크 앱 내에 있는 친구 초대하기 버튼을 통해 주변 친구를 소환하면 추가 바크에너지 10% point를 얻게 된다.바크 앱은 현재 이 기작을 통해 바이럴루프를 만들려고 노력하는 중이고, (물론 애니팡같은 전설에 비해 먼지같은 수준이기는 하나) 이를 통해 2주만에 무려 70명 넘게 소환한 사람도 있을 정도로 반응이 괜찮은 편이다. 아직 정식 출시한지 한달남짓 밖에 안된 앱이라서 이 바이럴루프 기작은 앱의 성장에 아주 큰 도움이 되고 있다.지금까지 논의한 내용을 총 정리해 보면 다음과 같다.1. 바이럴 루프는 계산하는게 중요한게 아니라 저 루프를 어떻게 만드느냐가 중요하다.2. 내 제품이 좋으면 초기 유저들의 추천 만으로도 Viral Coefficient가 1이 넘을거라는 순진한 상상은 버려야 한다.3. 내 제품에 유저들이 뭔가 희소성을 느끼게끔 만드는 희소성 오브젝트를 반드시 만들어 놔야 한다.4. 희소성 오브젝트를 유저 추천 행위의 보상으로 활용하자.한가지 덧붙이자면 개인적으로 4번, 즉 유저 추천행위의 보상으로 본인 제품에 탑재된 희소성 오브젝트가 아닌 다른 현금성 보상 이벤트로 대신하는건 좋지 못하다고 본다. 왜냐하면 위에서 설명했듯이 Viral Coefficient가 1이 넘지 못하면 아름다운 exponential curve가 생성되지 않는데, 현금성 보상 이벤트를 돈이 넘쳐나서 계속 진행할 수 있는것도 아니고, 설사 그렇다 해도 현금성 이벤트는 금방 내성이 생기기 때문에 결국 VC가 1 밑으로 떨어지게 될 것이기 때문이다. 따라서 바이럴 루프 전략의 핵심은 결국 얼마나 매력적인 희소성 오브젝트를 고안해 내느냐에 달려있다고 해도 과언이 아니다.글쓴이는 스팀헌트 (Steemhunt) 라는 스팀 블록체인 기반 제품 큐레이션 플랫폼의 Co-founder 및 디자이너 입니다. 비즈니스를 전공하고 대기업에서 기획자로 일하다가 스타트업을 창업하고 본업을 디자이너로 전향하게 되는 과정에서 경험한 다양한 고군분투기를 연재하고 있습니다.현재 운영중인 스팀헌트 (Steemhunt)는 전 세계 2,500개가 넘는 블록체인 기반 앱들 중에서 Top 10에 들어갈 정도로 전 세계 150개국 이상의 많은 유저들을 보유한 글로벌 디앱 (DApp - Decentralised Application) 입니다 (출처 - https://www.stateofthedapps.com/rankings).스팀헌트 웹사이트 바로가기
조회수 624

디자인은 거들 뿐이다?

디자인과 예술의 차이를 물으면대부분 클라이언트가 있느냐 없느냐의 차이라고답하는 경우가 많다.내 작품인가? 고객의 작품인가?틀린 말은 아니지만,이 말에 순응하는 순간, 디자이너의 생각은수동적인 모드로 전환되기 시작한다.디자인이라는 업태가 고객의 요구를 기반으로디자인 역량과 해결책을 제공하여 수익을 얻는 구조라는 것을 인정하더라도 이 프레임에 빠져서는 안된다.여러차례 얘기하지만디자이너의 핵심 역량은 그림을 잘 그리거나멋지게 표현하는 것이 아니다.남들이 미처 보지 못하는 것을 발견하고,눈에 보이지 않는 것을 상상하고,자신의 생각을 남들이 이해할 수 있게  표현하는 능력이다.  남들이 보지 못하는 것을 표현하는 능력많은 디자이너들이 이런 유형의 클라이언트를접해봤을 것이다."요즘 그런 스타일이 괜찮던데...""그 브랜드처럼 해주세요""요런 느낌 좀 살려주면 좋겠는데요"눈에 보이는 것만 볼 수 있는 사람들은눈으로 본 것만을 믿는다.그리고 봤던 것 중에 선택할 수 밖에 없다.그 이상을 상상하거나, 받아들이지도 않는다.자신이 볼 수 있는 해상도로만 사고한다.그래서 좋은 creativity를 가진 디자이너도창의성을 수용할 클라이언트를 만나지 못한다면고객의 눈높이로 평준화될 수밖에 없다.때로는 고객의 사고를 확장시켜야 하고경험 너머의 risk를 감내할 수 있도록 설득해야 한다.디자이너가 yes man이 되는 순간 그들과 같이 망하게 되는 것이다.무조건 부정하라는 의미가 아니다.기획력이 필요하다는 것이다.기획력이 필요하다아무도 해보지 않은 것을 시도한다는 것은,누구도 경험하지 않았던 리스크를 감내시키는 것은고도의 전략이 필요하다.보지 못한 것을 볼 수 있게 해줘야 한다.상상하지 못한 것을 한걸음씩 상상할 수 있게 해줘야 한다.기획력이라는 것은논리적이어야 한다는 의미만은 아니다.치밀한 데이터로 설득하는 보고서를 쓰라는 의미도 아니다.상상력은 데이터로 입증할 수도 없다.다만, 클라이언트가 사고의 영역을 확장할 수 있게유도하는 과정을 기획하라는 것이다.많은 인터랙션과 교감과 교류가 있어야 한다.때론 논쟁하고 인정하고 생각의 빈틈을 파고들어야 한다.자주 이야기하고 확신을 줘야 한다.사례를 들고, 시뮬레이션하고, 구체적이어야 한다.상상력을 작동할 수 있게 긴장과 집착을 풀도록 해야한다.시간이 필요하고 신뢰가 필요하다.관계가 만들어져야하고 호감을 생성되어야 한다.그래서 어려운 것이다.그래서 순응하게 되는 것이다.디터람스가 브라운에서 그랬던 것처럼,나오토 후카사와가 무인양품에서 했던 것처럼,조나단 아이브가 애플에서 그랬던 것처럼,시키는 것을 잘하는 것이 아니라,주도하는 것이어야 한다.거들기만 할 뿐이 아니라,앞장서야 한다.기회를 기다리는 것이 아니라,주인이 되어야 한다.다행스러운 것은점점 그런 세상이 다가오고 있다는 것이 느껴지고,그런 능력을 요구하는 목소리가 커지고 있다는 것을체감하고 있다는 것이다.상대방을 움직이는 역량,클라이언트를 성장시키는 능력이 필요하다.언제까지나고집세고 개성강한 독불장군 디자이너로는세상을 바꿀 수 없다.사람을 움직이는 능력아티스트가 아니라디자이너이기 때문이다.
조회수 1226

[우리는 비투링커 #3] 방깨비의 아마도 예쁜 그녀, 김설님을 소개합니다 :)

안녕하세요, 비투링크 소식을 전하는 미나 입니다 :)우리는 비투링커 세번째 주인공인 "2월의 비투링커" 를 소개 합니다!그 주인공은 누구일까요? (두구 두구 두구)먼저 요즘 대세남 공유 도깨비를 넘어서는비투링크 '방깨비' ver. 추천사를 보시죠! 2017년 2월의 비투링커 추천사 (비투링크 방깨비 Ver.)그 주인공은 바로, 방깨비의 "아마도 예쁜 그녀" 김설님 입니다 :) ♥2월의 비투링커 김설 님 :)그런 설님을 제가 만나봤습니다 :)이하 설님과 저의 일문일답입니다!안녕하세요!저는 비투링크 BSD (Brand Sales Division) 전략팀 파트장을 맡고 있는 김설 입니다 :)제가 하는 일을 간략하게 설명 드리자면, '해외영업 (중국)' 과 '인큐베이팅' 이라고 설명 드릴 수 있습니다. 초기 중국쪽 채널 영업과, 신규 채널 런칭시 프로세스 확장 등을 진행합니다!중국 현지와 직접적으로 업무를 하고 있다보니, 제가 통화하는 모습을 많이 보셨을거에요 ㅎㅎ그래서 중국출장이 잦은 편 입니다!영상을 처음 봤을때, 도깨비 패러디라서 진짜 빵 터졌어요!너무 웃겨서 눈물이 날 정도였어요....ㅋㅋ(배까지 아팠음) 그러다 제가 2월의 비투링커로 선정된 걸보고 엄청 놀랬는데,나가서 얘기하려는데  이미 눈물샘이 열려버려서 그런지 괜히 눈물이 나는 거 있죠?제가 진짜 잘 안울거든요! 업무 때문에 아무리 스트레스를 받아도 운 적이 없는데... 이렇게 제가 우는 모습을 모든 비투링커들이 다 봤네요 ㅋㅋㅋ (부끄럽습니다) ㅋㅋㅋㅋ 제가 워낙 목소리 성량이 커요....  특히, 업무를 할 때, 발로 뛰는 스타일이기도 하구요!사내메신저로 얘기하고도 직접 가서 다시 말을 하는 스타일이다보니, 하루종일 오피스를 왔다갔다 해서 제가 있으면 시끌시끌한가봐요! 또 앉아서 업무를 할 때도 분위기 다운되는 게 싫어서 팀원들에게 장난도 많이 치는 편이에요. 그래서 그런듯? ㅎㅎㅎ ㅋㅋ이 부분은 저도 정말~~공감하는데요!!!설님이 출장가시거나 휴가가셨을때, 딱 알겠더라구요 ㅎㅎ!*~*비투링크 TOP 존재감 *~*!그럼 이제 설님의 개인적인 얘기를 들어볼까용?업무이외에는 여기저기 돌아다니면서 보고 경험하는 걸 좋아합니다!딱 보면 아시겠죠? :) 주말에는 전시회도 가고, 뮤지컬도 보러다니고, 드라이브도 갑니당!근데 주말 외에는 다른 비투링커들과 술 한잔 (똑!) 하는 걸 즐깁니다 :)제가 애주가 이기도 하지만, 좋은 사람들과 함께 마시는 술은 더*~*더~*~ 맛있다죠 :-) 비투링커들과 함께 Cheers :) ♥제 컵이름은 "연희동 킬미힐미" 입니다!'킬미힐미' 라는 드라마 보셨죠? 거기서 지성이 주인공인데, 다중인격자로 나오잖아요 ㅎㅎ(그렇다고해서 제가 다중인격자라는 게 아니구요 ㅋㅋㅋㅋ )팀원들과 업무 외 개인적으로도 친해서 대화를 많이 하는 편 입니다!그러다보니, 제가 개인적으로 기분이 안좋거나 무슨일이 있는지 아는 경우도 많은데요.하지만, 저는 항상 "공과사"를 확실히 구분한다고 해서 지어준 별명입니다 ^_^저는 입사 후 "첫 한 달"이 가장 기억에 남는 거 같아요 :)저에게 비투링크는 첫 직장이었기 때문에, 회사생활에 대한 막연한 상상을 많이 했었어요!근데 막상 입사를 해보니, 상상했던 것과는 많이 달랐죠ㅎㅎ  제가 입사했을 때는, 비투링크가 창업한지 1년도 되지않았던 초기단계였기때문에, 시스템이 많이 잡혀있지 않았거든요.그래서 한 달 동안 인터넷으로 상품이미지 URL과 관련자료를 긁어모으는 작업을 하루종일 했었어요. 근데, 그런 단순작업을 하고, 매일 11시,12시까지 야근하고, 또 아침일찍 출근을 하면서도 그게 즐거웠어요! 왜그랬을까? 라고 돌이켜보면, 함께 일하는 동료 때문이었던 거 같아요.비투링크에 인생의 1/3을 걸 수있을만큼의 열정이 있었다고 해야 할까요?회사와 함께 지난 2년동안 저도 함께 성장하고 있음을 느끼고 있습니다.  저는 저희 제휴 브랜드 중 '딜라잇18' 의 '아이 유 (I.U) 크림을 추천 합니다 :)제가 지금 1년 넘게 꾸준히 사용하고 있는 제품 입니다!여자들의 필수품인 화이트닝 크림이구요, 기초화장 마지막 단계에 바르고 화장을 하면정말 하루종일 얼굴이 화사해보인다고 할까요? 정말 강추합니다 !!!딜라잇18 아이유(I.U)크림 [네이버 블로그]오~ 설님 피부의 비결이 바로 이거였군요! :)저두 당장 써봐야겠다는...저는 올해 꼭 아시아 이외의 나라에 여행을 가보고 싶어요!! 제가 중국쪽 해외영업을 담당하다보니, 중국은 정~~~말 많이 가봤고 앞으로도 가겠죠?(제가 중국인이기도하고...)지금까지 중국, 일본, 홍콩을 여행해봤는데요!올해는 미국여행을 가보고 싶어요 ^_^추천해주세요!!!!비투링크와 함께 성장하는 설님 ♥사랑합니당!!#비투링크 #팀원 #팀원소개 #팀원인터뷰 #조직문화 #기업문화 #팀원자랑
조회수 13375

경영자와 관리자의 차이

경영자와 관리자, 이 두 역할에는 어떤 차이점이 있을까?  모두 다 같은 뜻인지? 예전에 그런 생각을 했었다.  흔히, 최고경영자는 CEO, 최고운영책임자는COO라고 한다.  지난 여름, 홍콩 헤지펀드사에서 인턴을 했을 때 내가 좋아했던 상사 한 분이 계셨는데 그분이 COO이셨다.  그때부터 COO라는 직책에 관심을 갖게 되었다.사전적인 의미는 다음과 같다.CEO: Chief Executive Officer 약자로 회사의 최고경영운영자이다.  CEO는 나름의 경영 철학을 갖고 회사의 장기적인 경영전략을 수립하고 이러한 전략을 완수하는데 필요한 최종의 의사결정을 하는 사람이다.COO: Chief Operating Officer 는 기업 내부의 사업을 총괄하는 책임자, 최고운영책임자를 의미한다.2000년도서부터 미국 실리콘밸리에서 처음 포지션이 생겨나기 시작해 세계적으로 파급된 직책으로, 기업 내의 사업을 총괄하는 책임자를 말한다.CEO는 기업 전반적인 목표, 비전과 전략 방향 등을 확립하며 기업의 모든 활동을 어떻게 이끌어나갈지 결정하고 이끌어나가는 사람이다. 그렇기 때문에 기업의 ‘대표’라고 말할 수 있고, 작은 것에 연연하기보다는 거시적이고 장기적인 관점에서, CEO의 철학에 따라, 그 기업이 어떻게 운영되는지가 결정된다고 볼 수 있다.  또한, CEO는 주로 외부적 활동을 많이 한다.COO는 기업의 구체적인 운영과 관리에 대한 업무를 전담하는 직책이다. 대개의 경우에 CEO가 사장이라면 COO는 수석 부사장 등이 맡는 경우가 많다고 한다.  주로 대기업에서 이런 형식을 채택하고 벤처기업에서는 CEO와 COO 를 구분하지 않고 두 직책을 CEO가 전담하는 경우가 많지만 기업이 성장하면서 자연스럽게 내부와 외부 활동이 나뉘어지며, 그러면서 자연스럽게 두 역할 또한 구분된다.COO는 CEO를 보조하며 전체적인 기업의 구체적인 운영과 관리에 대한 업무를 담당한다. 그렇기 때문에 CEO보다는 기업 내부의 전반적인 상황과 운영에 대한 노하우가 더 요구되는 직책이다.e.g. 고인이 된 잡스가 작년 초까지만 해도 애플의 최고경영자였으며 (현재 애플 CEO가 된) 팀쿡은 당시 COO였다.   잡스가 (신제품 발표 등)의 대외적인 활동과 애플의 큰 그림을 그리는 역할을 맡았다면, 팀쿡은 애플 회사 자체의 내부 경영과 조직관리에 집중했다.하지만 COO만이 CEO를 보조하는 것은 아니고, 주로 규모가 큰 기업에서는 CEO와 COO뿐만 아니라 CFO(Chief Financial Officer), CIO(Chief Information Officer), CTO(Chief Technology Officer), CSO(Chief Security Officer), CMO(Chief Marketing Officer), CCO(Chief Compliance Officer), CRO(Chief Risk Officer), CBO(Chief Brand Officer) 등등 기업의 영업 활동과 사업분야마다 각각 최고책임자들이 있다. 하지만 이런 업무들을 전체적으로 총괄하고 감독하며 관리하는 직책이 CEO와 COO라고 보면 될 것 같다.CEO 와 COO 의 차이점은 Accenture가 발행한 article에서 사례로 보다 자세히 나와 있다. 액센츄어는 COO가 CEO가 되기 위한 훈련생이라고 정의했다.Accenture_Outlook_Mastering_move_from_COO_to_CEO.pdf.나는 CEO 보다 COO, 그리고 경영자보다는 관리자의 역할에 더 많이 관심이 간다.  회사가 성장하기 위해선 올바른 방향을 제시하고 배를 모는 선장의 역할도 중요하지만, 선원들이 자기가 맡은 역할을 명확히 하고 일할 수 있게 조성해주고 선원 관리를 잘 하는 역할도 무시할 수가 없기 때문이다.  서비스업이든, 제조업이든, 뭐든 간에 결국은 사람이 기업을 만들어간다.  그 사람관리가 제대로 되지 않으면 배가 산으로 간다.  인재 한 명이 기업을 성장시키고 또 못난 직원 한 명이 기업을 망하게 한다.  최근 UBS 에서 또 한번의 거대 금융 사기가 벌어졌다.  UBS 트레이더가 무려 2억달러 (2조원)의 회사 돈을 한방에 날려먹었다.기업을 살리고 마는 건 결국 ‘사람’이다.  넷뱅에 참여하면서 사람관리의 어려움, 복잡함, 중요성을 절감했다. 그래서 복학하고 이번 학기에 인사관리라는 과목을 수강했다. 무엇보다, 사람관리, 직원관리에 대한 전문적인 지식을 갖춰야 할 필요성을 느꼈다.  직원관리와 사내문화가 체계화가 돼야 어떤 새로운 직원이 들어오고 또 기존 직원이 나가도 뼈대가 흔들리지 않고 꿈쩍도 안 할 수 있다.  나는 ‘신생 기업’의 성장과 발전에 있어서 HR의 시스템화를 가장 중요하게 여기고 있다.내가 영국으로 떠나기 2주 전부터, 집중했던 것이 팀원 교육이었다.  대표님의 지시하에 교육자료 만들기에 주력하였고 바쁘신 대표님을 대신해 사무실에서 내근하는 팀원들에게 직접 경영 방침, 계획 내용, 취지를 전달하는 역할을 맡았다.  이를 통해, 현장관리의 중요성도 깨닫게 되었는데, 관리자가 벤처기업 또는 중소기업을 성장시키려면 어떤 식으로 직원관리와 성과관리, 분석을 해야 하는지에 대해 관련 저널을 찾아 읽어봐야겠다.  학교에서 곧 있으면 직원들의 performance 관리와 분석, 평가, 보상에 대해 수업을 들을 예정인데, 잘 들었다가 넷뱅에 적용할 수 있게 대표님께 제안할 생각이다.#넷뱅 #팀빌딩 #CEO #COO #인사이트
조회수 1646

StyleShare Engineering Blog?!

변정훈님 강의 모습생각해보기한 번도 생각해본 적이 없다! 왜 글을 작성해야 하는가?! 왜냐하면, 우리는 글로 먹고사는 사람도 아니고, 수려한 글솜씨도 없기 때문에?! 하지만, 이미 우리 사회는 PR의 시대를 뛰어넘어 미디어의 홍수에서 살아가고 있고, 매우 쉽게 무의식적으로 많은 글을 읽고 있다.하지만, 우리가 글을 작성하기 위해서 얼마나 많은 준비가 되어 있을까? 이 글을 쓰고 있는 필자 역시 글을 써본 경험이 거의 없다. 특히 회사의 이름을 걸고 글을 쓴다는 것은 매우 부담스러운 일이다.그래서 우리는 변정훈[Outsider’s Dev Story]님을 초대하여, 그분이 생각하는 블로그 일상과 엔지니어링 블로그에 대한 생각 공유의 시간을 가져보았다.엔지니어링 블로그회사 블로그 운영을 해보았는가?아쉽게도 변정훈 님도 회사 블로그를 운영해본 적은 없다고 하신다. 그 원인을 다음과 같은 이유로 해석을 하였다.주제가 많지 않다.개발보다 우선순위가 떨어진다.누구나 처음부터 글을 잘 적을 수 있는 건 아니다.그렇다. 이 글을 쓰는 중에도 위와 공감할 수 있는 부분이 적지 않다.우선 글을 많이 써보지 못한 필자로서도 어떤 글을 적어야 할지 난감하게 느껴지고, 업무 중에서도 중요도가 떨어지는 것은 분명하다. 마지막으로 주제 선정부터 매우 어렵게 느껴진다.그런 이유로 글쓰기를 즐겨 하시는 변정훈 님 조차 회사 블로그 운영을 잘 이끌어 본 적이 없다고 하신다.변정훈 님의 블로그는 2007년 부터 총 1,300여개 글이 게시되어 있다고 한다.왜 우리는 블로그를 운영하려 하는가?여러 가지가 있겠지만, 필자가 가장 공감한 부분은 이 부분이었다.팀 내 지식/경험 공유잠재적 입사자에게 기술 스택 및 문화 공유팀 전체의 실력 향상그동안 개발일을 해오면서, 몇 년 동안 풀리지 않는 큰 숙제 중에 하나가 좋은 개발자를 찾는 것이었다. 항상 사람을 찾는 것이 어렵다. 좋은 사람의 기준이 높아서인지 더 좋은 기업이 많아서인지 알 수는 없지만, 일하면서 느낀 가장 어려운 문제 중에 하나이다. 결국, 내부의 인력을 더 좋은 사람으로 만들고, 외부의 좋은 사람과도 교류의 장을 만들 수 있다는 희망을 품을 수 있게 되는 것이다.글 작성의 문턱을 어떻게 낮춰야 할까?좋은 점은 쉽게 공감이 되지만, 언제나 가장 어려운 것은 실천이 아닐까 싶다. 특히 회사에서 업무로 이런 일이 발생된다면, 많은 사람들이 엄청난 부담감을 가질 것이고, 결국 회사 엔지니어링 블로그는 대문만 남은 유명무실한 블로그가 될 가능성이 높다.그래서 변정훈 님은 이렇게 제안하셨다.월 1개 보다 적어도 된다.주제를 계속해서 제안하고 만들어 내야 한다.돌아가면서 작성한다.챙겨주는 사람이 필요하다.글도 리뷰하는게 좋다.부담감은 의도적으로 줄여야 …특히 변정훈님은 부담감을 줄이는 방법에 대해서, 팀 공유를 해주셨는데 잠시 소개하면 다음과 같다.나보다 모르는 사람 — 나 — 나보다 잘하는 사람언제나 어떤 기술에 대하여, 나보다 잘 모르는 사람과 나보다 잘 하는 사람이 있다는 것을 인지하고, 나보다 못하는 사람을 위해서 글을 작성한다는 것이다. 그러다 나보다 잘하는 누군가가 어쩌다 피드백을 준다면 오히려 매우 감사하게 새로운 지식을 터득하게 된다는 것이다. 역시 모든일에는 긍정적인 마인드가 중요하다. 세상 어딘가에는 나의 작은 지식이라도 필요로하는 사람들이 분명히 있을테니, 작은 용기를 가지고 세상에 누군가를 위해서 작성한다면, 세상은 분명 아름다워질 것이다.좋은 글, 좋은 주제란 무엇일까?사실 가장 어려운 이야기일지도 모른다. 변정훈님은 이런 내용을 좋다고 표현하셨는데, 잠시 정리하면 다음과 같다.개발팀의 문화어떻게 일하는가?프로젝트 수행 회고실패기개인적으로 실패기가 가장 적기 어려운 글이라고 생각한다. 하지만, 누군가에게는 가장 소중한 경험이 될지도 모르니, 간접경험의 공유는 특히 소중한 것일 수 있다.만약 회사 블로그의 글이 회사 내/외부의 사람들에게 지식 공유와 전달이 목적이라면, 그리고 좋은 문화를 계속 가지고 유지하기 위해서라면, 실패기가 어쩌면 가장 소중한 경험의 공유가 아닐까 생각해본다.질문과 답변을 통한 소통의 시간마지막으로 이 날 소개 받은 좋은 글의 흐름이란 다음과 같았다.하고자 했던 일 (Context)경험한 문제 사황 정리(격리된 상황)시도해 본 방법(내가 아는 지식)왜 동작이 안되는가? 왜 동작하는가?(가설)문제 상황 재현예제 코드관련 링크개념 설명지금까지 적은 이 글을 위의 원칙대로 다시 한번 살펴본다. 부족한 부분이 있는지, 수정할 부분이 있는지…이제 부터 회사 블로그를 더욱더 적극적으로 운영해보자!!!#스타일쉐어 #개발팀 #조직문화 #블로그 #기업문화 #사내복지
조회수 2803

iOS 개발을 위한 11가지 노하우

Overview기고 제안을 받자마자 iOS 개발을 시작했을 때가 떠올랐습니다. 신대륙을 마주한 것 같았던 그때의 기분을 아직도 잊지 못하기 때문입니다. 당시까지만 해도 Android 개발만 했기 때문에 iOS는 그야말로 미지의 영역이었습니다. 게다가 개발을 시작하려고 조심스럽게 첫 발을 내딛은 순간, 입이 떡 벌어질 수밖에 없었죠.“이렇게 느린 IDE가 있다니…““개발자 프로그램이 뭐 이렇게 비싸?”XCodeXCode는 그동안 접했던 IDE 중에서도 가장 최악이었고, 개발자 프로그램 등록은 13만 원 상당의 비용을 지불해야 했습니다. 가장 중요한 건 맥 컴퓨터(Macintosh)를 보유해야만 했죠. 처음 개발을 시작하려니 넘어야 할 산이 매우 많았습니다. 맞습니다. 팜므파탈의 대명사 마타하리(Mata Hari)처럼 iOS 개발은 밀당과도 같습니다. 분명 매력적인 일이지만 XCode와 개발자 프로그램 등록은 빙산의 일각이기 때문입니다. iOS는 곳곳에 구덩이를 파고 초보 개발자들을 집어삼킬 준비를 하고있습니다. (예를 들면 리소스를 묶어놓은 R.java 파일 같은 레퍼런스가 없습니다. 흑.)그래서 준비했습니다. 수많은 초보 개발자들이 iOS의 구덩이를 피해갈 수 있는 팁을 말이죠.iOS의 구덩이를 피하는 11가지 방법1.비싼 맥(Macintosh)을 사세요.iOS 개발자에게 MacOS는 필수입니다. XCode가 MacOS만 지원하기 때문입니다. 오픈 소스로 공개된 Swift에는 제약이 없지만 XCode는 MacOS에서만 동작하는 제약이 있습니다. 따라서 맥은 iOS 개발자에게 가장 필요한 준비물입니다. 게다가 하드웨어 리소스를 많이 사용하는 XCode 탓에 더 크고, 더 비싸고, 더 아름다운 맥을 구매하셔야 합니다. Macbook이나 Macbook Air 모두 추천하지 않습니다. 15형 Macbook Pro 모델을 비롯해, Mac Pro나 iMac Pro 등의 고급 모델을 사용하면.. 개발이 잘 됩니다.2.돈을 내세요.iOS를 개발하려면 가장 먼저 Apple Developer Portal에서 연 129,000원의 개발자 프로그램에 등록해야 합니다. XCode를 사용해서 코드만 볼 것이라면 문제가 되지 않지만, 디바이스에 앱을 설치하고, 테스트하며, AppStore에 배포할 거라면 반드시 구매해야 합니다. 이 계정은 앞서 말한 것처럼 1년이 지나면 다시 구매해야 합니다. 만약 기업 개발자로 등록하려면 Enterprise Program이 따로 준비되어 있습니다. 기업을 위해 특화된 In-House 배포 등의 이점이 있습니다. 구매해야할 것이 꽤 많죠? 이제 익숙해져야 합니다.3.XCode를 설치하세요.XCode는 Mac App Store에서 설치할 수 있습니다. 용량이 크기 때문에 설치하기 전에 하드디스크 저장공간부터 확인하는 것이 좋습니다. 처음 실행하면 추가 컴포넌트를 다운로드하는 과정이 실행되고, 그 이후에 XCode를 사용할 수 있습니다. XCode와 관련된 자세한 내용은 아래에서 자세하게 다루겠습니다.4.어려운 것에 대비하세요.1)인증서‘들’XCode 설치 이후에도 몇 가지를 발급 받고, 셋업해야 합니다. 방 탈출 게임처럼 한 단계 한 단계 거치는 과정이 필요합니다. 첫 번째로 인증서‘들’을 발급받아야 합니다. 애플을 대신해 앱을 설치하고, 배포할 수 있는 권한을 위임 받는 과정입니다. 이 인증서들은 Apple Developer Portal의 ‘Certificates, IDS & Profiles’ 항목에서 발급 받을 수 있으며, MacOS의 키체인 앱을 이용해 개인 키를 생성하는 방식으로도 방식으로 발급 받을 수 있습니다. 2)디바이스 등록디바이스-iOS-에 개발한 앱을 설치하려면 애플 개발자 계정에 개발용 디바이스를 등록해야 합니다. 이 과정은 XCode에 신규 디바이스를 연결하고, 빌드 및 배포를 할 때 XCode가 알아서 합니다. 만약 디바이스를 보유하고 있지 않은 상황이라면 해당 디바이스의 UUID를 받아서 개발자 포털에 직접 등록할 수도 있습니다. 3)Bundle IDBundle ID는, 앱의 고유한 ID입니다. iOS가 앱을 식별할 때 사용하는 식별자이며, 보통 ‘com.companyname.appname’ 의 형식으로 회사나 개인의 도메인을 거꾸로 쓰는 것이 보편적입니다. 하지만 Bundle ID는 어디까지나 개발자가 결정하는 영역이므로 인스턴스 이름 지정하듯이 자신만의 고유한 방법을 사용해서 Bundle ID를 지정해도 문제가 없습니다. 4)Provisioning ProfileProvisioning Profile은 디바이스 정보와 앱 정보, 인증서 정보를 매핑해주는 Profile입니다. 최신 XCode에서는 이 Provisioning Profile을 자동으로 관리해주기 때문에 따로 신경쓰지 않아도 좋습니다.5.개발자 포럼에 질문하거나, StackOverflow에 질문하거나!질문하는 사람은 아름답습니다. 궁금하거나, 잘 안 풀리는 코드는 개발자 포럼에서 질문할 수 있습니다. 대신 영어 실력이 좋아야 합니다.크게 기대는 하지 않는 것이 좋습니다. 등록된 discussion에 대한 답글들이 ‘나도 같은 상황이다’, ‘나도 궁금한 점이다’ 등의 다른 개발자들의 답변 정도가 일반적이기 때문이죠.그들의 답변...저는 개발자 포럼보다 StackOverflow를 더 선호합니다. 참여하는 개발자 규모가 다르기 때문에 보다 양질의 정보를 빠르게 찾을 수 있습니다. (하지만 허위 정보도 존재합니다.) Vote 시스템으로 신뢰 높은 정보를 필터링할 수 있으나, 어떤 정보를 선택할지는 당신의 몫입니다.6. iTunesConnect와 친하게 지내세요.앱을 개발했다면, iTunesConnect를 통해 앱을 전 세계의 사용자들에게 배포할 수 있습니다. iTunesConnect는 iOS용으로 개발된 바이너리를 배포하는 등 앱 배포/테스트와 관련된 전반적인 사항들을 관리할 수 있는 포털입니다. AppStore에서 앱을 판매하려면 이 iTunesConnect를 통해 애플과 계약을 해야만 가능합니다. 출시할 앱을 등록하기도 하고, 앱의 사용자들이 어떤 경향을 보이는지 Trend Analysis를 확인할 수도 있습니다.iTunesConnectiTunesConnect에는 다양한 메뉴들이 있고, 앱을 배포하고 관리하는데 필요한 여러 툴이 있으므로 개발 중에 시선을 환기하고자 한다면 iTunesConnect를 한 바퀴 둘러보는 것도 좋습니다. 언젠가는 다 사용하게 될 테니까요.7.앱 개발을 마쳐도 XCode를 사용하세요.앱을 개발하고 iTunesConnect에 업로드하려면, XCode를 통해 간접적으로 바이너리를 업로드하게 됩니다. 서드파티 앱을 사용할 수도 있지만, 제가 주로 많이 사용하는 방식은 XCode입니다. 소스코드가 준비되었다면, XCode 메뉴의 Product > Archive 메뉴를 선택해 XCode가 배포용 앱을 빌드합니다. 빌드가 완료되면, 자동으로 Organizer 창이 열리면서 앱을 업로드할 수 있게 되죠. 이 때 미리 구매한 개발자 계정의 인증서가 준비되어 있어야 합니다. 모든 준비가 완료되고 아카이빙이 완료되면, Organizer의 Archives 탭에서 우측단의 ‘Upload to App Store…’ 버튼으로 바이너리 업로드를 진행할 수 있습니다.8.배포 전에 시험비행을 해봅시다.앱을 개발했다면, 테스트플라이트(TestFlight)를 통해 실제로 앱을 배포하기 전 ‘시험비행’을 할 수 있습니다. iTunesConnect에 관련 테스터들을 등록하고, 등록된 사용자들을 대상으로 미리 앱을 테스트할 수 있도록 요청하는 것이죠. 이 테스트플라이트에 배포된 바이너리를 그대로 AppStore에 배포하게 되므로, 테스트용으로 유용합니다.TestFlight테스트플라이트는 원래 iOS 배포 관리 솔루션을 제공하는 업체였지만 지금은 애플이 인수해 iTunesConnect에서 관리하도록 제공하고 있습니다.9.앱이 죽는다면 Organizer로 확인하세요.iOS는 충돌보고 Crash Report를 Organizer를 통해 오류를 확인합니다. 앱을 설치한 사용자가 동의하면 XCode는 iOS가 앱을 실행하면서 발생한 Crash Report를 애플에 자동으로 업로드합니다. 업로드된 Crash Report들은 XCode의 Organizer를 통해 다운로드하고, 확인할 수 있습니다. Organizer는 XCode > Window > Organizer 항목에서 실행하세요.Organizer와 Crash ReportCrash Report는 Organizer의 상단 Crashes 탭에서 확인이 가능합니다. 또 현재 보고 있는 Crash Report의 어느 부분에서 오류가 발생했는지 알고 싶다면 우측단의 ‘Open in Porject…’ 버튼을 눌러보면 됩니다.10.내 친구 XCode최근 XCode는 메이저 업데이트를 통해 사용성과 퍼포먼스를 향상시켰습니다. 하지만 이만큼 무겁고 느린 통합개발툴 IDE는 이클립스(Eclipse) 이후에 처음입니다. 안드로이드의 경우 IntelliJ 기반의 Android Studio로 쾌적한 개발환경을 제공하고 있는 반면, XCode의 업데이트는 퍼포먼스나 사용성 개선보다는 Swift의 메이저 버전 반영에 더 급급한 느낌입니다. (업데이트 때마다 속지만 ‘혹시 이번에는..’하고 또 속아 넘어갑니다.) XCode 사용을 위한 네 가지 팁을 소개합니다.1)XCode는 모노로그입니다.XCode는 로그를 따로 ‘예쁘게’ 볼 수 없습니다. 검은 화면에 흰 로그가 정리되지 않은 상태로 마구마구 출력됩니다. 개발자들에게는 쥐약같은 상황이죠. 이런 불편한 로그 출력 방식 때문에 저는 별도의 GlobalLogger 모듈을 작성해서 다음과 같은 스타일로 로그를 출력하도록 하고 있습니다.$$ BrandiLogger Error Log ##MESSAGE: Initial Parameter is not exist. ##LOCATION: BRLogPringer.swift @Line: 122 2)iOS개발자를 위한 휴식시간, 빌드 타임XCode의 빌드 타임은 개발자에겐 기나긴 휴식 시간입니다. 소스가 비대해질수록 퍼포먼스는 떨어지며, 담배 한 대를 태우고, 화장실에서 손을 씻고 들어와도 빌드가 절반도 안 된 상황을 마주할 겁니다. 빌드 타임을 줄이고자 구글링을 하면 몇 가지 팁을 발견할 수 있는데, 특히 빌드 타임을 가장 많이 단축할 수 있는 방법이 있습니다.짜잔! 공개합니다!먼저, 프로젝트 셋팅의 ‘Build Settings’ 항목에서 ‘Optimization Level’을 검색합니다. ‘Swift Compiler - Code Generation’ 항목을 찾을 수 있는데요. 여기서 Optimization Level의 Debug 항목을 ‘None’으로 설정하면, 빌드시간이 엄청나게 줄어든 것을 확인할 수 있습니다. Brandi iOS 버전의 소스코드는 원래 컴파일에 7분 이상이 소요되었지만, Optimization Level을 변경한 후 1분 내외로 단축되었습니다. Optimization Setting을 변경할 때는 꼭 Debug 항목만 변경하고, Release 버전은 기존 설정을 유지하는 것이 좋습니다. 그래야 빌드 과정에서의 버그를 막을 수 있기 때문이죠. 만약 이 설정으로 개발하던 도중 소스가 충돌되면 Command+Shift+K 단축키를 눌러 소스를 한 번 클린하고, 재빌드하세요. 충돌이 사라지는 경우가 많습니다. 빠른 빌드를 위해 종종 감수해야 하는 부분이기도 합니다. 3)Derived Data빌드가 자꾸 안되고 꼬일 때는 Derived Data 폴더를 삭제 해 보세요. Derived Data 폴더는 XCode > File > Project Settings(Workspace Settings) 항목에서 ‘Derived Data’ 항목 아래의 폴더 경로에서 접근할 수 있습니다. Derived Data 접근 경로Derived Data 폴더를 삭제하면 거짓말처럼 빌드 오류가 사라지는 기적을 만날 수 있습니다. 4)CocoaPods‘바퀴를 두 번 발명할 필요는 없다’는 격언이 있습니다. 이것을 개발에 적용하면 ‘잘 만들어진 라이브러리를 사용하라’ 정도가 되겠습니다. 개발자의 개발 시간을 현저하게 단축시키는 오픈소스 라이브러리. 이것들을 간편하게 사용하는 방식이 iOS에도 존재하는데, 바로 CocoaPods입니다. 프로젝트 Root 폴더에 Podfile을 생성하고, 원하는 오픈소스 라이브러리들을 명시한 후에 ‘pod install’ 명령어를 입력해주면….CocoaPods오픈소스 라이브러리가 설치되었습니다. 귀찮은 소스 다운로드와 임포트 과정을 거치지 않아도 됩니다. CocoaPods 설치와 사용에 관한 글은 구글링으로 쉽게 찾을 수 있습니다. 꼭 사용하길 권합니다.Mac App Store에서의 XCode 평점XCode는 느리고 불편합니다. 숨겨진 편의기능도 많지만 고질적인 빌드 문제와 사용성 문제를 마주하면 높은 평점을 줄 수가 없습니다. 그런데, 저만 그렇게 생각하진 않더라고요.(위 스크린샷 참조) XCode의 사용법은 기회가 되면 따로 정리하겠습니다.11.어떤 경우에도 대응할 수 있는 화면 구성을 원한다면, AutoLayoutiOS를 사용하면서, 금융권이나 쇼핑 앱들을 사용하다 보면 이런 상황이 발생합니다. 금융권 앱. 화면에 꽉 차지 않는 레이아웃 혹은 비정상적으로 커진 글씨본래 iOS는 단일 디바이스를 지향하는 플랫폼이었습니다. 아이폰 시리즈도 해상도가 변하지 않았기 때문에, 디바이스 종류가 많은 안드로이드처럼 다양한 스크린 사이즈를 지원할 필요가 없었습니다. 하지만 이제는 iPhone SE, iPhone 8, iPhone 8 Plus의 해상도에 iPhone X의 해상도까지 더해지면서 그야말로 ‘해상도 춘추전국시대’가 되었습니다.이런 다양한 해상도를 모두 지원하는 레이아웃을 구성하려면, iOS에서는 AutoLayout을 사용해야 합니다. AutoLayout은 Xib Editor에서 AutoLayout을 활성화하는 방식으로 사용할 수 있습니다. 거기에 한 가지 덧붙이면 Layout Constraints라는 개념도 있습니다. 레이아웃에 조건을 주는 방식입니다. 예를 들어 ‘어떤 해상도에서든 이 컴포넌트는 왼쪽 끝으로부터 10Point의 여백을 가지도록 한다’ 라는 식이죠. AutoLayout, Layout Constraint이 Layout Constraint를 이용하면 짧은 시간 안에 다양한 해상도를 지원하는 레이아웃을 쉽게 만들 수 있습니다. 가히 AutoLayout의 꽃입니다.ConclusionXCode/iOS 개발과 관련된 팁은 대부분 구글링으로 찾을 수 있습니다. 다룰 내용이 많지만 초보 iOS개발자들이 당황할 수 있는 내용을 중심으로 글을 썼습니다. 소소한 이야기지만, 분명 도움을 받을 수 있을 겁니다.글이정환 과장 | R&D 개발1팀[email protected]브랜디, 오직 예쁜 옷만#브랜디 #iOS #개발기 #업무환경 #인사이트 #경험공유 

기업문화 엿볼 때, 더팀스

로그인

/