메인 컨텐츠로 가기

developerWorks 이용 약관에 동의하시는 경우 제출을 클릭하십시오. 이용 약관 보기.

developerWorks에 처음 로그인하면 developerWorks프로파일이 생성됩니다.귀하의 프로파일에서 동의하신 내용이 공개되지만 이 사항은 언제든지 변경 가능합니다. 귀하의 성명(숨김으로 체크되어 있어도 표시됩니다)과 디스플레이 이름은 게시한 컨텐츠나 사이트 엑세스시 표시됩니다.

모든 정보가 안전하게 전송되었습니다.

  • 닫기 [x]

처음 developerWorks에 로그인할 때 프로파일이 작성되므로, 이를 위해 디스플레이 이름을 선택해야 합니다. 선택하신 디스플레이 이름은 developerWorks에 게시한 컨텐츠에 표시됩니다.

3글자 이상 31글자 이하의 길이로 사용 가능합니다. dW커뮤니티 내에서는 보안상 이메일주소를 제외한 다른 이름을 지정하셔야 합니다.

developerWorks 이용 약관에 동의하시는 경우 제출을 클릭하십시오. 이용 약관 보기.

모든 정보가 안전하게 전송되었습니다.

  • 닫기 [x]

소프트웨어 개발자의 권리와 책임

Grady Booch, IBM Fellow, IBM Toronto Lab
Grady Booch는 소프트웨어 아키텍처, 모델링, 소프트웨어 공학 프로세스 부문에서 창의적인 작업으로 국제적인 명성을 얻고 있다. Booch가 수행한 작업은 전 세계에 흩어진 개발자 효율성을 개선해왔다. Booch는 UML(Unified Modeling Language)을 만든 초기 개발자 중 한 명이며, 또한 업계 선두로 자리잡은 시각적인 개발 도구인 Rational Rose를 포함하여 여러 IBM Rational 제품을 개발한 초기 개발자 중 한 명이다. Booch는 베스트셀러 서적 여섯 권을 집필했으며, 소프트웨어 공학 분야에서 수백 개에 이르는 기술 문서를 작성했으며, 전세계를 돌아다니며 강연과 컨설팅을 한다. Booch는 Rational 소프트웨어에서 수석 과학자를 맡고 있다.

요약:  Rational Edge에서: Grady Booch는 점점 더 복잡해지는 환경에서 소프트웨어 프로젝트를 성공시킬 필요성과 윤리적 책임을 논하면서, 이러한 성공을 달성할 강력한 도구로서 객체 지향 개발을 제안합니다.

원문 게재일:  2008 년 6 월 10 일
난이도:  초급 영어로:  보기
페이지뷰:  1017 회
의견:  


개발자라면 누구나 나름대로 고생담이 있으리라. 운영체제, 네트워크, 워크스테이션, 동료 개발자가 공모해서 진을 빼놓던 시절이 있었다. 상사와, 상사의 상사와, 고객이 개발자가 저지른 실수나 구현하지 못한 기능을 닥달하던 시절도 있었다. 밤은 낮으로, 다시 낮은 밤으로 바뀌는 와중에 교묘히 피해 돌아다니는 꼬마 도깨비를 시스템에서 추적하던 시절도 있었다.

넷슬레이브( 1 ), 마이크로서프( 2 )로 살아가던 시기가 있었다. 나노초라는 세계에 존재하는 인공적인 창조물을 만들기 위해 노력했던 이런 시기가 계속된 이후, 우리는 종종 "계절보다 더 짧은 시간 단위를 걱정하지 않고"( 3 ) 살아가는 삶을 동경하게 되었다.

그래도, 우리 대다수는 의도적으로 소프트웨어 개발이라는 직업에 뛰어든다. 대개 순수한 생각에서 출발해 우리 조직과 세상에 도움을 주려고 우리가 만든 기계에 생명을 불어 넣는 뭔가를 창조하기를 좋아하기 때문이다. 어떤 사람에게는 소프트웨어가 우리를 슬금슬금 뒤쫓아와 목덜미를 낚아채는 물건으로 보일지도 모른다. 물론 우리는 코드 전사가 아니며, 소프트웨어를 거꾸려뜨려 우리 의지대로 움직이게 유도하도록 어느 정도까지는 개발 기술이 계속 필요한 상황이다. 의도적으로 뛰어들었든, 우연히 기회가 닿았든, 개발자로서 우리는 나머지 세상이 원하고 사용함에도 불구하고 알아보지 못하는 물건을 만들고 있다.

