책 커버 표지
일경컴퓨터_2022/09/15_DX를 가속하는 개발 지원 AI
  • 저자 : 日経BP社
  • 발행일 : 20220915
  • 페이지수/크기 : 98page/28cm

요약

Nikkei Computer_22.9.15 특집 요약 (p40-47)
 
DX를 가속하는 개발 지원 AI
프로젝트 매니저, 구현, 테스트 고속화
 
DX(디지털 변혁)에서는 시스템 개발 속도의 향상이 요구된다. 그래서 주목을 받고 있는 것이 개발의 각 공정을 지원하는 AI(인공지능) 툴이다. 주로 ‘프로젝트 매니지먼트’ ‘코딩(구현)’ ‘테스트’의 3개 분야가 대상이다. 
 
AI는 분야별 작업에 특화되어 자동화하거나 담당자의 판단을 돕는다. 구체적으로 어떤 기능을 갖추고 개발 현장의 작업을 어떻게 바꾸는지, 3개 분야의 AI 툴 활용 실태를 쫓았다.
 
Part 1. 프로젝트 매니저
AI가 프로젝트 감시, 히타치는 수억 엔 비용 삭감
 
시스템 개발 속도를 높이려면 프로젝트 매니저나 프로젝트 매니지먼트 오피스(PMO)의 매니지먼트가 중요하다. 프로젝트별 진척 상황을 관리할 뿐만 아니라 인재를 적절히 배치하기도 하고, 개발에 장애가 될 만한 리스크를 파악하기도 한다. 이러한 매니지먼트를 얼마나 세심하게 실행하느냐가 개발 속도를 좌우한다.
 
그래서 시작된 것이 프로젝트 매니저나 PMO를 지원하는 AI(인공지능)의 활용이다. 히타치제작소와 TIS의 사례를 살펴보자.
 
<그림> AI 지원이 효과를 발휘하는 3개의 개발 작업
1) 프로젝트 매니지먼트 프로젝트: 시작 전에 성공율이나 리스크 요인, 대책 등을 제시한다. 시작 후에도 순조롭게 진척되는지 여부를 예상한다
2) 코딩: 소스코드의 문맥을 통해 다음에 쓸 코드를 예측하고, 후보를 표시한다. 기술한 코드에 버그가 없는지, 안전한 코드인지를 리뷰한다.
3) 테스트: 테스트 케이스나 테스트 스크립트를 자동 작성한다. 테스트 시나리오를 레코드로 작성한다.
 
-- 티켓을 통해 진척이나 리스크를 분석 --
히타치제작소는 21년부터 AI 툴을 순차적으로 개발/도입해 사업부의 프로젝트 매니저와 PMO를 지원하고 있다. 여기에서는 2개의 AI 툴을 소개한다.
 
첫 번째 AI 툴은 프로젝트 상태를 감시하고 이상을 재빨리 프로젝트 매니저나 PMO에게 알리는 것이다. 오픈 소스 소프트웨어(OSS)인 ‘Redmine’이나 호주 아틀라시안(Atlassian)의 ‘Jira Software’라는 티켓 관리 툴, OSS인 ‘Git’ 등의 버전 관리 툴에 축적된 데이터를 분석. 프로젝트를 지속적으로 감시하며 오류 수가 증가하는 등 변화가 있으면 프로젝트 매니저에게 경보를 보낸다.
 
AI 툴 개발에는 ‘SDAR’라는 알고리즘을 채용했다. SDAR은 트렌드의 변화나 빗나간 값을 검출하는 데 적합하다. 히타치제작소 연구개발그룹의 가와카미(川上) 주임연구원은 "2020년에 작업한 약 50건의 프로젝트 정보를 이용해 AI를 개발했다"라고 설명한다.
 
개발한 AI 툴은 오류 티켓 수와 프로그램의 평가 기준(코드 매트릭스) 변화를 검출한다. 예를 들어 사용자 수용 테스트(User Acceptance Testing)로 인해 오류 티켓이 증가하면 즉시 프로젝트 매니저나 PMO에 통보한다. 또한 예정에 없는 OSS 등의 코드 유용이나 예기치 못한 코드 추가 등이 발생한 경우, AI가 코드 매트릭스의 변화를 추측해 프로젝트 매니저에게 알린다.
 
지연 상관 분석을 통한 미래 예측 AI도 도입했다. 이것이 두 번째 AI 툴이다. 이 AI는 프로젝트의 현재 상태를 통해 앞으로 일어날 수 있는 현상을 예측한다. 예를 들면, 설계 품질이 나쁜데다 리뷰 횟수가 적기 때문에 버그의 수가 증가할 것 같다, 숙련 기술자가 이동했기 때문에 개발이 지연될 것 같다, 이런 현상을 예측해 프로젝트 매니저에게 알린다.
 
지연상관분석 AI는 Eclipse Platform 프로젝트를 대상으로 131개 종류의 매트릭스 간 상관관계를 학습시켰다고 한다. 프로젝트에서 이용하는 티켓관리시스템이나 리포지토리(Repository)의 정보에서 얻은 정보와 대조한다. 그 후, 업종 등의 분야 고유 룰을 적용해 향후 발생할 것 같은 현상을 제시한다.
 
현시점에서는 프로젝트 매니저나 PMO를 지원하는 AI의 도입은 한정적이다. 그러나 AI의 지원을 통해 예산 초과나 개발의 재작업을 줄일 수 있어 “사업부 전체에서 수억 엔의 비용 감소로 이어지고 있다”(가와카미 주임연구원).
 
