2 분 소요

더 나은 비유

소프트웨어 장인정신은 소프트웨어 엔지니어링보다는 소프트웨어 개발에 더 적합한 비유다.
도제(연습생)는 숙련된 대장장이 밑에서 새로운 기술과 도구의 사용법을 익히며 장인의 수준에 이르게 된다.
우선은 이러한 비유로 생각해보자.

위키피디아에서의 정의

소프트웨어를 개발할 때 개발자 스스로의 코딩 스킬을 강조하는 개념이다. 이러한 개념은 주류 소프트웨어 업계가 개발자의 역량보다는 다른 것들, 즉 예산과 같은 것들을 우선시하는 병폐에 대한 개발자들의 반발로 나타났다.

좀더 주관적인 정의

소프트웨어 개발자가 스스로가 선택한 커리어에 책임감을 가지고, 지속적으로 새로운 도구와 기술을 익히며 발전하겠다는 마음가짐이다.

짧은 정의

소프트웨어 장인정신은 소프트웨어 개발의 프로페셔널리즘에 대한 것이다.

이 부분이 소프트웨어 장인정신에서 가장 중요한 내용이다. 이 책에서 단 한 가지만 알아야 한다면 이 문장을 기억했으면 한다.

정의 이상의 의미

어떤 이념이나 마음가짐에 더 가깝다고 생각한다.

자신이 하는 일에 주인의식을 가지고 프로페셔널하게 행동하고, 고객이 원하는 것이 무엇이든 달성할 수 있도록 돕는다. 다른 개발자들에게 배우고 자신의 지식을 나누며, 경험이 부족한 개발자들을 멘토링하는 것들이다.

공예, 사업, 엔지니어링, 과학 또는 예술

소프트웨어 개발의 표현에 관한 토론들이 많았다. 하지만 정말 중요한것은 비유가 아니라 그 비유가 상징하고, 장려하는 가치와 행동들이라.
소프트웨어 장인정신은 시켜야만 일하는 역량 미달의 노동자가 아니라 소프트웨어 프로페셔널의 수준을 높여, 프로의 모습으로 일하는 개발자를 지향한다.

매니페스토(Manifesto)

소프트웨어 장인을 열망하는 우리는, 스스로의 기술을 연마하고, 다른 사람들이 기술을 배울 수 있도록 도움으로써 프로페셔널 소프트웨어 수준을 높인다. 이러한 일을 하는 과정에서 우리는 다음과 같은 가치들을 추구한다.

  • 동작하는 소프트웨어뿐만 아니라, 정교하고 솜씨 있게 만들어진 작품을
  • 변화에 대응하는 것뿐만 아니라, 계속해서 가치를 더하는 것을
  • 개별적으로 협력하는 것뿐만 아니라, 프로페셔널 커뮤니티를 조성하는 것을
  • 고객과 협업하는 것뿐만 아니라, 생산적인 동반자 관계를

이 앞의 항목들(일반 굵기)을 추구하는 과정에서, 다음 항목들(볼드체)이 꼭 필요함을 의미한다.

이 매니패스토는 경험이 많고 재능있는 개발자들이 겪는 어려움, 추구하는 가치, 열망을 담고 있다. 부실한 관리, 잘못 정의된 절차 그리고 형편없는 코드 때문에 프로젝트가 실패하는 일은 없어야 한다.

개발자들이 이런 문제들을 직접 해결해보면서 업계의 소프트웨어 개발을 바라보는 시각을 변화시키려고 한다.
새롭고 혁신적인 절차를 제안만 하는 것이 아니라, 개발자 스스로가 자신이 하는 일 자체에 얼마나 책임감과 열정이 있는지 보이려는 것이다.

같은 일을 반복하면서 다른 결과를 기대하는 것은 미친 짓이다.

  • 앨버트 아인슈타인(Albert Einstein)

생산적 동반자 관계가 될 준비가 안 된 고객

생산적 동반자 관계를 받아들일 준비가 되지 않은 기업들이 있다. 이런 기업들은 소프트웨어 개발을 공장 라인의 한 단계 정도로 보고 프로젝트에서 가장 중요성이 낮은 업무로 여긴다.
소프트웨어 장인의 가치나 역량에 관심이 없는 고객을 위해 열심히 일해 봤자 공허함만 커질 뿐이다. 소프트웨어 장인이 스스로의 평판을 닦고 커리어를 완성해 나가는데는 고객을 선별하는 능력이 뒷받침되어야 한다. 파트너십은 본디 쌍방향이다. 양쪽이 모두 동반자 관계로서 참여할 때만 파트너십이 존재한다. 고객과의 관계가 동반자 관계와 거리가 멀고 나의 커리어에 부정적이라고 느낀다면 다른 고객을 찾아봐야 한다.

매니페스토의 문제점

애자일 매니페스토와 달리 소프트웨어 장인정신 매니페스토의 내용들은 그저 좋기만 한 내용들이라 반대할 이유가 없다는 점이다.
이 이야기는 반대로 모든 사람이 그것에 찬성한다고도 볼 수도 있다. 그렇다면 우리가 현재 현업에서 적혀 있는대로 행동하고 있는지 질분해 보아야한다. 소프트웨어 매니페스토를 그저 글자 그대로 해석해서는 안 된다고 본다. 그것이 내보하고 있는 의미를 깊게 살펴보아야 한다.

요약

소프트웨어 장인정신은, 항상 최선을 다하고 고객에게 좋은 서비스를 제공하려는 개발자에 관한 이야기다.

참조

댓글남기기