건축과 소프트웨어 개발의 차이점

소프트웨어 설계가 완벽할 수 없는 다섯가지 이유 를 읽고 건축과 SW개발을 비교한 것이 재미있었다.

건축과 SW개발 단계를 4단계로 나누어보자
1.요구사항 분석 -> 2.설계 -> 3.상세설계 -> 4.구현

  1. 요구사항 분석까지는 건축이나 SW개발이나 똑같다
  2. 설계
    • 건축에서 스케치/조감도와 기본설계를 가지고 고객의 요구사항을 만족시킨다
    • SW는 설계 완료 후 눈으로 보여줄 수 있는 것은 추상적인 SW설계 다이어그램과 화면설계/디자인 시안 밖에없다.최종 SW는 인터랙티브하게 움직이는데 화면설계에서는 어떻게 움직이지 볼 수 없다.
  3. 상세설계
    • 건축의 실시설계 과정이다. 고객은 이미 수많은 스케치/조감도/모형 등을 통해 요구사항과 설계사이의 차이를 제거했다. 건축에서 이 정도 들어가면 이제 요구사항을 바꾸기는 힘들다
    • 코딩이 곧 상세설계이다. 가장 시간이 많이 드는 부분이다. 아직 고객은 처음보는 괴상한 SW모형 다이어그램과 움직이지않는 화면설계 그리고 디자인 시안 밖에 본적이 없다. 그 중에서 이해한 것은 디자인 시안 뿐이다.
  4. 구현
    • 건축에서 가장 시간과 돈이 많이 들어가는 부분이다.
    • 빌드하는데는 아무리 복잡한 SW도 보통 12시간 안에 끝난다.

SW 요구사항이 자꾸 바뀌는 이유

  • 고객이 봤을 때 설계가 자신의 요구사항을 충족시키는지 이해하기도 힘들다
  • 건축은 상세설계 1번, 구현 1번 하기 때분에 한번 구현하면 맘에 안들어도 어쩔 수 없다.SW는 상세설계가 진행되는 대로 어느정도 진행되면 바로 바로 구현해서 보여줄 수 있다.
    그래서 고객은 맘에 안드는 부분을 바로바로 지적할 수 있다.

Leave a Reply

Your email address will not be published. Required fields are marked *