소프트웨어 개발 방법은 정말로 개선되었나?

geekforum의 이미지

/.을 살펴보다가 예전 수업시간에 읽었던 "No Silver Bullet(관련 링크 참조)"어쩌고 하는 주제가 있어 살펴 보았는데 이곳에서도 이야기할 만한 주제라 생각되어 올려 봅니다.

"earnest_deyoung asks: "Twenty-five years ago Frederick Brooks laid out a vision of the future of software engineering in "No Silver Bullet." At the time he thought improvements in the process of software creation were most likely to come from object-oriented programming, of-the-shelf components, rapid prototyping, and cultivation of truly great designers. I've found postings on /. where people tout all sorts of design tools, from languages like Java, Perl, Python, Ruby, and Smalltalk to design aids and processes like UML and eXtreme Programming. I'm in a Computer Science degree program, and I keep wondering what "improvements" over the last quarter century have actually brought progress to the key issue: more quickly and more inexpensively developing software that's more reliable?"

익명 사용자의 이미지

음... 예전에 읽은 어떤 보고서의 내용이 생각나는 군요.
"지난 몇십년간 주방기기는 획기적인 변화를 가져왔다. 그러나 주부의 가사노동시간은 줄지 않았다." 라고하는~~~

이유가 뭘까?????

익명 사용자의 이미지

당근 개선되었죠. 다만 문제도 복잡해졌을 뿐.

신승식의 이미지

개발을 직접 많이 해보지는 않았지만 3~5년동안 동일한 방법으로 개발을 하면 해당 언어나 툴에 대한 경륜이 붙는 것같다. 그러나 소프트웨어가 6개월~1년에 Minor Change버전이 나오고 1~2년에 Major Change버전이 나와 새로운 기능을 추가하여 신제품을 출시하는 현실을 볼때 개발자는 적어도 1년에 한 번정도 새버전에 대한 공부와 새 패키지에 대한 공부를 하여야만 간신히 소프트웨어 발전기술을 따라 가는 것같다. 아직도 관공서들은 3~5년전에 개발되었던 업무를 추가구입없이 계속 같은 환경으로 개발하여 사용을 하고 있고, 사치스러운 개인기업체나 첨단을 가야하는 업체들만이 신제품의 testbed가 되는 줄 알면서도 새로운 개발방법과 툴을 이용하여 개발하고 있다고 본다. 방법론은 대형프로젝트나 다수인의 개발팀이 산출물을 공유하며 개발방향을 목표의식을 가지고 공유하여 나가는 방법이라고 감히 말한다. 그러므로 개인적인 개발환경은 계속 새로운 환경에 침흘리고 덤벼드는 호기심 때문에 새로운 것에 대한 고생을 감수하며 기존의 경험을 업그래이드 하고 있다. 한마디로 IT가 발전하면 할수록 개발자들은 생산성을 빙자한 툴에의해 편이성은 좋아지나 기술의 난이도나 규모가 커지는 개발내용 때문에 계속 고생하기는 마찬가지라고 생각한다.
이상 소프트웨어개발을 업므로 하는 사름으로서 한마디 남깁니다.

익명 사용자의 이미지

토론이 썰렁해서 한마디.

slashdot에 올라왔던 주요 내용은 이런거였죠.

'수십년째 계속 삽질이다... 아직도 가장 많은 시간을 들이는것은 디버깅이며... 한마디로 고대로다!'

'함수형 언어같은 고차원적인 해결법이 등장하고 있다. 그동안은 좀 삽질이었지...'

'함수형 언어같은거 까지 가지 않더라도 많은 발전이 와 있었다. DBMS시스템 같은것들을 보라. Sql서버없이 프로그램을 짠다고 생각해봐라. 끔찍하지? 이렇듯 많은 개발인프라가 발전되어 왔다.'

다 맞는 말이죠 ^^

확실한건, 어셈블리로 닭질하는것 보다는 Java나 C#으로 닭질하는게 개발시간 면에서는 수백배 빠르겠죠. 문제는 빠르다는것 이상의것이 아직 없다지만.

익명 사용자의 이미지

아싸 2등^^*

익명 사용자의 이미지

굳이 개발 방법론을 말하는것은 아닌것 같습니다.