생산성 향상 위해 다양한 개발도구 활용…비용 절감·효율적인 협업 환경 구축까지

 


기업의 다양한 내·외부 환경 요인으로 인해 소프트웨어 개발에 필요한 요건이 점차 중가하고 있다. 그렇기에 지금까지의 정성적인 개발방법이 아닌 정량적이고 체계적이면서 자동화된 개발도구 활용이 요구된다. 최근 생산성 향상을 위한 개발 도구의 핵심에는 오픈소스가 자리 잡고 있는 만큼, 금융IT 분야에서 이들을 어떻게 효과적으로 도입할 수 있을지 알아본다. <편집자>

최근 IT 분야는 지속 통합/배포(CI/CD), 데브옵스(DevOps)가 확대되고, 인프라도 클라우드 환경으로 전환되고 있으므로 선제적 대응이 중요한 시점이다. 이를 위해 고려해야 할 요인은 크게 기술적 요인, 기업 내부 요인 및 외부 요인으로 나눠볼 수 있다.

우선 기술적 요인을 살펴보면 개발 참여 인력의 기술적 사전검증 부족, 조기 품질점검 부재, 점점 복잡해지는 요구 사항으로 인한 수작업 요인 증가, 기술·업무에 대한 고객의 요구 사항 증가 등을 확인할 수 있다.

기업 내부 요인으로는 유지보수 시 사후관리 미흡, 소프트웨어 품질관리 인력 및 솔루션 부재, 소스코드에 대한 상태진단 및 개선사항에 대한 외부 의존도 증가 등을 들 수 있으며, 외부 요인으로는 IT의 급변으로 인한 인력수급 제약, 주 52시간제 도입, 언택트 상황 증가로 소프트웨어 개발에 필요한 요건 증가 등을 꼽을 수 있다.

이처럼 다양한 리스크 요인이 대두되는 상황이기 때문에 지금까지의 정성적인 개발방법이 아닌 정량적이고 체계적인 자동화된 개발도구 적용과 더불어 소프트웨어 개발관리/편의성 증대로 인한 생산성 향상 등이 현재 상황에 필요한 해결책이라 할 수 있다.

최근 금융IT는 물리적인 망분리, 강한 보안규칙 준수, 인터넷 접근금지라는 페쇄적인 상황에 놓여 있기에 개발생산성을 높이기 위한 도구를 사용하기 어려운 실정이다. 클라우드에 대한 열기가 뜨거움에도 불구하고 금융IT 분야는 SaaS(Software-as-a-Service)로 진행되는 상황에서도 IaaS(Infrastructure-as-a-Service)조차 사용한 인력이 많지 않은 실정이다. 이미 다른 분야에서 사용되는 여러 소프트웨어 개발도구는 금융IT 분야에서 전혀 사용할 수 없는, 마치 ‘그림의 떡’과 같다고 할 수 있다.

특히 소프트웨어 개발과정 전체에 걸쳐서 고객사에 표준화된 개발 환경을 지원받지 못하는 상황이 많이 발생된다. 자체 프로젝트, 중소규모 프로젝트, 비중요 시스템 구축 사업 수주 시 비용 문제로 인한 아키텍트 인력 운용 불가, 외주업체 의존성 상승 및 회사마다 표준화된 지원체계를 갖추지 못했기 때문이다. 또한 프로젝트 진행 시 한정된 자원으로 인해 코드 품질 및 생산성을 위한 자동화 적용이 미흡하기에 단계마다 즉시 사용할 수 있는 표준화되고 자동화된 개발도구의 적용이 품질향상 및 생산성 향상의 중요 포인트라고 할 수 있다.  [기사 더보기]
 

[그림 1] 소프트웨어 개발과정에 활용되는 주요 오픈소스
[그림 1] 소프트웨어 개발과정에 활용되는 주요 오픈소스
 

 

[기자 : 정을용 신한DS QM Cell 수석(eyjung@shinhan.com)]