가내 수공업, 공장제 기계공업

pynoos의 이미지

장난으로 종종 하는 말이 하나 있습니다.

"가내수공업으로 제품을 만들고 있군..."

요는 제품을 만드는 회사가 원하는 목적이 프로그램을 만드는 것을 목표로하면,
아무것도 남지 않는다는 것입니다. 나중에는 만든제품 조차 버립니다.

"프로그램을 만드는 프로그램"을 만드는 것이 목표가 되어야합니다.

다른 말로하면, 개발 절차와 유지보수 절차를 셋업하는 것을 목표로 프로젝트를
진행해야한다는 것인데... 저는 개발절차는 모든 프로그램이 비슷하기는 해도
다르다라고 생각하고, 그러기 때문에, 매 프로젝트는 제품 만큼 새로운 절차가
나올 수 있다고 생각합니다.

요즘의 XP 방법론이라든지 전통적인 Water fall (?)방식의 방법론이라든지 모두
책대로 할 수는 없는 것입니다. 아무리 좋다해도 개발방법론도 구성원이 한 번 경험한,
그래서 어설프나마 서로 같이 경험 했을 때 다음번에 보다 효과적이라는 것입니다.

개발자 구성원이 한번도 같이 프로젝트를 경험해보지 않았다면, 어떤 좋은 방법론을
가지고 와도 시행착오 덩어리가 될 수 밖에 없습니다.

유행처럼 XP 개발방법론을 도입하려하지만, 실상 중요한 것은 팀웍이고, 그
팀에 어떤 방법론을 들여온다고 말하기 보다, 프로젝트는 하나의 제품을
만드는 것이 아니라 두 종류의 제품 즉, 실제 프로젝트의 산출물과 그 팀이
어떤식으로 운영되는지에 대한 운영방법을 서로 만들어가는 것
이라고 정의하는
것이 합리적이다라고 생각됩니다.

한 팀이 가내 수공업으로 차를 한대 만들면 그게 끝이지만, 한 팀이 "부품을 집어
넣는 차가 나오는 공장"을 만들면 비록 그 공장에서 종국에는 한대만 생산
된다할지라도, 그것이 그 팀이 지향해야할 바라는 것이지요.

우리나라 현상황에서는 제품을 만드는 것보다, 제품 만드는 프로젝트 셋업을
제품이라 생각하는 것이 강국 IT로 가기위해 필요한 것이 아닐까합니다. 그것이야말로,
책으로만 얻을 수 없는 살아 있는 프로그램이지요.

그 프로그램의 입력값은 사람, 버그리포트, 로그, core dump, test suite 등등이며,
이런 것이 입력될 때 잘 돌아가는 프로그램을 서로생각하며 만들어 가자는
마음이 있어야만 제품도 잘나오는 것이라 생각합니다.

그냥 자기전에 주저리 써봤습니다.
벌써 글수가 700이 넘었군요... 저는 여기 폐인일까요?

무한포옹의 이미지

폐인이시라는 데에 All in 입니다!

-------------------------------
== warning 대부분 틀린 얘기입니다 warning ===

nachnine의 이미지

예를 들면

웹페이지를 만들기보다는 웹페이지를 만드는 툴?을 개발하는것이

좋죠.

몇배의 노력이 들지도 모르는 일이고,

사실 SI 하다보면 그때그때의 요건에 맞춰서 만들고,

프로젝트 끝나고 나면 아무것도 남지 않아요 ( 삽질한 경험?)

범용성있게 = 무언가 만들어내는 툴 = 을 개발한다는 것은 ...

저에겐 꿈같은 일이군요..

ps. 아 윗분 아이디 너무 좋네요 ^^ 에바의 노래제목이었나요?

===
void strcpy ( char* t, char* s ){ while ( *t++ = *s++ ); }

yamainu의 이미지

프로그래밍의 도(The Tao Of Programming)른 글에서 본건데..

