이미 소장하고 있다면 판매해 보세요.
|
1부 - 실험을 통한 전략적 학습으로 혁신하기
01장. 비즈니스 목표와 디지털 트랜스포메이션 __디지털 트랜스포메이션: 무엇이 목표인가? ____소프트웨어 아키텍처 개요 __소프트웨어에 문제가 생기는 이유 ____부채의 은유 ____소프트웨어 엔트로피 ____빅볼 오브 머드 ____실제 사례 __당신의 회사와 콘웨이의 법칙 ____커뮤니케이션은 지식에 관한 것이다 ____전화 게임 ____합의는 어렵다 ____그러나 불가능하지는 않다 __소프트웨어 전략 (다시) 생각하기 ____생각하기 ____다시 생각해보기 __모놀리스 시스템은 나쁜 것인가? __마이크로서비스는 좋은 것인가? __애자일을 비난하지 말라 __진전 없이 머물지 않기 __정리 __참고문헌 02장. 전략적 학습을 위한 필수 도구 __이른 결정, 늦은 결정, 맞는 결정, 틀린 결정 __문화와 팀 ____실패는 치명적이지 않다 ____실패 문화는 비난 문화가 아니다 ____콘웨이의 법칙의 올바른 이해 ____안전한 실험 환경 조성 __모듈 먼저 __배포는 마지막에 __모듈과 배포, 그 사이 ____비즈니스 역량, 비즈니스 프로세스, 전략적 목표 ____목적 기반의 전략적 개발 ____의사결정을 위한 시네핀 프레임워크 __스파게티와 요리 속도 __전략적 아키텍처 __도구의 적용 __정리 __참고문헌 03장. 이벤트 중심의 실험과 발견 __커맨드와 이벤트 ____소프트웨어 모델의 사용 __이벤트 스토밍을 통한 빠른 학습 ____원격 세션이 필요한 경우 ____세션 진행 ____빅픽처 모델링 __도구 적용 __정리 __참고문헌 2부 - 비즈니스 혁신 추진 04장. 도메인 주도의 결과 달성 __도메인과 하위 도메인 __정리 __참고문헌 05장. 콘텍스트 전문성 __바운디드 콘텍스트와 유비쿼터스 언어 __핵심 도메인 __지원 도메인, 일반 도메인, 기술 메커니즘 ____지원 도메인 ____일반 도메인 ____기술 메커니즘 __비즈니스 역량과 콘텍스트 __너무 크지도, 너무 작지도 않게 __정리 __참고문헌 06장. 성공하는 메핑과 실패하는 매핑 __콘텍스트 매핑 ____파트너십 ____공유 커널 ____고객-공급자 개발 ____순응주의자 ____부패 방지 계층 ____오픈 호스트 서비스 ____발행된 언어 ____분리된 방식 __지형 모델링 __성공과 실패의 갈림길 __도구 사용 __정리 __참고문헌 07장. 도메인 개념 모델링 __엔터티 __값 객체 __애그리거트 __도메인 서비스 __함수형 동작 __도구 적용 __정리 __참고문헌 3부 - 이벤트 우선 아키텍처 08장. 기초 아키텍처 __아키텍처 스타일, 패턴, 결정 동인 ____포트와 어댑터(헥사고날) ____모듈화 ____REST 요청-응답 __품질 속성 ____보안 ____개인 정보 보호 ____성능 ____확장성 ____복원성: 신뢰성 및 내결함성 ____복잡성 __도구 적용 __정리 __참고문헌 09장. 메시지와 이벤트 주도 아키텍처 __메시지 및 이벤트 기반 REST ____이벤트 로그 ____구독자 폴링 ____서버 전송 이벤트 __이벤트 주도 및 프로세스 관리 __이벤트 소싱 __CQRS __서버리스와 서비스로서의 함수 __도구 적용 __정리 __참고문헌 4부 - 목적 지향형 아키텍처로 가는 2가지 길 10장. 의도한 대로 모놀리스 구축 __역사적 관점 __시작부터 바로 ____비즈니스 역량 ____아키텍처 결정 __잘못된 것에서 올바른 것으로 ____변화 속의 변화 ____커플링 끊기 __옳게 유지하기 __정리 __참고문헌 11장. 보스처럼 모놀리스를 마이크로서비스로 전환 __결의를 다지는 정신적 준비 __모듈라 모놀리스에서 마이크로서비스로 __빅볼 오브 머드 시스템에서 마이크로서비스로 전환 ____사용자 상호작용 ____데이터 변경을 조화시키기 ____교살 대상 결정 __레거시 모놀리스 추출 __정리 __참고문헌 12장. 균형을 유지하고 전략을 찾자 __균형과 품질 속성 __전략과 목적 ____비즈니스 목표에 따른 디지털 트랜스포메이션 ____전략적 학습 도구를 사용하자 ____가벼운 이벤트 기반 모델링 ____비즈니스 혁신 추진 ____이벤트 우선 아키텍처 ____1순위 문제로서 모놀리스 ____목적을 갖고 모놀리스를 마이크로서비스로 전환 ____균형은 공정하며, 혁신은 필수적이다 __결론 __참고문헌 |
Vaughn Vernon
반 버논의 다른 상품
Tomasz Jaskuła
|
◈ 이 책에서 다루는 내용 ◈
◆ 소프트웨어 아키텍처 계획, 비즈니스 혁신, 디지털 트랜스포메이션의 연계하기 ◆ 커뮤니케이션 문제를 극복하고 실험과 발견 기반의 혁신 촉진하기 ◆ 가치 창출 목표의 지원과 전략적 투자에 도움이 되는 모범 사례 살펴보기 ◆ 다재다능하고 적응력이 뛰어난 애플리케이션과 서비스 구축을 위한 아키텍처 스타일 비교하기 ◆ 모놀리스가 최선의 선택인 경우와 모놀리스를 가장 효과적으로 아키텍처, 설계, 구현하는 방법 알아보기 ◆ 모놀리스를 마이크로서비스로 전환해야 하는 시기와 그 방법(모듈화 또는 "빅볼 오브 머드")배우기 ◈ 지은이의 말 ◈ 당신의 조직이 ‘전통적인 의미’의 소프트웨어를 판매해 수익을 창출할 가능성은 높지 않으며, 앞으로도 그럴 가능성은 낮다. 그렇다고 해서 소프트웨어가 조직의 수익 창출에 중요한 역할을 할 수 없다는 의미는 아니다. 소프트웨어는 가장 부유한 기업들의 핵심 요소다. 예를 들어 FAANG이라는 약어로 대표되는 페이스북(Facebook), 애플(Apple), 아마존(Amazon), 넷플릭스(Netflix), 구글(Google)(현재 알파벳이 소유)을 생각해보자. 이들 기업 중 소프트웨어를 전혀 판매하지 않거나 적어도 매출의 상당 부분을 소프트웨어 판매에 의존하지 않는 기업은 거의 없다. 페이스북 수익의 약 98%는 소셜 네트워킹 서비스 회원에게 접근하기 원하는 기업들에게 광고를 판매해 벌어들인다. 광고 공간의 가치가 이처럼 높은 이유는 페이스북의 플랫폼이 회원 간의 막대한 참여를 유도하기 때문이다. 특정 회원은 다른 회원들 그리고 전반적인 트렌드에 관심을 갖게 되며, 이를 통해 사람, 상황 및 소셜 플랫폼에 계속 참여하게 된다. 페이스북 회원의 관심을 사로잡는 것은 광고주에게 큰 가치가 있다. 애플은 주로 스마트폰, 태블릿, 웨어러블, 컴퓨터를 판매하는 하드웨어 회사다. 소프트웨어는 이러한 스마트폰과 기타 디바이스의 가치를 끌어올리는 역할을 한다. 아마존은 온라인 소매업체로서 상품을 판매하고 무한에 가까운 전자책, 오디오, 음악 및 기타 서비스 구독을 판매하며, 클라우드 컴퓨팅 인프라를 서비스로 판매하는 등의 수익 창출을 위해 다각적인 접근 방식을 사용한다. 넷플릭스는 영화 및 기타 동영상 스트리밍 서비스에 대한 다단계 구독을 판매해 수익을 얻는다. 이 회사는 여전히 DVD 구독을 통해 작은 수익을 얻고 있지만, 이 부분은 예상대로 온디맨드 스트리밍의 인기가 높아짐에 따라 급격히 감소했다. 소프트웨어는 TV와 모바일 장치를 통해 비디오 스트리밍을 접하는 사용자의 경험을 향상시킨다. 그러나 실질적인 시스템의 주요 작업은 아마존의 AWS에서 비디오를 제공하는 클라우드 기반 시스템에 의해 수행된다. 이러한 서비스는 50개 이상의 다양한 포맷으로 비디오 인코딩을 제공하고, 콘텐츠 전송 네트워크(CDN, Content Delivery Networks)를 통해 콘텐츠를 제공하며, 클라우드 및 네트워크 중단 시에도 혼란스러운 장애를 처리하는 등의 작업으로 이뤄진다. 구글 또한 광고 판매를 통해 수익을 창출하며, 이러한 광고는 검색 엔진 소프트웨어의 검색 결과와 함께 게재된다. 2020년 한 해에 구글은 구글 워크스페이스(Google Workspace)와 같은 소프트웨어 사용료로 약 40억 달러의 수익을 올렸다. 구글 워크스페이스 소프트웨어는 서비스형 소프트웨어(SaaS) 모델을 사용해 클라우드에서 제공되므로 사용자 컴퓨터에 소프트웨어를 설치할 필요가 없다. 최근 보고서에 따르면 구글은 온라인 오피스 제품군 시장의 거의 60%를 점유하고 있으며, 이는 마이크로소프트가 주장하는 점유율을 능가하는 수치다. 기술 업계 리더들의 사례에서 알 수 있듯 조직이 시장을 선도하는 수익을 얻고자 반드시 소프트웨어를 판매할 필요는 없다. 하지만 지금도 그리고 앞으로도 비즈니스에서 탁월한 성과를 거두려면 반드시 소프트웨어를 사용해야 한다. 또한 소프트웨어를 사용해 혁신을 이루려면 조직은 소프트웨어 설계자와 엔지니어로 구성된 조직이 가장 중요하다는 사실을 인식해야 한다. 최고에 대한 수요가 많아서 좋은 이들을 고용하기가 터무니없을 정도로 어렵다. 미국여자프로농구(WNBA)나 미국프로풋볼(NFL) 드래프트에서 상위 20순위 중 한 명을 지명하는 것이 얼마나 중요한지 생각해보라. 물론 이 설명이 모든 소프트웨어 개발자에게 적용되는 것은 아니다. 물론 상당수의 소프트웨어 개발자는 ‘출근 도장을 찍고’, 모기지를 갚고, 가능한 한 많은 WNBA와 NFL을 TV로 시청하는 것에 만족한다. 이러한 부류를 채용하고자 한다면 지금 당장 이 책을 읽지 않는 것이 좋다. 반대로 지금까지는 그래왔지만 이제부터 의미 있는 변화를 만들고 싶다면 계속 읽어보라. |
|
우리는 2007년 4월에 아이터레이트(Iterate)의 창립자를 만났다. 그중 3명이 오슬로에서 열린 우리의 첫 워크숍에 참석했고 우리를 저녁 식사에 초대했다. 우리는 그들이 최근에 컨설팅 회사를 그만두고 자신들의 회사를 설립했으며, 자신들이 믿는 기술을 사용해 자신들이 좋아하는 곳에서 일할 수 있게 됐다는 것을 알게 됐다. 나는 속으로 “행운을 빌어요.”라고 말했다. 그들은 대학을 졸업한 지 불과 몇 년 밖에 안 됐고 사업을 운영해 본 경험이 전혀 없었기 때문이다. 그러나 그들에게 어떻게 좋은 고객을 찾고 애자일 계약을 협상하는지에 대한 얘기를 들으면서 그들에 대한 회의적인 생각을 버렸다.
우리는 그 후 10년 동안 아이터레이트를 여러 번 방문했다. 그리고 아이터레이트가 노르웨이에서 성공적인 컨설팅 회사로 성장하고, 또 가장 일하기 좋은 회사 중 하나로 곧잘 선정되는 모습을 지켜봤다. 그들은 수십 명의 컨설턴트를 보유하고 있으며 소프트웨어 개발에서 시작해 테스트 주도 개발(Test-Driven Development)의 코칭 회사로 발전했다. 그들은 고객사들이 설계 스프린트를 통해 혁신하게 돕고 있다. 그러던 중 그들이 2016년에 회사를 크게 변화시키기로 했을 때 나는 놀랐다. 그들이 말하기를 “우리는 진로를 바꾸기로 결정했다. 우리는 사람들이 잠재력을 최대한 발휘할 수 있는 일하기 좋은 직장이 되기를 원하지만 우리의 인재들은 역할이 컨설턴트로서 제한돼 있다. 그들은 항상 다른 누군가의 꿈을 추구한다. 우리는 사람들이 자신의 열정을 따라 새로운 회사를 만들 수 있는 회사를 만들고 싶다. 우리는 스타트업을 육성하고 컨설팅 수익으로 이를 위한 자금을 마련하고자 한다.” 다시 한번 속으로 “행운을 빌어요.”라고 말했다. 이번에는 의심을 품지 않았다. 우리는 새로운 벤처의 일반적인 실패율과 3M 시절의 만트라(mantra)에 대해 얘기했다. “많은 것을 시도하고 효과 있는 것들을 유지하라.” 시간과 돈이 많다면 좋은 좌우명이지만 그들은 둘 다 없었다. 창립자 중 한 명이 새로운 접근 방식이 마음에 들지 않아 회사를 떠났다. 다른 사람들은 항상 하던 대로 한 단계씩 목표를 향해 앞으로 나아가면서 작은 시도를 반복했다. 쉽지 않았고 따라야 할 모델도 없었다. 외부 펀딩을 경계한 이들은 서로 정반대의 비즈니스 모델인 컨설팅과 벤처 펀딩을 병합해 컨설팅에서 얻을 수 있는 수익의 3%로 제한하고 나머지는 펀딩 벤처에 다시 쏟아 붓기로 결정했다. 그들은 컨설턴트들이 2등 시민처럼 느끼지 않고 새로운 스타트업에서 일하는 사람들처럼 느껴서 컨설팅 비즈니스의 성공에 전념하게 해야 했다. 그리고 그들이 시작한 것이 컨설팅 사업뿐이었을 때에도 새로운 사업을 성공적으로 시작하는 방법을 배워야 했다. 5년이 지났다. 우리는 매년 그 회사가 그들의 독특한 접근 방식을 성공시키고자 고군분투하는 동안 함께 아이디어를 브레인스토밍하기 위해 방문했다. 팬데믹이 닥쳤을 때 컨설팅 사업이 중단됐을 뿐만 아니라 3년 동안 키운 팜투레스토랑(farm-to-restaurant) 사업도 현지 농산물을 살 식당이 하나도 남지 않았다. 하지만 생각해 보라. 아이터레이트에는 할 일이 없는 최고의 인재와 부패하기 쉬운 상품을 수집하고 배달할 준비가 된 스타트업이 있었다. 피벗하는 데 단 2주가 걸렸다. 그들은 도로변에서 소비자에게 음식을 제공했고 이것으로 새 스타트업은 시작됐다. 2020년에 오슬로에 있는 대부분의 컨설팅 회사가 어려움을 겪고 있는 동안 아이터레이트는 성공적인 인수를 통해 하나의 스타트업(라스트마일배송)을 엑시트시켰고 선박 위치 확인 시스템 그리고 편직물 업체, 원사 공급업체와 소비자를 위한 3자 간 플랫폼 비즈니스를 포함한 다른 3개 사업은 별도의 법인으로 분리했다. 보너스로 아이터레이트는 패스트 컴퍼니의 2020년 혁신가를 위한 최고의 직장 목록에서 슬랙(Slack), 스퀘어(Square)와 쇼피파이(Shopify)를 제치고 50위를 차지했다. 그렇다면 아이터레이트는 어떻게 역경을 이겨내고 성공했을까? 그들은 소프트웨어 개발에 대한 컨설팅 방식으로는 주도적인 역할을 맡을 수 있는 자유를 가질 수 없다는 사실을 깨닫는 것부터 시작했다. 소프트웨어가 전략적 혁신 수단이 되면서 그들은 의사결정 테이블에 자리를 차지해야 할 때라고 느꼈다. 이는 결과에 대한 책임을 지는 것과 관련이 있기 때문에 무서웠다. 일반적으로 컨설턴트는 이를 기피한다. 그러나 그들은 도전적인 문제를 해결하기 위한 실험적 접근 방식이 기술 문제뿐만 아니라 비즈니스 문제에도 통할 것이라고 확신했기에 앞으로 나아갔다. 아이터레이트의 트랜스포메이션이 이 책의 주제인 디지털 트랜스포메이션과 어떤 관련이 있는지 궁금할 수 있다. 아이터레이트의 얘기에는 모놀리스, 마이크로서비스 또는 애자일 사례에 대한 내용이 없지만 이것들이 혁신의 본질은 아니다. 이 책에서 지적한 것처럼 트랜스포메이션은 새롭고 혁신적인 비즈니스 전략, 즉 시장에 실제적이고 차별화된 가치를 제공하는 것에서 시작된다. 그 전략을 추구하는 것은 길고 도전적인 여정이 될 것이며, 그 과정에서 훌륭한 사람들, 깊은 생각, 그리고 많은 배움이 필요하다. 그러한 변화를 시작하는 사람들에게 이 책은 그 변화의 여정에서 필요한 많은 사고 도구를 제공한다. 예를 들어 새로운 방향으로 나가려고 한다고 현재의 성공을 가져온 구조를 폭파하고 싶지는 않을 것이다. 당신의 변환을 위한 자금을 마련하려면 오래된 빅볼 오브 머드 모놀리스(또는 컨설팅 서비스)가 필요하다. 또 다른 예로 당신이 가장 먼저 고려하고 싶은 것은 새로운 비즈니스 모델에 적합한 아키텍처이며 아마도 이전 모델과 동일하지 않을 것이다. 아이터레이트가 컨설턴트 인력 풀과 확연히 다른 스타트업 팀으로 전환한 것처럼 운영 도메인에 맞게 새로운 아키텍처를 구성하고 싶을 것이다. 이것은 일반적으로 새로운 전략에 맞는 비즈니스 기능을 명확히 하고, 이러한 기능을 중심으로 완전한 팀을 구성하는 것을 의미한다. 따라서 계층화된 아키텍처 대신 제품의 자연적 구성 요소와 바운디드 콘텍스트라고도 불리는 하위 컴포넌트를 기반으로 하는 아키텍처를 원할 가능성이 높다. 스페이스엑스(SpaceX)를 생각해보자. 발사체의 아키텍처는 1단(엔진 9개, 긴 동체 및 일부 착륙 다리 포함), 중간 단계, 2단 및 탑재 화물과 같은 구성 요소에 의해 결정된다. 팀은 엔지니어링 분야(예: 재료공학, 구조공학, 소프트웨어공학)를 중심으로 구성되는 것이 아니라 구성 요소 및 하위 구성 요소를 중심으로 구성된다. 이것은 각 팀에게 명확한 책임과 일련의 제약을 부여한다. 팀은 다음 출시의 성공을 보장하고자 해당 구성 요소가 수행해야 하는 작업을 이해하고 수행해야 한다. 새 전략에서 제품 아키텍처를 명확히 할 때 저자가 지적한 것처럼 중력의 법칙을 거스를 수 없는 것 이상으로 콘웨이의 법칙을 거스를 수 없기 때문에 이 아키텍처와 일치하는 조직을 만들고 싶을 것이다. 이 책의 핵심은 새로운 아키텍처(아마도 모듈형 모놀리스로 시작하게 될 것이다)와 그 아키텍처를 지원하는 데 필요한 조직을 설계하는 데 도움이 되는 거대한 사고 도구의 모음이다. 그런 다음 이 책은 기존 아키텍처에서 새 아키텍처로 점진적으로 이동하는 방법을 제공하고, 언제 어떻게 적절한 서비스를 분리할 수 있는지에 대한 아이디어를 제공한다. 시간이 지남에 따라 아이터레이트는 성공적인 스타트업에 3가지 공통점이 있음을 알게 됐다. ● 훌륭한 마케팅 타이밍 ● 팀의 응집력 ● 기술적 우수성 시장 타이밍에는 인내심이 필요하다. 트랜스포메이션을 새로운 프로세스나 데이터 구조에 관한 것이라고 생각하는 조직은 일반적으로 참을성이 없고 그 의미를 잘못 이해하는 경향이 있다. 트랜스포메이션이라 함은 혁신이 번성해 새롭고 차별화된 제품을 만들고 적시에 시장에 출시할 수 있는 환경을 만드는 것이다. 성공의 두 번째 요소인 팀 응집력은 사람과 제품의 올바른 조합이 나타날 때까지 개발 중인 기능(바운디드 콘텍스트)과 관련 팀 구성원이 시간이 지남에 따라 발전할 수 있게 하는 능력에서 비롯된다. 세 번째 요소인 기술적 우수성은 소프트웨어의 기술적 복잡성에 대한 깊은 존중에 뿌리를 두고 있다. 이 책은 기존 시스템과 해당 시스템의 향후 버전의 복잡성을 이해하는 데 도움이 될 뿐만 아니라 한 시스템에서 다른 시스템으로 진화하는 문제를 이해하는 데 도움이 될 것이다. 아이터레이트의 얘기에는 마지막 주의 사항이 포함돼 있다. 당신의 전환은 쉽지 않을 것이다. 아이터레이트는 모든 사람이 가치 있다고 느끼고 조직의 전반적인 성공에 전념하도록 벤처 팀과 컨설팅 인력 풀을 결합하는 방법을 알아내야 했다. 이것은 어떤 조직이든 전환을 진행할 때 어려움을 겪게 될 부분일 것이다. 성공을 위한 공식으로 이 책에서는 고도로 숙련된 사람, 깊은 생각, 끊임없는 실험을 제시한다. 그 이외의 방법은 없다. 그렇지만 은 탄환은 없다. - 메리 포펜딕 (Mary Poppendieck) (『린 소프트웨어 개발』(인사이트, 2007)의 공동 저자) |