예전에 해커와 화가의 글을 인용하면서, 글을 썼었는데, .. (물론 내가 다 지워서 지금은 없네)

대부분 많이들 착각하는 것중 하나가, 최대한 완벽한 설계를 지향하는 거라고 생각해.

아래 페고형 댓글처럼 자신이 잘 아는 시스템에 대해서는, 한번의 완벽한 설계도 가능해.

마치 화가가 익숙한 대상을 그릴때, 한번의 덧칠도 없이 완벽하게 그릴수 있는 것처럼,

소프트웨어 설계도 그런 시스템에 대해서는 가능하겠지.

하지만, 화가가 가져야할 스킬은 익숙한 그림을 실수 없이 그리는게 아니야.

처음 보는 대상도 구도를 잡고, 러프하게 대상을 관찰하면서 , 서서히 윤곽을 잡아 나가고, 마지막 단계에서 세밀하게 조정하듯이, 소프트웨어도 새로운 시스템을 개발하는것은 항상 러프하게 접근할수 밖에 없지.

더구나 초반에는 고객이 원하는 것 조차도 알기 힘들기때문에, 더더욱 그렇지.

아래 질문이가 쓴 " 처음부터 완벽하게 만드려고 하기 vs 대충빨리 구현하고 차차 버전업 하기"  는 질문자체가 잘못된거야.

설계를 잘하기 위한 스킬은 존재해도, "처음부터 완벽하게 설계" 하는 방법은 없다는게 내 말이지.

ps. 니들 일할때 제발 copy & paste 좀하지 않귀. 수정하다보면, 정말 ... 졸라..힘들귀..대체 몇군데를 고쳐야하냐공.....ㅅㅂ