제시 제임스 개럿(Jesse James Garrett)의 저서 «사용자 경험의 요소»에선 웹개발에서 추상화의 단계를 다섯 면으로 나눈다.
- 전략(strategy)
- 범위(scope)
- 구조(structure)
- 뼈대(skeleton)
- 표면/비쥬얼(surface/visual)
우리가 전문가의 이미지를 잘못 가지고 있다면 전문가가 다음과 같이 일을 처리하리라 생각하기 쉽다.
‘전략이 깔끔히 완료되고 나서야 범위(무슨 기능이 들어갈지 결정)를 정하고, 다음에 구조(기능들을 어떻게 연결할지, 흐름은 어떻게 될지, 사이트 구조 등)를 정하고, 거기에서 뼈대(화면에 어떤 요소들이 대략 들어가야 하는지, 배치는 어떤지)가 나오고, 마지막에 이르러서 비주얼 디자인에 도달할 수 있다.
- 하지만 사실은 이와 다르다. 더 높은 품질을 얻기 위해 이 사다리를 오르락내리락 반복하는 것이 필요하다. 어느 한 단계를 한번에 완료하는 것은 더 낮은 품질로 가는 지름길이다. 특히나 문제와 해결책에 불확실성이 높은 경우….
- 흔히들 말하는 개발의 5단계도 비슷하다. 분석, 설계, 구현, 테스트, 전개를 1년이라는 프로젝트 기간에 얼마나 배치할까로 고민하지말고, 어떻게 해야 첫 달부터, 아니 첫주부터 분석, 설계, 구현,테스트, 전개를 모두 왔다갔다 할 수 있을까를 고민해야 할 것이다.
- 그리고 이렇게 일하기 위해 우리 조직은 어떤 종류의 협력을 해야 할지를 생각해봐야 할 것이다.
나의 생각
- 근래 들어 분석, 설계, 구현, 테스트를 왔다갔다 하는일이 잦게 되었고 왜 그런지에 대해 깊이 있게 생각해본 적이 있다. 왜 왔다갔다 하게 되었는지에 대해선 더 확장성 있는 구조를 가져가려 하였기 때문이었고 설계 단계의 결함이 도출된 것이라 생각하였다.
- 하지만 이러한 왔다갔다함이 더 높은 품질을 얻기 위한 과정임을 새로 깨닫게 되었고 앞으로는 개발하면서 자연스럽게 받아들일 수 있을 것 같다.
- 품질과 비슷하게 생산성도 중요한 부분이기에 더 성장하기 위해선 이러한 과정을 빠르게 반복하는 역량도 필요하지 않을까란 생각도 든다.
- 이와 연관되어 앞서 나온
빠르게 실패
하기도 비슷한 맥락이 아닐까 싶다..!
- 이와 연관되어 앞서 나온