book
최고의 프로덕트는 무엇이 다른가
halatha
2024. 7. 28. 01:34
- ★★★★☆ July 27, 2024
- 제주 005.12-유79최
- https://www.youtube.com/watch?v=TkXTeJbYoSM
- pp23~24
- 소프트웨어 프로젝트 문제점은 그 일을 하는 사람들의 의사결정 구조의 문제점을 닮아간다. 프로세스만 문제가 아니다.
- 사회와 조직의 창의성과 생산성은 구조-시스템-절차-사람 (structure-system-process-people, SPSS)에 따라 달라진다
- pp27~28
- 소프트웨어 개발은 반복/반복/반복
- 소프트웨어 개발 일정을 잡을 때는, 반복적으로 나눠서 출시한다… 안 끝날 수도 있다
- [(1) Giora Morein on X: "You will only know all the requirements of a story when it is completed (not before you start it) #agile #scrum](what_is_different_in_the_best_product/ X
- p30
- 매 반복마다 피드백을 받아야 한다
- p41
- 혼란(chaotic) → 복잡(complex) → 복합(complicated) → 명확(clear) 혹은 단순(simple)
- https://en.wikipedia.org/wiki/Cynefin_framework
- pp47~48
- 어느 의사 결정을 먼저 하면 다른 의사결정들을 내리기가 훨씬 수월해질까?
- 인지적 작업을 하는 경우 모두가 해당
- 첫째, “누가 이 소프트웨어를 사용하는가?”… ‘액터(actor)가 누구인가?’… “고객이 누구인가?”
- persona로 생각하면 될 듯? 작년 AWS re:invent에서 봤던 AWS의 4가지 persona가 생각난다
- 둘째, “이 액터들이 해결하고 싶은 문제 3가지만 고르라고 하면 무엇인가?”… ‘문제해결’
- 액터가 정해지면, 액터별로 모든 사용자 스토리들을 뽑을 수… 액터들이 해결하고자 하는 핵심 문제들에 따라서 사용자스토리들의 우선순위
- pp52~53
- 시간 제약이 있는 상황에서 프로토타이핑의 효율성(The Efficacy of Prototyping Under Time Constraints)”
- https://www.cs.cmu.edu/~spdow/files/Prototyping-Iteration-CC09.pdf
- 짧은 시간이라도 반복적으로 ‘찔러보기-느껴보기-반응하기’를 할 수 있던 그룹이 모든 것에서 더 나은 성과를 보여주고, 예상 대비 더 나은 성과
- pp65~66
- 원칙만 정한다는 것은, 그 실천 방안으로 이 원칙이 이야기하는 것만 지킨다면 무엇을 해도 된다는 것
- principles behind the agile manifesto https://agilemanifesto.org/principles.html
- 최우선 순위는, 가치 있는 소프트웨어를 일찍 그리고 지속적으로 전달해서 고객을 만족시키는 것
- 요구사항 변경을 환영
- 작동하는 소프트웨어를 자주 전달
- 비즈니스 쪽의 사람들과 개발자들은 프로젝트 전체에 걸쳐 날마다 함께 일해야
- 작동하는 소프트웨어가 진척의 주된 척도
- 단순성이 — 안 하는 일의 양을 최대화하는 기술이 — 필수적
- 팀은 정기적으로 어떻게 더 효과적이 될지 숙고하고, 이에 따라 팀의 행동을 조율하고 조정
- pp85~89
- ‘무엇이 나와야 하는지’를 합의
- 하일마이어 질문(Heilmeier catechism)
- 대부분 PRD에 들어가야 할 중요한 항목들
- 거꾸로 일하기(Working backward)
- pp107~109
- ‘애자일 실천법 중에서 도입해서 성과에 도움을 준 것들을 모두 고르세요’… 애자일 실천법 숫자가 많을수록 프로젝트의 성공도가 높았고, 성숙도와도 상관성이 강
- ‘고객 참여’가 제일 중요
- ‘고객을 조금이라도 일찍 불러다가 개발의 과정에 참여시키는 조직이 성공할 확률이 높다’… 조직의 성숙도를 떠나서 통계적으로 가장 유의미한 실천법으로 ‘고객 참여’… 꼭 해야만 하는 일
- “많은 조직들이 고객 참여와 코드 공유를 뒤로 미룹니다”
- pp146~149
- ‘테크 스펙’
- 의사 결정에 필요한 관련된 사람들(stakeholder)이 아래와 같이 어떤 제품을 만들어야 하는지를 정의하는 ‘한 개의 문서’
- https://blog.banksalad.com/tech/we-work-by-tech-spec/
- 기획자도 개발자도 디자이너도 자신이 뭘 원하는지 명확하게 정의 내리지 못하는 경우가 허다… 언어라는 도구는 생각보다 부족한 도구이기 때문… 하지만 언어를 통하지 않고 자신이 뭘 원하는지를 이야기할 수 없습니다… 기획자가 아예 무엇을 원하는지를 말로 적을 수도 없으면 개발 담당자나 디자인 담당자는 더더욱 무엇을 만들어야 할지 모르게…
- 언어를 통하는 게 주요하긴 하지만 그래서 나는 언어/글과 함께 이미지, diagram 사용을 매우 강력하게 권장한다. 하지만 보통 잘 되진 않는다
- 이러한 문서를 통해서 서로 ‘목표 합의’…
- ‘모든 것이 글쓰기’라는 실용주의 프로그래머의 말은, 진정 진리
- ‘테크 스펙’
- pp153~154
- 개발자가 모자란 게 아니라 개발자들을 잘 배치하지 못한 경영의 문제… 기획자들이 한창 개발팀에서 현재 해야 하는 일을 열심히 하고 있는데, 계속해서 ‘나 새로운 아이디어가 있어’라면서 자꾸 불러내서 새로운 아이디어라고 열심히 설명하고 ‘언제쯤 돼요?’라고 보챕니다.
- pp157~158
- “절대 없어서는 안 될 프로그래머가 있다면 한시라도 빨리 그를 프로젝트에서 제거하라”
- 문서화
- 핵심 개발자를 ‘제거’해서 전체 프로젝트의 안정성을 키워야… 성공한 기업은 결국 SSPP(structure-system-process-people)를 제대로 만들어서, 집단의 힘으로 개인의 힘을 넘어서서 이룬 것
- pp161~168
- ‘정부의 디자인 원칙(Government Design Principles)’
-
- 사용자의 수요에서 시작하라(Start with user needs)
- 서비스 디자인은 사용자의 니즈를 파악하는 것에서 시작… 사용자의 요구가 무엇인지 모른다면 제대로 된 것을 만들 수 없습니다. 조사하고, 데이터를 분석하고, 사용자와 대화하세요. 추측하지 마세요. 사용자에 대해 공감하고, 사용자가 요구하는 것이 항상 필요한 것은 아니라는 점을 기억…
-
- 데이터를 가지고 디자인해라(Design with data)
- https://userresearch.blog.gov.uk/2019/03/12/how-to-use-data-in-user-research-when-you-have-no-web-analytics/
- To gain insights into user behavior without web analytics, follow these steps: start with a research question, choose relevant data sources (like user accounts, search logs, support tickets, or social media), find a developer to help access the data, and analyze it using spreadsheets. This collaborative approach can provide a richer understanding of user needs and help the entire team become more user-focused.
- “항상 그래왔어요” 라는 대답을 당연하게 받아들이지 마세요.
- 마치 내가 PO들에게 “있으면 좋을 거 같아요”라는 기능은 거의 대부분 안 하는 게 정답이라고 말하는 거와 연결된다는 생각이 든다
- 반복은 위험을 줄여줍니다. 큰 실패의 가능성을 낮추고 작은 실패를 교훈으로 삼을 수 있습니다. 프로토타입이 작동하지 않는다면 과감히 폐기하고 다시 시작…
- double diamond model에서 divergence와 convergence를 반복하는 경우도 결국 이와 연결된다고 생각함
- pp194~196
- 조직의 구조와 시스템의 설계란 이러한 성과책임(accountability)의 구조… 합리적으로 달성해서 기대한 성과를 내는 것이 유능한 것
- 행동을 조정하는 관리(혹은 행동주의적 직무 인식)의 문제점
- 성과를 높이기 위해서는 행동이 아니라 목표를 조정
- 목표를 조정하는 관리(혹은 성과주의적 직무 인식)의 장점
- 합의된 목표를 설정
- 책임을 명확히
- 목표와 자기 조절에 의한 관리(management by objective and self-control)
- pp199~200
- 이 조직이 어떻게 돌아가는지 분석하는 가장 좋은 방법은 조직의 SSPP(structure-system-process-people)를 분석
- 구조(Structure): 조직의 각 기능과 역할이 명확히 정의… 체계적인 운영을 가능케
- 체계(System): 조직 내의 구조가 유기적으로 연결되어 네트워크를 형성… 각 부서 및 구성원들이 협력하여 목표를 달성…
- 과정/순서(Process): 정의된 구조와 체계를 기반으로 일의 흐름과 순서가 잘 구성… 업무의 효율성과 일관성 유지…
- 사람(People): 조직을 이루는 구성원들의 역량과 특성을 고려… 올바른 사람을 올바른 위치에 배치하고 적절한 책임을 부여…
- 직무의 책임은 계층과 계열이 있어야
- 지시와 명령보다는 구성원들에게 ‘책임’을 부여하고 협력을 장려
- 이니셔티브는 특정 문제를 처리하거나 특정 목적을 달성하기 위한 다양한 방법들
- 권한 위임(delegation)과 권한 양도(empowerment)… 권한 위임은 큰 책임을 상위 레이어의 결재를 받아 나누어 수행… 권한 양도는 상대적으로 덜 중요한 업무를 받은 사람이 스스로 판단하여 수행
- 이니셔티브를 책임계약을 기반으로 조직화해서 짜 놓은 것을 ‘책임으로 지은 집’이란 이름으로…
- 이 조직이 어떻게 돌아가는지 분석하는 가장 좋은 방법은 조직의 SSPP(structure-system-process-people)를 분석
- pp205~207
- “물건을 만드는 일에 직접 참여하면 사람의 자부심이 높아진다. 그리고 그 자부심은 자신이 만든 물건의 가치를 높게 평가하도록 만든다”
- https://dash.harvard.edu/bitstream/handle/1/11320608/mochon,norton,ariely_bolstering.pdf
- How Self-Assembly Can Boost Our Pride and Loyalty
- ‘참여적 의사결정의 4가지 핵심 가치’
- 온전한 참여(full participation)
- 상호 이해(mutual understanding)
- 포괄적 해법(inclusive solution)
- 공유 책임(shared responsibility)
- 집단 의사결정의 현실적인 모델
- ‘수렴적 사고’의 지대로 넘어올 수 있게 하고, 결정 지점으로 갈 수 있게 도와주는 게 리더… 갈등이 생길 수도 있고, 의견 대립이 있을 수도 있습니다. 이 순간을 ‘받아들여야 합니다’.
- 누구 한 사람만의 의견으로 가는 게 아니라 ‘가장 좋은’ 결정을 하기 위해서 모든 좋은 생각들을 쏟아 넣어야 합니다.
- “물건을 만드는 일에 직접 참여하면 사람의 자부심이 높아진다. 그리고 그 자부심은 자신이 만든 물건의 가치를 높게 평가하도록 만든다”
- pp210~214
- 위임형 전술… 아우프트랙스탁틱(Auftragstaktik)… 미션 타입 택틱스(Mission-type tactics)… “특정 방법보다는 임무의 결과에 중점을 두는 군사 전술”… 목표를 조정하는 관리(혹은 성과주의적 직무 인식)와 비슷
- 위임형 조직
- 명령에 복종하려고 할 때, 그것이 자신의 명예를 훼손한다고 판단되면 불복종할 수 있어야 한다.
- 복종은 원칙이지만 인간은 원칙 위에 있다.
- 몰트케의 전략사상 핵심
- 계획은 적군을 만나면 살아남지 못한다: 생각하고 있는 시나리오 안에 있는 일이 일어나면 좋지만 없는 일이 일어날 확률이 높기 때문…
- 기술적인 모든 가능성을 부하들과 끊임없이 토론한다: 토론하는 와중에 지휘관이 몰랐던 혹은 일반 병사들이 몰랐던 많은 정보들이 오갑니다. 자연스럽게 많은 정보들을 두고 제일 좋은 안을 선택…
- 전쟁의 목적을 공유한다
- 전투 시 지휘관에게 포괄적인 자율성을 보장한다
- 몰트케… “철저히 준비하고 과감히 실행한다(Erst wägen, dann wagen)”
- 인간의 존엄이 지켜져야 합니다. 그래야 자율성이 살아납니다. 그 자율성 덕에 현장에서 알게 된 정보와 준비된 지식에서 나온 해결책으로 대단한 성과를 보여줄 수 있습니다. 인간의 존엄이 존중되어야 조직의 피드백 루프가 돌아가기 시작하기 때문입니다. 그리고 분권화, 자율화, 조직화된 조직이 만들어질 수 있기 때문입니다.
- 새로운 것을 구축할 때, 흔히 저지르는 실수(common mistakes in building new things)
- ‘왜 애자일 프로젝트는 실패하느냐(why agile projects sometimes fail)’
- pp233~234
- 일정을 ‘분할하여’ 달성
- 프로젝트의 일정이 실제로 치명적으로 중요하다면, 필요한 경우 요구사항 일부분을 과감하게 버리는 결단
- ‘이왕이면 다홍치마’를 피해야… 고객이 자신의 문제를 해결할 수 있느냐 없느냐가 문제
- 제품 또는 서비스를 출시하기 전에 반드시 모든 이해 당사자가 직접 사용하고 경험