소프트웨어 개발방법론을 사용하는 대부분의 프로젝트는 사용자의 요구사항을 받아 분석하고 설계한 후, 개발하는 프로세스로 진행된다. 개발방법론은 폭포수 모델에서 OO(Object Oriented) 개발방법론, CBD(Component Based Development) 개발방법론 등으로 계속 발전되었지만, 큰 형태는 요구사항 분석(Requirement Analysis), 분석(Analysis), 설계(Design), 개발(Development), 구현(Release)으로 구성되어 있는 폭포수 모델을 바탕으로 하고 있t습니다.
이러한 개발방법론들은 어떠한 목적으로 만들어졌던 간에 납품(Delivery)형 소프트웨어를 위한 것으로 볼 수 있습니다. 그러다 보니 요구사항이 원하는 형태로 개발되는가 보다는 계약관계가 잘 이행되고 있는지에 더 초점이 맞춰져 있는 것이 사실입니다. 이러한 이유로 기존의 개발방법론은 대기업 위주의 SI(System Integration)형 프로젝트의 변화에 따라 발전했다고 봐야 할 것입다. 이와는 다르게, 중소규모의 솔루션(Solution)형 프로젝트는 개발자 위주로 개발되다 보니 개발방법론의 필요성 자체를 못 느낀 경우가 많았습니다. 하지만 소프트웨어를 더 체계적으로 개발해야 한다는 필요성은 예나 지금이나 소프트웨어를 개발하는 사람이라면 누구나 공감하는 얘기일 것입니다.
<사용자와 개발자 간의 비전 공유(기능적 측면)> |