상세 컨텐츠

본문 제목

[개발 프로세스] 익스트림 프로그래밍 : 운전하는 법 배우기

IT/프로그래밍

by James Lee. 2015. 12. 1. 12:22

본문

2장. 운전하는 법 배우기


글쓴이는 운전을 처음 배웠을때 잠깐 한눈을 팔다가 사고가 날 뻔한다.

그때 글쓴이의 어머니께서 이런 조언을 해주신다.

"운전은 차를 똑바른 방향으로 가도록 맞추어 놓고 그대로 두는 게 아니야.

운전은 계속 신경을 쓰면서 이번에는 이쪽으로 조금, 다음에는 저쪽으로 조금씩 방향을 고치면서 가는 거지"
 

이것이 XP의 패러다임이다.

깨어 있고 적응하며 변하는 것. 

  • 요구사항
  • 설계
  • 비즈니스
  • 기술
  • 팀 구성원

소프트웨어의 모든 것은 변한다.


변화는 언제나 항상 일어나기 때문에 문제가 되지 않는다.

문제는 바로 변화를 극복하지 못하는 우리의 무능력이다.


운전을 소프트웨어 개발에 빗대어 표현해보자.


고객은 시스템 내용의 방향을 결정한다.

개발 팀은 개발 프로세스의 방향을 결정한다.

XP는 작은 수정을 빈번히 하도록 한다.

즉, 소프트웨어 배치 간격을 짧게 유지하여 목표를 향해 전진하도록 한다. (small step)

그렇게 하면 잘못된 길에 들어섰을 때 오래지 않아 그것을 깨달을 수 있기 때문이다.


운전 메타포(Metaphor, 비유)는 XP에 2가지로 적용될 수 있다.


고객은 시스템 내용의 방향을 결정한다.

개발팀은 개발 프로세스의 방향을 결정한다.


왜 그렇게 비유를 할 수 있을까?


개발의 결과로 나오는 시스템은 고객에게 간다.

진정으로 원하는 것은 고객만이 알고 있다.

따라서 시스템 내용(결과물)은 고객이 방향을 설정하는 것이 맞을 것이다.


개발팀은 왜 개발 프로세스의 방향을 결정할까?

고객이 원하는 것을 말하면 그 원하는것은 누가 만드는가?

개발팀이 만든다.

그렇다면 개발 프로세스(과정)의 방향을 결정하는 것이 개발팀이 할 수 있는 최선일 것이다.


고객 -> 원하는 것 -> 시스템 내용 방향 (What) 

개발팀 -> 만들 것 -> 개발 프로세스 방향 (How) 

관련글 더보기

댓글 영역