Page 26 -
P. 26

다소 단순화한 예다. 현실에서는 세라가 초반에 도구 만드는 일에만 몰두
              하지 않을 것이다. 그 대신 개발 주기를 반복하며 가장 큰 병목을 알아내고

              개발 주기 반복 속도를 높일 수 있는 도구가 무엇인지 파악할 것이다. 하지
              만 시간 절약 도구가 큰 배당 수익을 낸다는 원칙이 유효하다는 사실에는

              변함이 없다.

                세라의 접근법에는 더욱 매력적인 부가 효과가 두 가지 있다. 첫째, 더 빠
              른 도구가 더 많이 사용된다. 만약 샌프란시스코에서 뉴욕으로 가는 유일

              한 교통편이 일주일이 걸리는 기차뿐이었다면 사람들이 그 경로를 자주 여
              행하지 않았을 것이다. 하지만 1950년대에 여객 항공사가 등장하면서 사람

              들은 이제 그 경로를 일년에 여러 번 여행할 수 있게 되었다. 마찬가지로 어
              떤 도구가 매일 3번 20분 동안 수행하는 활동의 완료 시간을 절반으로 줄여

              준다면 그 도구를 더 자주 사용할 것이므로 그로 인해 하루에 절약되는 시

              간은 30분 이상이 될 것이다. 둘째, 더 빠른 도구가 생기면 이전에 불가능
              했던 새로운 개발 작업 흐름이 가능해진다. 이 두 가지 효과까지 고려하면

              33%라는 수치는 사실 세라의 속도상 우위를 과소평가한 것일지 모른다.
                이러한 현상은 지속적 배포를 논할 때 이미 언급한 바 있다. 전통적인 소

              프트웨어 주간 배포를 사용하는 팀에서는 새 배포를 끊어서 스테이징 환경
              에 배포하고, QA 팀의 테스트를 거치고, 발견한 문제를 수정하고, 실제 프

              로덕션으로 출시하는 데 시간이 많이 걸린다. 배포 프로세스를 단순하게

              만들면 얼마의 시간이 절약될까? 기껏해야 매주 몇 시간이라고 말하는 사
              람도 있을 것이다. 그러나 지속적 배포를 설명하면서 확인했듯이 배포 시

              간을 몇 분 단축하면 실제로는 소프트웨어 업데이트를 훨씬 더 자주, 매일
              40~50번 정도 배포할 수 있다. 게다가 지속적 배포를 활용하기 시작하면

              프로덕션에 문제가 생겼을 때 의문을 제기하고 이에 대한 답을 찾으려 변경






          098




     이펙티브엔지니어_07.indd   98                                                 2022-06-14   오후 3:57:33
   21   22   23   24   25   26   27   28   29   30   31