자동차 자율 주행 vs 스틱 운전.
Vs
코딩 관련 이런저런 생각을 하다가 품질 쪽 이야기를 할 때 적절한 비유가 뭘까 고민을 많이 했습니다.
그래서 찾은 이미지 입니다.
참고로 엘런 머스크란 분이 자율 주행 관련되서 이야기 하다 나온 이야기 입니다.
자동차는 2톤의 death machines 으로 본다는 취지의 발언인데요.
핵심은 자동차를 사람이 운전함으로써 자동차는 데스 머신이 될 수 도 있다 라.. 의역을 합니다.
소프트웨어 자동화는 불가능한 영역입니다.
워낙 장인(?)들의 수제품 처럼 한땀 한땀 바늘질 처럼 영혼을 담아서 코드를 한타 한타 쳐야되는 것들인 것 처럼 말이지요.
하지만 수제로 이뤄지는 많은 작업 및 공정들은 자동화가 될 수 있다고 믿습니다.
그리고 그 중 하나가 소프트웨어 코딩 분야 입니다.
재 사용성은 OOP의 Myth 라고 믿습니다.
물론 기능적인 측면에서 갖다 붙여서 재사용이 가능하다면 되지만,
세상의 모든 형태가 1가지로 이뤄지지 않았으며, 생각보다 난해하며 다각형이며 상당히 추잡하고 추상적입니다.
그러다 보니, 그 형태를 따라가는 코드는 당연지사 난해해지지요. 재사용성은 꿈도 못 꿉니다.
재사용이 가능한 부분은 커스터마이징을 용인하지 않을 때 가능한데요.
한국의 갑, 을 문화에서는 가당치 않습니다.
그래서 나온것중 하나가 인터페이스, 추상화로 명세만 빼고 나모지는 해당 사이트에서 구현을 하자 인데,
이게 또 만만 찮은게 코드가 존재 하지 않고 사이트에서 구현 하다보니, 테스트 및 품질 검증에 시간이 소요 되고,
SW 개발 사이클에 반드시 포함해야 되는 부분입니다.
저는 이 부분이 데스 머신과 스틱 운전의 동일한 이치로 봅니다.
사람이 코딩을 하는 순간 에러 머신(?) 으로 바뀌는건 시간문제라고 보기 때문입니다.
개인적으로 서른 중반이 되니…눈도 침침해지고, 글을 읽다가도 점프를 하게 되고, 집중도 떨어지며 오타가 많이 나오더군요.
그래서 주로 SI를 할 때 공통 쪽에 더더욱 신경을 쓰게 되고, SM 할 때 검증된 기존 소스의 활용에 더 중점을 둡니다.
그렇게 작업을 하다 보니, SM 시 해당 사이트에서 검증된 소스를 토대로 인자를 빠궈서 generator의 활용을 점점 높이게 되고,
그러다 보니 제 코드는 에러가 날래야 날수가 없는 검증된 코드로 구성되어지게 되더군요.
결국 품질의 완성은 검증된 부분을 자동화에 의탁해야지 가능하더군요.
결국 모든 문제의 시작은 자유도가 높은 코딩이 였던 것 같습니다.
난해하지만, 품질 + 시간을 아끼는 개발 사이클은 준 자동화와 잘 짜여진 common or helper 클래서 and framework 가 존재 해야 한다가 결론입니다.
감사 합니다.
'IT 관련 토막 생각' 카테고리의 다른 글
투덜이 스머프 와 리모콘. (0) | 2015.06.11 |
---|---|
이 산이 아닌가벼 vs 일단 끝내. (0) | 2015.06.06 |
꼬리뼈 vs 헝가리안 표기법 (0) | 2015.06.06 |
F1 레이서 vs 포토샵 디자이너. (0) | 2015.06.02 |
SW 에서 양과 질에 관해서.. (0) | 2015.06.02 |