BLOG ARTICLE 애자일이야기 | 2 ARTICLE FOUND

  1. 2007/06/19 프로그래머의 위기지학
  2. 2007/06/17 Agile 방법론 세미나 ( with 김창준 ) (1)

즐겨 가보는 블로그 중 하나인 김창준님의 애자일 블로그에서 참 좋은 글이 있어서 여기에 적어본다. 프로그래머의 위기지학(爲己之學). 바로 남을 위한 프로그래밍이 아닌, 자기 자신을 위한 프로그래밍을 해야 한다는 뜻이다.

http://agile.egloos.com/2807583

여기에 많은 공감을 하게 되는 것은, 내가 보아온 많은 훌륭한 프로그래머들이 밥벌어 먹고 살기 위한 프로그래밍이 아닌, 자기 자신을 위한 프로그램을 만들고, 이로 부터 자신의 목적에 맞는 많은 생산성 향상과 즐거움을 얻는 것을 보면서 감탄한 적이 많았기 때문이다.
국내의 대표적인 백신 프로그램인 V3 도 안철수씨의 개인 PC 에 감염된 바이러스를 제거하기 위해서 만든 V1 백신이 그 시초였고, 현재 100만명 이상이 사용하고 있는 대표적인 사진 관리 프로그램중 하나인 포토웍스(
http://www.andojung.com ) 도 andojung 님의 개인적인 취미로 부터 시작된 훌륭한 프로그램이었다. ( 사실 andojung 님은 전에 나의 회사 고참이기도 했다... ㅋㅋㅋ )

많은 프로그래머들이 개발업무에 있어서 보다 효율적이고 퍼포먼스를 높이기 위해 부가적인 유틸을 만들어서 개발에 활용하기도 한다. 예를 들어 내가 본 예를 들자면 대량의 데이터를 읽고 처리하는 프로그램을 개발함에 있어, 데이터를 일일히 raw 상태로 읽지 않고 빠른 처리를 위해 데이터 파싱 프로그램을 별도로 만들어 활용한다든가, DB 작업을 할때 대량의 가상 유저 DB 를 무식하게 노가다로 만드는 것이아니라 제너레이터 프로그램을 따로 제작해서 이로 부터 데이터를 생성해서 DB 에 자동 인서트하는 쿼리 프로그램을 만든다든가 하는 것들이었다. 물론 그냥 노가다로 하는게 훨씬 더 빠른 경우도 많다. =) 그래서 현업에서는 대부분의 사람들이 별도유틸 제작시간보다 노가다 시간이 훨씬 긴 경우에만 별도 유틸을 제작할 생각을 하는 것 같기는 하다. 중요한것은 노가다를 하고말고가 아니고 항상 어떻게 하면 같은 일을 하더라도 자신의 코딩능력을 활용해서 효율적으로 일을 하느냐가 아닐까 싶다...;

그럼.. 내가 만든 위기지학의 프로그램이 있는가? 물론 있다  ;)
전에 회사에서 틈틈이 영어공부를 하기 위해서 만든 단어장 암기 프로그램... ㅋㅋㅋ




사용자 삽입 이미지
                  (클릭하시면 크게 보실수 있어요~ )




한창 영어공부를 열심히 하던 시절, 딴짓하면서도 단어를 외울 수 있게 고안된 프로그램이다. 나름대로 원본 토플단어장으로 부터 파싱해서 데이터 수집, 버튼 안누르고도 자동으로 단어가 넘어가는 타이머, 틀린단어 체크 및 로그 기능등 편리하다고 생각되는 기능들을 추가해서 만든 프로그램이다. (UI 가 허접한 이유는 화면에 띄어놓아도 다른 사람들 눈에 안띄게 하기 위함.. ㅋㅋ) 사실 이것과 비슷한 프로그램들도 여럿 있기는 하지만 그래도 직접 만들어서 써서 그런지 애착이 많이 가는 넘중 하나다. ㅎㅎ
크리에이티브 커먼즈 라이선스
Creative Commons License
http://soyoja.com/trackback/23 관련글 쓰기
댓글을 달아주세요!
이름 암호 홈페이지



예전 홈페이지에 써놓았던 글을 여기로 옮겨왔다.
벌써 반년이나 지난 일이구나...

2006 년 11월 9일.

오늘 agile 방법론 세미나를 회사에서 했다. 마이크로 소프트웨어를 비롯해서 여러 컴퓨터 잡지에 프로그래밍과 개발방법론에 관해 많은 기고를 하고 몇몇 업체에 agile 방법론 컨설팅으로 이 분야에서 꽤 유명한 김창준 씨가 직접 와서 세미나를 진행했다.

김창준씨 소개
http://xper.org/wiki/xp/_b1_e8_c3_a2_c1_d8

애자일 방법론 소개
http://agile.egloos.com

