유연하고 적응력 뛰어난 SW 갈망한다

중앙일보

입력

SD 2000 컨퍼런스에서 익스트림 프로그래밍 전문가인 마틴 폴러는 소프트웨어 개발자들에게 제품을 설계할 때 코드와 픽스(code and fix)는 더 이상 안 된다며 충고했다.

소프트웨어 권위자인 마틴 폴러는 지난 30일 SD 2000 컨퍼런스에 참석한 개발자들에게 소프트웨어 개발에 대한 사고 방식을 바꾸라고 충고했다.

쏘트웍스(ThoughtWorks)의 책임 과학자이며 UML 및 최종 프로그래밍 전문가인 폴러는 개발자들이 좀더 적응력 있고 반복적인 프로세스를 사용할 필요가 있다고 지적했다.

폴러는 "소프트웨어 개발은 매우 혼란스러운 것이 사실"이라고 말했다. 그로 인해서 "대부분의 소프트웨어 개발이 코드 및 픽스(code and fix) 모델에 근거해 이뤄진다"고 전했다.

소프트웨어 개발은 설계가 총비용에서 아주 작은 부분을 차지하는 다른 형태의 엔지니어링과는 격이 다르다.

SW는 유동적이다

소프트웨어 개발 비용이 많이 드는 이유는 미지수가 많이 존재하기 때문이다. 즉 사업적 필요성이 바뀌면 요구 조건도 달라진다.

폴러는 "사업 자체가 유동적이라 예측 불가능한 상황들이 많이 존재한다"고 밝혔다.

폴러는 가벼운 소프트웨어 개발 방법론들은 훨씬 더 적응성이 있으며 기업들은 폭포식 소프트웨어 개발 방법에서 반복적 방법으로 전환해야 한다고 주장했다.

그는 "소프트웨어는 유연하고 적응성이 있어야 한다. 치밀하게 계획된 방법만이 유용하게 쓰인다.

개발 방법을 미리 계획하면 비용과 기능 개발 시기 및 기능을 필요로 하는 수요량을 예측할 수 있다는 장점이 있다"고 덧붙였다.

굽혀라, 그러나 부러뜨리지는 말자

위험한 것은 프로젝트 멤버나 클라이언트가 계획 자체에 푹 빠져서 지나치게 고집을 피우는 것이다.

적응력을 갖춘 프로세스는 개발을 반복적으로 추진할 때 가능하다. 기술력을 갖춘 개발자들에게 좀더 많은 의사 결정력이 있어야 일의 진행이 쉽다.

하지만 개발자들이 좀더 많은 의사 결정권을 갖기를 원하는지 여부에 의문을 제기하는 사람들도 있다.

폴러는 "이것은 무료로 콜라와 커피를 제공하는 것과는 전혀 다른 문제이다. 실제로 기술적 지식을 갖고 있는 사람들이 판단을 내릴 수 있도록 의사 결정권을 주는 문제"라고 설명했다.

소프트웨어 개발자들은 그들의 클라이언트들을 반복적이고 적응성 있는 방법에 보다 많이 관여해야 한다.

하지만 폴러는 가벼운 개발 방법을 채택하기 위해 노력하는 기업들의 80%가 실패할 것이라고 내다보면서, 개발 방법을 바꾸는 것은 기업들 내부에서 정치적인 싸움을 야기할 수 있다고 덧붙였다.

소규모 파일럿 프로젝트로 시작하자

그는 기업들이 대여섯 명의 개발자들만 참여시키는 소규모의 파일럿 프로젝트로 시작할 것을 제안했다.

그는 "어떤 프로세스를 사용하든, 그것은 종착점이 아니라 출발점"일 뿐이라고 강조했다.

소프트웨어 개발 2000 컨퍼런스는 워싱턴 컨벤션센터에서 오는 11월 3일까지 계속된다. @

ADVERTISEMENT
ADVERTISEMENT