소프트웨어 디자인은 인간 관계에 대한 훈련이다.

켄트 벡의 블로그/뉴스레터 Tidy First?에 올라온 짧은 글 소개합니다. 본인이 속한 프로젝트의 코드 구조를 싹 갈아엎고 싶지만 팀이 따라주지 않아 힘들어하는 A의 이야기입니다. A에게 켄트 벡은 아래와 같이 조언해줍니다. 1️⃣ 의심하기 내가 구상한 새 구조가 정말로 지금보다 더 나을까? 여전히 커플링은 존재할텐데, 현재의 커플링보다 나을까, 더 안좋을까? 구상한 변경사항 중 효과가 확실한 항목은 무엇이며, 효과가 없을 항목은 무엇일까? 현재보다 더 악화시킬 항목은 뭘까? 2️⃣ 공감하기 자신의 디자인을 의심해보는 과정을 통해 현재 구조에 만족하는 사람들의 입장을 공감해 볼 수 있다. 우리는 모두 같은 주방에서 일하고 있다. 사람들은 칼이 어딨는지 알고 있는데 너가 그걸 옮기면 아무리 새 위치가 좋더라도 당분간은 칼을 찾는데 어려움을 겪을 것이다. 소프트웨어 디자인에는 소프트웨어 요소들과 요소들의 연결 관계만 있는게 아니다. 사람도 포함된다. 큰 변경 사항이 5~6개 있는가? 그 중에 무엇이 팀원들에게 즉각적인 효능을 줄 것인지에 따라 우선순위를 매겨라. 3️⃣ 쪼개기 새로운 시스템 구상도를 그렸다고 치자. 현재 상태에서 거기까지 어떻게 갈 것인가? 절대로 한번에 갈 수 없다. 목적지까지 도달할 수 있는 여러가지 경로를 생각해보라. 쪼개고 순서를 생각해라. 음악과 마찬가지로, 음표들만이 중요한게 아니고 인접한 음표들끼리의 순서와 조화가 중요하다.

The Story of A

Substack

The Story of A

다음 내용이 궁금하다면?

또는

이미 회원이신가요?

2022년 12월 27일 오후 11:06

 • 

저장 9조회 2,318

댓글 0