사실 그리 많지 않은 개발 경험이지만 학교와 멤버쉽, 그리고 회사에서 여러 프로젝트와 외주관리를 진행해보면서 가면갈수록 개발방법론과 소프트웨어 공학에 대해 의구심이 드는 경우가 많았다. 바로 현실과 이상의 괴리라고나 할까. 내가 만나본, 많은 개발경력을 가지고 있고 업체에서 손꼽히는 뛰어난 개발자들 조차도 소프트웨어 개발 방법론을 제대로 내재화하여 실제 프로젝트에 적용하는 사례는 거의 보지를 못했고, 또 매번 프로젝트를 할때마다 그리는 UML 다이어그램들이 실제 프로젝트의 퍼포먼스 향상에 도움을 주는 것을 체감하기 힘들었기에 이러한 이론적인 방법론들이 과연 현업에서 어떻게 적용되야 하고, 또 얼마나 효과가 있을 것인지 의문이 들었던 것이다.
(이상의 생각은 사실 작년 11월 경에 가졌던 생각이고, 요즘에 드는 생각은 설계와 좋은 방법론에 따라 표준화 된 소프트웨어 개발은 생산성 향상에 분명 도움이 될 수 있다. 문제는 어떻게 하면 소프트웨어 개발에 있어 좋은 설계를 만들고, 이를 바탕으로 중간에 일어날 수 있는 요구사항의 변경이나 설계시에 발견하지 못했던 많은 오류들을 적절히 컨트롤해 가면서 설계를 개발과 매칭할 수 있는가... 이다. 그리고, 설계를 하는 사람은 반드시 많은 개발경험과 소프트웨어 지식을 갖춘 아키텍쳐가 되어야 한다는 생각에는 변함이 없다.)

나의 질문 : 방법론 세미나를 들을때마다 드는 의문인데, 현업에서는 이러한 방법론을 내재화하여 개발 효율성과 결과물의 성능 향상에 도움을 주도록 적용하는 사례가 거의 없다시피 하며, ( 나와 내 주위의 경험상으로 볼떄. ) 현업에서 적용시키기 어려운 점 이 많습니다. 이러한 부분에 대해서 어떻게 생각하시는 지?

김창준 : ( 대략 3 분정도 침묵이 흐른 후 ) 현업에 적용시키기 어렵고, 노력을 많이 해야 한다. 하지만 이러한 방법론이 실제 개발에 있어서 가장 효율적이고 좋은 방법이라고 생각한다.

사실 이러한 대답에 좀 실망을 많이 했다. agile 방법론이 좋다! 라는 이야기는 이미 수도없이 들어왓기 때문에, 실제 현업에서 성공적으로 적용되는 사례  ( 개발자가 내재화 할 수 있는 ) 에 대해서 자세하게 듣고 싶었는데 그러한 부분에 대해서는 언급이 거의 없었던 것이다.

외부 회의때문에 끝까지 세미나를 듣지 못해서 아쉬웠는데. 어쨌든 나름대로 개발방법론의 적용과 현업 개발자간의 괴리감에 대해서 다시 한번 생각해 볼 수 있는 시간이 되어서 나 자신에게도 의미가 있던 것 같다.

크리에이티브 커먼즈 라이선스
Creative Commons License

'IT Story' 카테고리의 다른 글

용어정의 - 매쉬업(Mash Up)  (0) 2007/06/24
프로그래머의 위기지학  (0) 2007/06/19
시맨틱 웹(Semantic Web)  (0) 2007/06/18
Agile 방법론 세미나 ( with 김창준 )  (1) 2007/06/17
Web 2.0 과 한국의 인터넷 트렌드  (0) 2007/06/16
iPod, 그 성공 스토리  (0) 2007/06/16
http://soyoja.com/trackback/20 관련글 쓰기
댓글을 달아주세요!
  1. BlogIcon soyoja 2007/06/18 20:18  댓글주소  수정/삭제  댓글쓰기

    안녕하세요... 글을 남겨주시고... 솔직히 많이 놀랬습니다. ^^
    제 개인블로그는 별로 찾아오는 분이 안계셔서요....
    창준님 입장에서는 분명 불쾌할수 있는 이야기일텐데... 논리적으로 잘 설명해 주셔서 정말 감사하고 제가 머슥해지네요... ;;
    항상 프로젝트를 진행해 보면 최초 설계와 적절한 개발방법론을 적용해서 실제 프로젝트에서 개발자가 얼마나 더 효율적으로 일을하고, 프로젝트의 생산성 향상에 기여할 수 있는지가 늘 의문이었는지라 이런 글을 쓰게 되었습니다. 말씀하신 성공사례에 대해서는 저도 글을 찾아서 읽어보고.. 지금 진행중인 프로젝트에도 어떻게 참고할 수 있을지 더 생각해 봐야 할것 같네요...
    글 마지막 부분의 경력에 관한 이야기는 저의 선입견으로 쓴 글이니 웃어 넘겨주셨으면 합니다... ^^ 오해의 소지가 있을만한 글이라서 지웠습니다~
    그럼 오늘도 좋은 하루 되세요..
    추신 ) 헉... 댓글 지우셨나... ;;

이름 암호 홈페이지