이런 이유 때문에, 소프트웨어 개발자가 되려면 책임은 물론 권리가 있어야 한다.

권리가 중요한 이유는, 몇몇 (중세) 암흑기를 거쳤음에도 불구하고 우리에게 (즉 개인에게, 팀에게, 조직에게, 국가에게, 우리 문명에게) 공동으로 세상을 더 좋게 만드는 뭔가를 창조할 기회가 주어졌기 때문이다. 우리에게는 순수하게 인간에게만 적용되는 이런 행위를 추구하기 위해 인간 정신을 치유하고, 봉사하고, 즐기고, 연결하고, 해방하며, 독립적으로 움직이게 만들 수 있는, 순수한 지적 노력으로 만든 물건을 배포할 특권이 있다.

동시에, 우리에게는 막중한 책임이 있다. 개인과 조직은 우리가 만든 소프트웨어에 의존하기 때문에, 인간과 컴퓨터 자원을 계획적이고 현명하게 사용하는 방법으로 고품질 시스템을 출시할 의무가 있다. 이는 우리 프로젝트가 실패할 때 우리가 상처받는 이유를 설명한다. 단순히 실패할 때마다 우리 능력이 부족해 진짜 가치를 제공하지 못했기 때문이 아니라 인생은 너무나도 짧기에 황금 같은 시간을 소비하면서 어느 누구도 원하지 않으며, 필요하지 않으며, 사용하지도 않을 형편없는 소프트웨어를 개발했기 때문이다. 전문가로서 우리는 또한 도덕적인 책임을 져야 한다. 실패할지 뻔히 알면서도 시스템을 개발하는 데 노동력을 투입하거나 사람들로부터 시간과 자유와 인생을 훔치지는 않았는가? 기술적인 대답을 원하지 않는 질문이라기보다는 기술을 세상에 배포함에 있어 개인적인 신뢰 시스템을 의식적으로 중요하게 여기는 질문으로 생각할 수 있다.

결국 소프트웨어 개발을 궁극적으로 인간 활동이라고 부르는 이유는 소프트웨어가 인간 지성에서 나올 뿐만 아니라 소프트웨어를 현실화하기 위해 다른 사람들과 공동으로 활동을 벌일 필요가 있기 때문이다.

전문가로서, 우리는 끊임없이 중요한 고품질 소프트웨어를 출시하기 위한 더 좋은 방법을 찾아야 한다. 우리 시간과 정력을 탕진하기에는 우리 과업이 너무나도 복잡하기 때문이다. 이게 바로 우리가 성공적인 프로젝트를 살펴봐서 성공한 까닭을 분석하고, 비슷하게 실패한 프로젝트도 살펴봐서 실수로부터 배워야 하는 이유다. 그리고 나서 이 모든 경험에 기반을 둔 교훈을 (RUP 방법론 같은) 우리 업계의 기억을 구성하는 우수 개발법과 프로세스 내부에 체계적으로 분류한다. 같은 이유 때문에, 우리 시스템을 놓고 의사 소통과 논리적인 사고를 도와주는 (UML 같은) 공통 표기법 사용에 동의한다.

우수 개발법이 쌓여감에 따라, 객체 지향 개발은 다양한 문제 영역에서 여러 가지 복잡한 소프트웨어 시스템 개발과 출시에 성공리에 활용되어 온 증명된 기술로 두각을 나타내고 있다.

여전히 소프트웨어에 대한 요구는 놀랄만한 비율로 증가하고 있다. 점점 더 강력한 하드웨어 기능은 커가는 사회적 인식과 컴퓨터 활용에 따른 경제적 가치와 더불어 훨씬 더 복잡한 시스템을 자동화해야 한다는 엄청난 압력을 가한다. 잘 정의된 표기법과 프로세스로 무장한 객체지향 개발이 제공하는 근본적인 가치는 인간 정신을 해방시켜 제 때, 예측 가능하고 반복적인 방법으로 유용하고 품질 높은 시스템을 만들어내기 위해 정말로 필요한 부분에 창의성을 집중하는 데 있다.

(이 기사는 조만간 에디슨 웨슬리 출판사에서 출간될 "Object-Oriented Analysis and Design with Applications" 3판에서 발췌했다).

참고

