Recent Posts
Recent Comments
Link
관리 메뉴

NaggingMachine

소프트웨어 개발, 쉬울까? 어려울까? 본문

TechnoBabbler

소프트웨어 개발, 쉬울까? 어려울까?

naggingmachine 2008. 7. 24. 23:03
제가 간단한 문제를 하나 내겠습니다.

동전을 땅에 떨어뜨렸을 때 동전이 땅 바닥에서 얼마나 높이 튈 것인가를 계산하시오.

여러분은 이 문제를 해결하는데 얼마나 많은 시간이 필요한가요? 10분? 1시간? 10시간? 1일? 1주일? 2주일? 정확하게 예측하기가 어려운 분들에게 힌트를 드리겠습니다. 만약 이 문제에 다음과 같은 가정들을 고려해야 한다면 개발하는데 걸리는 시간은 어느정도 일거라고 생각하십니까?

- 중력은 얼마인가? 지구에서 떨어뜨렸는가? 달에서 떨어뜨렸는가?
- 동전을 땅에 떨어뜨렸을 때 고도는 얼마나 되는가?
- 높이는 미터(m) 단위인가? 피트(ft) 단위인가?
- 동전이 떨어질 때 바람의 영향을 얼마나 받을 것인가?
- 동전을 떨어뜨리는 힘은 얼마나 되는가? 아래로 던지는 힘이 작용하지는 않았는가?
- 동전이 떨어지다가 다른 물체에 부딪히면 어떻게 되는가?
- 땅은 진흙인가? 아스팔트인가?
이렇게 간단한 문제임에도 불구하고 실제와 동일하게 시뮬레이션 하기란 거의 불가능에 가깝다고 생각합니다. 그래서 정확한 요구 사항(제약 조건 포함) 없이는 소프트웨어 개발이 실패할 수 없는 것이죠. 소프트웨어 개발이 실패하는 이유, 그리 멀지 않은 곳에 있습니다.