-- AI가 프로젝트의 성공률을 예측 --
시스템 개발에서는 프로젝트의 공수(Man Hour)나 리스크의 정확한 견적이 중요하다. 다만 견적 작업은 프로젝트 매니저나 PMO 멤버의 실무 경험과 노하우가 필요하기 때문에 주관적이 되기 쉽다. 
 
견적의 정확도가 떨어지면 인원의 과부족이나 개발 지연을 초래한다. 이러한 과제를 해결하기 위해 TIS는 프로젝트의 성공률이나 리스크 요인을 도출하는 AI 툴을 자체 개발해 회사 전체에서 사용하고 있다.
 
TIS의 요시하라(吉原) 매니저는 “AI 툴 개발에는 당사가 지금까지 작업한 수만건의 프로젝트 중에서 수천 건을 엄선해, 그 정보를 모델 트레이닝에 이용했다”라고 말한다. 
 
프로젝트 정보란, 예를 들면 시스템 규모나 상정 공수(Man Month), 금액, 납기, 이익, 업종 등이다. 이들 정보를 트레이닝 데이터로서 ‘의사결정나무(Decision Tree)’ 분석 알고리즘을 기반으로 한 모델을 개발했다.
 
프로젝트 매니저나 PMO가 RFP(제안의뢰서)에 기재된 내용을 이 AI 툴에 입력하면 프로젝트 성공률이나 시스템 개발의 리스크를 사전에 파악할 수 있다고 한다. 성공률을 올리는 요소나 반대로 성공률을 떨어뜨리고 있는 요소도 표시한다.
 
예를 들어 특수한 프로그래밍 언어를 채택하거나 세상에 나와 있지 않은 새로운 기술을 사용한다면 AI 도구는 이들을 위험 요인으로 제시한다. “이처럼 리스크 요인을 추출하는 방법으로 사전에 개선해 나간다”(TIS의 요시하라 매니저).
 
사용할 기회가 적은 프로그래밍 언어를 이용하고 있는 경우, 언어를 변경하거나 언어에 정통한 엔지니어를 참여시키는 것이 가능하다. 이러한 리스크 요인을 알아냄으로써 “프로젝트 시작 전에 리스크를 조기에 파악할 수 있어 프로젝트 매니저의 부담을 줄일 수 있다”(요시하라 매니저).
 
TIS는 프로젝트 관리 데이터베이스에서 유사 프로젝트를 추출하는 검색 시스템도 구축했다. 벡터 공간에서 거리를 나타내는 '유클리드 거리'나 '코사인 유사도'를 이용한 자연언어처리 AI를 개발해 키워드에서 과거의 유사 프로젝트를 추출한다. 유사 프로젝트에서 발생한 과제나 그 해결 방법을 빠르게 파악할 수 있기 때문에 프로젝트를 원활하게 진행하는 데 도움이 된다고 한다.
 
-- AI를 활용하는 인재나 조직이 중요 --
“프로젝트 매니저나 PMO를 지원하는 AI 등이 확산되면서 인재나 조직 본연의 자세가 변화한다”. 이렇게 말하는 사람은 액센추어(Accenture)의 야마네(山根) 디렉터이다. 그는 "사람이 AI를 잘 사용하는 것이 중요한 게 아니라 AI를 활용할 수 있는 인재/조직으로 바꿔 나가는 것이 중요하다"고 설명한다.
 
예를 들면 액센츄어가 작업한 기간 시스템 구축 프로젝트에서는 신규 참가자의 트레이닝이나 계정 작성 등의 정형 작업을 AI 툴인 ‘Robot PMO’에 맡겼다. 그 결과, 개발 인원이 피크일 때 500명 이상 규모의 분산 애자일 프로젝트였음에도 불구하고 PMO의 월평균 인원은 많아도 몇 명 정도로 억제할 수 있었다고 한다.
 
이러한 개발 효율화가 가능해진 것은 AI 툴을 쉽게 활용할 수 있는 개발 환경을 정비했기 때문이다. AI 툴이 정보를 쉽게 얻을 수 있도록 종이에 인쇄해 회의하는 것은 금지했다. 또한 모든 업무와 데이터의 입구를 Slack에 집약. 취급하는 데이터는 프로젝트 내에서 오픈해서 과제를 숨김없이 공유했다.
 
이처럼 프로젝트 매니저나 PMO를 지원하기 위해 AI를 개발하는 것도 중요하지만 AI를 활용할 수 있는 환경 정비가 필수적이라고 할 수 있다.
 
Part 2. 코딩
다음에 쓸 코딩 후보를 제시, MS와 AWS가 제품 투입
 
버그를 포함한 코드를 쓰면 후공정에서 재작업이 발생해 지연의 원인이 되기도 하고, 보안 취약점이 생기기도 한다. 이 문제를 해결할 수 있는 코딩 지원 AI 툴이 등장하고 있다.
 
Part 3. 테스트
SBI생명은 공정수 절감, 90% 이상의 작업을 자동화
 
개발 속도를 높이는 동시에 시스템의 품질을 유지하기 위해서는 테스트 공정이 관건이다. 품질을 담보하는 공정이기도 하고, 큰 공수(Man Hour)가 필요하기 때문이다.
 
 -- 끝 --
 
Copyright © 2020 [Nikkei Computer] / Nikkei Business Publications, Inc. All rights reserved.

목차