#title 소프트웨어의 유연성은 가장 큰 장점이자 단점이다 오늘 여자친구(?)와의 대화에서 당연하지만 중요한 사실을 알았습니다. 여자친구는 건설관련 일을 하고 있는데, 실수를 하지 않으려면 어떻게 해야 하는지 저에게 묻더군요. 덜렁병 걸린 저에게 묻다니요. 뭐 어쨌든.. 그래서 저는 요구분석:설계:검수에 1 : 1 : 1의 시간을 투자하라고 했습니다. 그리고 철저한 계획을 세우라고 말해 주었습니다. 그랬더니 자기네들은 협의:도면:검수에 2 : 1 : 0.5의 시간을 투입한다고 했습니다. 그래서 실수가 많다고 저에게 하소연을 했습니다. 놀랬습니다. '협의'단계에 주어진 시간의 1/2도 넘게 투자하다니요. 그냥 단순히 놀래기만 했습니다. 하지만 잠시 후 뭔가가 제 뒤통수를 딱!! 치더군요. 건물은 지어놓고 나면 정말 큰 하자가 있거나 미치지 않은 이상 다시 부술 수는 없다는 사실입니다. 반면에 소프트웨어는 제품을 출시하고 나서도 완전히 다 뒤집어 업은 다음 처음부터 다시 만들 수 있다는 사실입니다. 많은 서적에서 소프트웨어 개발을 건축과 비교합니다. 하지만 건축물과 소프트웨어 개발 산출물의 품질은 상당한 차이를 보입니다. 저는 그저 건축의 역사가 오래되어 많은 시행착오를 거쳐 발전을 해왔기 때문이라고 생각했습니다. 그런데 그게 아니었습니다. 차이가 분명히 있었습니다. 바로‘절박함’의 부재입니다. 소프트웨어의 유연성이라는 것이 가장 큰 장점이자 단점이 될 수 있다는 것입니다. ---- ㄴㄱㅁ -- ㄴㄱㅁ 2021-03-31 22:51:39