Page 25 -
P. 25
약해지지만 구조물을 처음부터 새로 만드는 것보다 비용이 적게 든
다. 그래서 그냥 용접하기로 한다.
12. 구조물이 쓰러지지 않도록 더 튼튼한 블록을 놓아 지지한다.
13. 일주일이 지난 뒤, 날씨 때문에 용접해둔 봉이 망가진다. 다시 용접
으로 붙인다.
14. 6일 후 임시방편으로 놓아둔 블록 때문에 구조물이 다시 넘어진다.
15. 주어진 시간이나 돈이 떨어질 때까지 마지막 몇 단계를 반복한다.
잘못된 방법 분석
앞서 소개한 방법의 장점은 무엇일까? 한 사람이 전체 구조물을 성공적으
로 완성하긴 했다. 소프트웨어로 치환하면 한 사람이 ‘무언가 작동하는 걸
만들었다’고 할 수 있다. 굳이 장점을 찾자면 이 방법을 쓴 덕에 한 사람이
많은 일을 할 수 있게 되었다. 그 한 사람이 많은 일을 하기 원했다는 가정
하에 이 또한 장점이라면 장점이다.
그러면 단점은 무엇일까?
● 모든 봉을 차례로 하나씩 맞춤 제작해야 했다.
● 최종 구조물은 단독으로 세울 수 없다. 구조물을 완성해서 제자리에 갖다둔 후에야 이 문제
를 발견했다.
● 문제를 발견했을 때 미래에 대한 계획 없이 그저 ‘빠르게 수습’하는 데 그쳤다.
● 완성된 구조물을 제자리에 가져다두는 데 엄청난 수고가 들었다.
● 봉을 모두 용접했기 때문에 봉의 배치를 바꾸어야 할 상황이 생겨도 바꿀 수 없었다. 완전히
새로운 구조물을 만들어야 했다.
● 완성된 구조물의 상태를 수시로 확인해야 했다.
13장 분별 있는 소프트웨어 설계 055
심플소프트웨어_06.indd 55 2019-10-18 오전 10:34:00