본문으로 건너뛰기
전체 글

현대 IT 인프라에서 소프트웨어 엔지니어링이 중요한 이유

Ghazi Triki 작성 · 2분 분량

소프트웨어 엔지니어링

소프트웨어 개발 프로세스를 바라보는 전통적이고, 분명 가장 널리 퍼진 관점에서 기술 기업의 프로그래머는 설계자가 아니라 다른 사람의 설계를 구현하는 사람으로 여겨집니다. 결국 프로그래머의 일은 코드를 작성하는 것이기 때문입니다. 코딩은 "시공" 활동으로 간주되며, 시공을 시작하기 전에 설계가 끝나 있어야 한다는 것은 누구나 아는 사실입니다.

실제 설계 작업은 전문 소프트웨어 설계자가 맡습니다. 엔지니어가 설계를 만들어 프로그래머에게 넘기면, 프로그래머는 소프트웨어 엔지니어의 사양에 따라 이를 코드로 옮깁니다. 이 관점에서 프로그래머에게는 주어진 설계를 이해할 수 있을 정도의 소프트웨어 아키텍처 역량만 있으면 됩니다.

실제 설계 작업은 전문 소프트웨어 엔지니어가 담당합니다. 예를 들어 RIADVICE는 소프트웨어 설계 역량을 완전히 갖추고 있습니다. 저희가 설계를 만들어 프로그래머에게 전달하면, 프로그래머는 소프트웨어 설계자의 지침에 따라 이를 코드로 옮깁니다. 이 경우 프로그래머는 전달받은 설계를 이해할 수 있을 만큼의 설계 역량만 있으면 되며, 소프트웨어 엔지니어는 프로그래머가 코드를 더 쉽게 만들어 갈 수 있도록 돕습니다.

소프트웨어 개발의 다양한 "현실"을 하나의 스펙트럼으로 생각해 보겠습니다. 앞서 설명한 상황은 스펙트럼의 한쪽 끝에 있습니다. 이처럼 설계를 넘겨주는 방식은 규모가 크고 복잡한 프로젝트, 그리고 전통적인 소프트웨어 엔지니어링 문화가 오래 자리 잡은 기업에서 더 흔합니다.

스펙트럼의 반대쪽 끝에는 엔지니어 없이 프로그래머만 있으며, 프로그래머가 시스템 설계까지 책임집니다.

이 두 극단 사이에는 다른 많은 현실이 존재합니다.

  1. a) 프로그래머가 매우 상세한 "완성된 설계"를 전달받는 순수하고 전통적이며 역할이 분리된 소프트웨어 엔지니어링
  2. b) 프로그래머가 주인공인 초소형 개발 팀. 그리고 이 두 극단 사이의 "중간 지대"에서 일하는 설계자, 리드 프로그래머, "아키텍트"가 있습니다.

RIADVICE는 프로토타이핑, 소프트웨어 아키텍처부터 설계, UI/UX, 품질 보증에 이르기까지, 애자일 원칙에 따른 엔드투엔드 애자일 소프트웨어 엔지니어링 서비스로 이 모든 영역을 책임집니다.

또한 제품 개발, 소프트웨어 현대화, 엔터프라이즈 솔루션 같은 추가 서비스로 기술 기업이 소프트웨어 설계 목표를 달성할 수 있도록 지원합니다.

저희의 소프트웨어 설계 및 엔지니어링 서비스 전체는 언제든지 소프트웨어 엔지니어링 페이지에서 확인하실 수 있습니다.

이 글 공유하기

  • 7년에서 7일로
    Education · 8분 분량

    에이전틱 AI로 7년을 7일로

    팀이 스프린트 두 번 만에 출시한 프로젝트에 대해 COCOMO II 스프레드시트가 33개월을 예측하는 것을 보신 적이 있다면, 문제를 이미 알고 계실 것입니다. 추정 모델이 더 이상 존재하지 않는 세계에 맞춰 보정되어 있다는 것입니다.