"내가 따르는 것은 모든 기술을 넘어선 도입니다. 내가 처음 프로그램을 작성하기 시작했을 때는 프로그램 전체가 한 덩어리로 보였습니다. 삼년이 지나자 나는 더 이상 덩어리가 보이지 않았습니다. 그 때부터 나는 서브루틴을 사용하기 시작했지요. 하지만 이제는 내게는 아무 것도 보이지 않습니다. 내 존재는 형태없는 무 속에 존재합니다. 나는 아무런 감각도 느낄 수 없습니다. 내 정신은 아무런 계획도 세우지 않고 자유롭습니다. 그저 본능의 지시에만 따를 뿐. 간단히 말해 내 프로그램은 스스로 작성되는 것입니다. 가끔 어려운 문제가 발생하는 것은 사실입니다. 어려움이 다가오는 것을 다가오면 속도를 늦춥니다. 그리고 조용히 관찰합니다. 그리곤 코드에서 한줄만 바꾸면 어려움은 마치 연기처럼 사라지고 말지요. 그리고 나선 프로그램을 컴파일합니다. 나는 조용히 앉아 일의 즐거움이 내 존재를 가득 채우는 것을 느끼며 즐깁니다. 나는 잠깐 눈을 감고 명상한 다음 터미널을 끕니다."

라는 글귀가 생가나내요..

Programmers never die: They just GOSUB without RETURN.

펑키의 이미지

안녕하세요.

그냥 여담입니다. 제가 한 4-5년전 부터 그런 생각을 해보고 그런것을 한번 해보았습니다. 그런데 너무 어렵더군요. 결국에는 3종류를 만들어 보았는데 처음 시작은 좋습니다(원래 다 그렇죠) 그런데 점점 가다 보니깐 이게 하드코딩을 하는건지 뭐를 하는건지 좀 야시꾸리 하게 되드라구요. 결국에는 3개 모두 사장되는 분위기가 되어 버렸습니다. 좋은 레퍼런스를 갖기는 했는데 그 다음에는 어떻게 팔아야 할지도 막막하고 잘 모르겠습니다. 모든 프로그래머들의 꿈이 프로그램 만드는 프로그램인것은 매 한가지 일겁니다. 소위 제품을 만드는 뭐 그런.. 헤헤.. 그런데 생각보다 다른 부분에서 잘 않되는것 같네요.

지금도 또 뭐 하나 만들어 볼라고 하는데 배가 고파지기 시작하네요. 쩝.....

morning의 이미지

가내 수공업이라는 이야기 들어니
요즘 제가 듣고 있는 음악 정보를 알려 드리고 싶군요.

'달빛요정, 역전만루홈런' 이라는 그룹인데(이름 부터 한 매니아 적이죠!)
이 밴드가 가내 수공업 밴드라고 스스로 칭하고 있거든요.
혼자서 작사,작곡,편집,레코딩, 믹싱은 물론 사이트제작, 포장, 발송까지하는
문어발적인 작업을 혼자 다 하는 삽질 작업의 재벌입니다.
인터넷도 조금 하는 분이라 KLDP로 스카웃 하는 것도 좋을 듯.

달빛요정이 백수 폐인의 내공이 높은 분이라
폐인 매니아들은 조심하는 것이 이로울 듯합니다.
저도 요즘 달빛요정의 마수에 걸려 있습니다.

홈페이지
http://www.rockwillneverdie.com/

노래는 인터넷으로 들을 수 있는데 회워가입해야 합니다.
http://www.rockwillneverdie.com/zboard/zboard.php?id=music

Quote:
[달빛요정역전만루홈런]은 지하생활자 '달빛요정'의 1인 프로젝트 밴드로
작사/작곡/편곡/레코딩/믹스..등에 이르는 그의 어설픈 재능과 호기심을 시험하는 용도로 사용되는
대상이며, 그가 생산하고 남주기 아깝거나 남에게 어울리지 않는 음원들을 배설하는 곳이기도 하다.