1 B. Lessard and S. Baldwin, NetSlaves: True Tales of Working the Web. McGraw-Hill, 2000.

2D.Coupland, Microserfs. HarperCollins, 1995.

3 T. Kidder, The Soul of a New Machine. Atlantic-Little, Brown Books, 1981. p. 220.(한국어판: "새로운 기계의 영혼" 나무심는 사람, 2007년 출간)

*참고: 이 기사는 원래 IBM Rational 고객 공동체를 위한 학습과 지원 채널인 Rational 개발자 네트워크에 처음 실렸다. IBM Rational 고객이며, 아직 무료 회원으로 가입하지 않았다면 www.rational.net을 방문하기 바란다.


필자소개

Grady Booch는 소프트웨어 아키텍처, 모델링, 소프트웨어 공학 프로세스 부문에서 창의적인 작업으로 국제적인 명성을 얻고 있다. Booch가 수행한 작업은 전 세계에 흩어진 개발자 효율성을 개선해왔다. Booch는 UML(Unified Modeling Language)을 만든 초기 개발자 중 한 명이며, 또한 업계 선두로 자리잡은 시각적인 개발 도구인 Rational Rose를 포함하여 여러 IBM Rational 제품을 개발한 초기 개발자 중 한 명이다. Booch는 베스트셀러 서적 여섯 권을 집필했으며, 소프트웨어 공학 분야에서 수백 개에 이르는 기술 문서를 작성했으며, 전세계를 돌아다니며 강연과 컨설팅을 한다. Booch는 Rational 소프트웨어에서 수석 과학자를 맡고 있다.

잘못된 도움말 신고

부정사용 신고

감사합니다. 이 항목은 운영자가 관심을 표시했습니다.


잘못된 도움말 신고

부정사용 신고

제출실패 신고. 나중에 다시 실행해주세요.


디벨로퍼웍스 로그인


IBM ID가 필요하세요?
IBM ID를 잊으셨습니까?


비밀번호를 잊으셨습니까?
비밀번호 변경

developerWorks 이용 약관에 동의하시는 경우 제출을 클릭하십시오. 이용 약관.

 


developerWorks에 처음 로그인하면 developerWorks프로파일이 생성됩니다.귀하의 프로파일에서 동의하신 내용이 공개되지만 이 사항은 언제든지 변경 가능합니다. 귀하의 성명(숨김으로 체크되어 있어도 표시됩니다)과 디스플레이 이름은 게시한 컨텐츠나 사이트 엑세스시 표시됩니다.

화면상에 보여지는 닉네임을 정하세요.

처음 developerWorks에 로그인할 때 프로파일이 작성되므로, 이를 위해 디스플레이 이름을 선택해야 합니다. 선택하신 디스플레이 이름은 developerWorks에 게시한 컨텐츠에 표시됩니다.

3글자 이상 31글자 이하의 길이로 사용 가능합니다. dW커뮤니티 내에서는 보안상 이메일주소를 제외한 다른 이름을 지정하셔야 합니다.

3개의 &이나 대쉬를 포함해주시고 31글자내로 제한해주세요.


developerWorks 이용 약관에 동의하시는 경우 제출을 클릭하십시오. 이용 약관.

 


아티클 순위

의견

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=20
Zone=Rational
ArticleID=312712
ArticleTitle=소프트웨어 개발자의 권리와 책임
publish-date=06102008
author1-email=gbooch@us.ibm.com
author1-email-cc=

태그

Help
검색 필드를 사용하여 My developerWorks 내에서 해당 태그가 사용된 모든 종류의 컨텐츠를 검색하십시오.

태그를 더 많이 보거나 적게 보기 위해 슬라이더 막대를 사용하십시오.

인기 태그는 특정 컨텐츠 존(예를 들어, 자바, 리눅스, WebSphere)의 최고 인기 태그를 보여줍니다.

내 태그는 특정 컨텐츠 존(예를 들어, 자바, 리눅스, WebSphere)의 귀하의 태그를 보여줍니다.

검색 필드를 사용하여 My developerWorks 내에서 해당 태그가 사용된 모든 종류의 컨텐츠를 검색하십시오. 인기 태그는 특정 컨텐츠 존(예를 들어, 자바, 리눅스, WebSphere)의 최고 인기 태그를 보여줍니다. 내 태그는 특정 컨텐츠 존(예를 들어, 자바, 리눅스, WebSphere)의 귀하의 태그를 보여줍니다.