1 분 소요

21세기의 소프트웨어 개발

소프트웨어를 개발할 때 숙련된 고참은 무엇인지, 21세기에 와서 개발자들이 직면한 새로운 현실이 무엇일까?

고참 개발자

‘고참’이라는 것은 ‘일시적’이고 ‘상대적’이다.
일시적이라는 이유는 기술이 발전함에 따라 고객이 기존과 다른 형태의 시스템과 기술을 요구할 수 있기 때문이다.
‘상대적’이라는 이유는 어떤 기술, 어떤 맥락에서, 누구와 비교해야 하는지 알아야만 고참인지 여부를 결정할 수 있기 때문이다.

새로운 현실

코딩을 잘 하거나 특정 언어나 프레임워크에 매우 익숙하다고 해서 고참 개발자가 되는 것은 아니다.
개발자들은 다음과 같은 여러가지를 할 수 있어야 한다.

  • 고객과 대화하기
  • 테스트/배포 자동화하기
  • 전체 비즈니스에 영향을 미칠 기술 선정하기
  • 지리적으로 분산된 팀들과 협업하기
  • 고객을 도와 필요한 작업을 정의하기
  • 우선순위 선정하기
  • 진척 상황 보고하기
  • 변경사항과 기대일정 관리하기
  • 잠재 고객 및 파트너에게 제품 소개하기
  • 사전 영업 활동 지원하기
  • 개발 일정과 비용 산출하기
  • 채용 면접하기
  • 아키텍처 설계하기
  • 비기능적 요구사항과 계약 조건(SLAS) 검토하기
  • 사업 목표 이해하기
  • 주어진 여건에서 최적의 결정하기
  • 새로운 기술 주시하기
  • 더 나은 업무 방식 찾기
  • 고객에게 가치 있는 상품이 전달되고 있는지 고민하기

과거에는 소프트웨어 프로젝트를 실행할 때 각 담당자가 해야 할 일이 훨씬 구체적이었다.
개발자는 애플리케이션의 디자인이나 아키텍처에 관여하지 않았고, 최종 사용자와 접촉할 일도 드물었으며, 비즈니스 분석가들은 개발자들이 비즈니스는 아예 모른다고 생각해다.

소프트웨어 개발자가 소프트웨어 개발 업무만 하면 되던 시절은 지났다.
코딩과 관련된 것이 아니면 개발자와 상관없는 문제라는 태도는 이젠 용납되지 않는다.

고객들은 절차가 많고 계층 구조가 복잡한 관료적인 서비스 회사에서, 작지만 더 기민한 서비스를 제공하는 회사로 갈아타고 있다.
폭포수 모델을 전통적인 관리 형태와 결합하여 사용하면 오늘날처럼 빠르게 변하는 시장에 더는 대응할 수 없다.

오늘날의 프로젝트들은 여러가지 기술들을 복합적으로 사용하고 복수의 정합(Integration) 포인트를 두어 점진적이고 반복적으로 개발된다.

기업들은 이제 시키는 일만 하는 값싼 코더가 아니라 프로패셔널 개발자를 원하고 있는 것이 요즘의 현실이다.

수평적인 조직구조와 스스로 동기가 부여된 재능있는 개발자로 구성된 프로젝트가 새로운 표준으로 자리잡고 있다.

2001년, 소프트웨어 업계에 커다란 혁신이 있었다. 세계 여러 곳에서 애자일 방법론을 채택하여 업무 절차와 조직 구조, 사고 방식을 바꾼 것이다.
업무 정차를 대폭 개선했음에도 여전히 많은 기업들이 개발 역량이 부족하여 어려움을 겪고 있다.
느린 시장 대응, 높은 유지보수 비용, 버그 투성이의 저품질 제품, 역량있는 개발자 부족에 시달리고 있다.

이어지는 장들에서 이러한 질문들에 대한 생각들을 풀어 놓을 것이다.

참조

댓글남기기