밴드의 이름으로서는 너무 길고 유치하다는 주위의 우려에도 불구하고
[달빛요정역전만루홈런]이라는 이름을 고집하는 이유는
단순히 그가 야구를 좋아하기 때문이라고 하는데, 2003년 2월 현재, 월드컵의 태풍이
한반도 이남을 휘몰아치고 간 흔적이 남아있는 지금, 김재박의 날으는 번트와
최동원과 김일융의 맞대결, 너구리 장명부의 아리랑커브를 생생히 기억하며,
인물과 배경의 구도도 맞지 않는 이현세의 초기만화 '공포의 외인구단'의 마지막권에서
눈물을 흘렸던 기억이 있는 사람이라면 '야구'라는 스포츠가 주는 쾌감을 이해할 것이라고 믿는다.

그러나, 아이러니하게도 지금까지 '달빛요정'이 생산한 음악들은 어원그대로의 쾌락적 음원들이 아닌
스스로의 만족을 위한 시도였으며, 그 결과물들은 음울하기 짝이 없었다.
[달빛요정역전만루홈런]이라는 어이없는 밴드의 이름은 지난 어두운 삶을 청산하고자 하는
그 나름대로의 의지라고 추정되며, 끝없이 패전처리를 반복하였던 달빛요정의 인생에도
언젠가는 빗맞은 텍사스안타 한번쯤은 찾아올 것이라 믿어주려 한다.

-2003년 2월 6일,' 달빛요정'이 [달빛요정역전만루홈런]에 대하여 쓰다-

조르바와 함께 춤을....

idlock의 이미지

프로그램을 만드는 프로그램

OMG에서 비수무리한걸 하내요
http://www.omg.org/mda/

pynoos의 이미지

저 글을 다시 읽어보니..
약간은 오해가 있을것도 같은데..

제가 저희 팀과 같이 1년간 경험한 개발방법을 나름대로 정리하면 언제 같이 공유해볼까 합니다.
물론 공개할만한 수준에서죠.

간단히 얘기하면,

Unix (aix,hpux,solaris,linux) 제품군을 개발하는데 있어서, 매일매일 빌드하고, 버그리포트 올라오고,
core 생겼을때, 디버깅하는 루트 전체의 흐름을 말하는 것인데, 완벽한 프로세스는 아니지만,
다음번 프로젝트에 바탕으로 삼기에는 좋은 경험이기에 정리하고자 하는 것입니다.

펑키의 이미지

궁급합니다.

idlock의 이미지

저도 궁금합니다. How to develop Application 이라는 주제로 wiki에 등록 되었스면 합니다. :D

전 주로 cvs + ant(자바) or batch + webcvs를 쓰는데,

공정율과 버그리포트 부분.. 그리고 전체 스코프 관리 하는것을 아직 정하지 못했습니다. 왜냐 -.- 빡시니깐 ㅠ.ㅠ

카二리의 이미지

만약에 아주 나중에 손하나 까딱 안하고 입만 벙긋 해도

원하는 프로그램이 나오는 프로그램이 만들어 지면

개발자들은 뭘 먹고 살아야 할죠?;

새 생각 :)

pynoos의 이미지

너무 답장이 느렸지요? 공개한다고 말한 뒤로 오늘까지 늘 마음 한 켠에 부담으로 있었습니다.

http://wiki.kldp.org/wiki.php/DevelopementWorkshop

위 페이지에 조금씩 쓰기 시작했습니다. :)

단, 일반적인 것보다는 제 경험을 토대로 작성하는 것이므로 약간은 툴 선호 경향이 나타날 것입니다.

whiterock의 이미지

yamainu wrote:
프로그래밍의 도(The Tao Of Programming)른 글에서 본건데..

".... 내가 처음 프로그램을 작성하기 시작했을 때는 프로그램 전체가 한 덩어리로 보였습니다. 삼년이 지나자 나는 더 이상 덩어리가 보이지 않았습니다. 그 때부터 나는 서브루틴을 사용하기 시작했지요. ...."

저는 이제 이 단계네요...흐...아직 멀었네요...

흐음...