지고 블로깅을 하려고 합니다.
자 이야기를 시작해보자. 소프트웨어 개발 방법론이란 용어는 전산과를 나온학생들이라면 한번쯤 들어봤을만한 말
이다. 그럼 소프트웨어 개발 방법론이란 무엇일까? 그냥 한마디로 표현하자면 소프트웨어를 개발 하기 위해서 필요
한 방법이라고도 말할 수 있다. 공대생이나 작은 단위로 프로젝트를 한 개발자들은 왜 소프트웨어 개발 방법론이 필
요한가라는 의문을 가질수 있을 것이다. 그러한 여러가지 방법론을 거치지 않아도 충분히 그러한 개발을 할 수 있을
텐데 라고 말이다. 그러한 생각은 작은 규모의 회사이거나 혹은 마음 맞는 몇명에서 개발을 했던 경험이 있기 때문
이다. 물론 그러한 회사들이 개발 기간과 시간등을 여러 소프트웨어 개발 방법법론보다 더 효율적일 수 도 있다.
보통은 체계적인 개발된 문서가 없더하더라도 개발자 본인의 머리에 들어있는 경험과 코딩을 바탕으로 문제점을 해
결 할 수 있기 때문이다. 그러나 만약에 회사의 규모가 성장함에 따라서 그러한 주먹구구 개발 방법을 유지하고 있다
면 개발 과정은 점점 혼란스러워 질것이다. 게다가 대부분의 정보를 가지고 있는 개발자가 퇴사까지 한다면 말 그대
로 절망적일 것이다. 즉 개발 방법론은 특정 개발자에 의해 편중되어잇는 점을 개발방법론 시스템에 따라 손실을 최
대한 줄여야 하는 것이다. 처음에는 문서도 제작해야하며 방법론의 프로세스에 따라가야하기 때문에 주먹구구식의
방식보다는 시간과 돈이 좀더들어가겠지만 그 대가로 손실을 좀더 줄일수 있다는 점이 되겠다.
그렇다면 소프트웨어 개발 방법론은 어떻게 배워야 할까?
보통은 소프트웨어 개발 방법론은 책이나 인터넷을 통해 배우고 그것을 통해 그럴싸하게 개발과정을 따라 한다. 그
러한 개발과정으로 회사나 개발자는 흉내 낼수 있을 것이라고 생각을 한다.
그렇나 실제로 따라해보면 생각만큼 잘 되지 않지 않는다. 그래서 여러 회사들은 컨설팅회사에 문의를 하고 하지
만 그것또한 컨설팅 회사가 이론적인 것은 잘알지면 경험이 부족하다면 그 의뢰를 요청한 회사의 기업과 프로젝트의
성격을 무시한채 올바른 방법론을 제시해줄수 없을것이다. 또 회사는 컨설팅회사가 정해준 방법론대로 모든 개발을
그 프로세스에 따라 개발하는것도 쉽게 빠질수 있는 것도 문제이다. 간단한 프로젝트에 모든 이런 과정을 도입한다
면 과도한 비용을 지불할 수 도 있기 때문이다. 이것은 애초에 개발 방법론을 도입한 이유를 망각하고 무조건적인
강요로 인한 효율성을 떨어 뜨리기 때문에 유연하게 적용시킬수 있는 여지를 남겨두어야하기 때문이다.
위와 같이 설명했다 싶이 방법론의 궁극적인 목적은 효과적인 개발에 있다. 즉 빠른 시간안에 적은 비용을 들여 요
구하는 품질의 소프트웨어를 만들어 내는 것이다. 즉 돈을 잘 버는것에 있다.
즉 소프트웨어 개발 방법론은 어떻게 이렇게 해야한다는 적당한 방법은 없다. 각 회사의 특성과 프로젝트의 구조에
따라서 유연적이게 변화될수 있어야 좋은 방법론이라고 할 수 있다.