애플리케이션

소프트웨어 품질 향상을 위한 7가지 실용팁

Thomas Wailgum | CIO 2010.08.23

소프트웨어 버그가 “버그”라 불리는 이유가 있다. 오랫동안 우리와 함께 해왔고 아주 부적절한 시점에 툭툭 튀어나오며 그들을 제거할만한 마땅한 방법이 없기 때문이다.

 

시간 및 인력 부족, 강도 높은 비용 압박이라는 오늘날의 끔찍한 경영상황은 개발팀에 “품질이 최고”가 아닌 “속도전”을 우선시하도록 만든다.

 

그러나 그런 애플리케이션 개발 팀이 (“소프트웨어는 원래 버그가 있다”)는 현실을 수용한다는 의미는 아니며 코드의 품질을 향상시켜야 한다는 개념을 저버린다는 의미도 아니다.

 

새로 나온 포레스터 리서치 보고서 소프트웨어 품질 향상을 위한 7가지 실용적인 방법(Seven Pragmatic Practices to Improve Software Quality)에서 분석가 마르고 비시태시온과 마이크 구알티에리은 개발팀이 코드의 품질을 높이는데 활용할 수 있는 실용적이고 현실적인 방법을 제시한다. (포레스터는 소프트웨어의 품질을 다음과 같이 정의한다. "기업의 필요를 충족시킬 수 있고 사용자가 만족하며 결함이 더 적은 소프트웨어”)

 

AP3223.JPG분석가들은 애플리케이션 개발팀을 괴롭히는 가장 큰 쟁점 즉, 왜 그들이 예상 비용을 줄이고 그에 관련된 고통을 최소화하는데 모든 생각을 집중해야 하는지도 잘 알고 있다.

 

비시태시온과 구알티에리는 이렇게 "많은 기업의 애플리케이션 개발팀은 툴, 프로세스, 인력에 투자한다. 하지만 여전히 많은 기업이 품질 향상을 위해 애쓰고 있다"라고 전한다. 그러므로 분석가들은 자신들이 내놓는 7가지 실용적인 조언이 팀구성원들의 반발을 일으키거나 개발과정의 속도를 더디게 함으로써 자금을 까먹게 하지는 않을 것이라고 주장한다.

 

"품질은 고객에게 보여주기 위해서 애플리케이션에 뿌려질 수 있는 포장이 아니다. 오히려 그것은 소프트웨어 개발 주기(software development life cycle, SDLC) 전체에 통합되어야 한다. 그렇게 되면 품질에 대한 책임은 애플리케이션 개발 관리자의 어깨에 지워지게 된다. 품질관리전문가에게만 책임이 전가되지 않는 것이다"라고 설명했다. 아래는 포레스터 보고서에서 제시한 7단계를 간략히 정리한 것이다.

 

1 필요에 맞는 품질을 정의하라

품질에 미치는 영향: 기업의 필요를 충족시킨다. 사용자를 만족시킨다.

이득: 애플리케이션 개발팀에게 비현실적인 완벽한 소프트웨어 개발을 주문하는 것이 아니라 주어진 시간, 자원, 예산의 제약에 맞게 품질을 정의함으로써 품질을 달성할 역량이 향상된다.

관련된 역할: 관련 이해관계자; 애플리케이션 개발팀 전체

 

2 단순한 품질 측정법을 알려라

품질에 미치는 영향: 결함 감소.

이득: 매우 가시적인 측정을 통해 전체 팀원이 품질을 최우선시 하도록 만들고 노력이 부족할 경우 그것을 깨닫게 해준다.

관련된 역할: 애플리케이션 개발팀 전체

 

3 팀과 개인의 목표에 품질을 포함시켜라

품질에 미치는 영향: 기업의 필요를 충족시킨다; 사용자를 만족시킨다; 결함을 줄인다

이득: 팀구성원은 인센티브에 따라 움직인다. 바람직한 행동을 강화하도록 품질 향상이 그들이 목표가 되게 하라.

관련된 역할: 관리.

 

4 충족시켜야 할 것들을 충족시켜라

품질에 미치는 영향: 기업의 필요를 충족시킨다; 사용자를 만족시킨다.

이득: 일을 덜 한다는 것은 재테스트를 덜해서 주기를 줄인다는 것을 의미한다. 그럼으로써 전체적인 수고가 줄어든다.

관련된 역할: 관리자, 경영분석가, 사용자 경험 설계자, 아키텍트.

 

5 효과적인 테스트로 테스트 회수를 줄여라

품질에 미치는 영향: 결함 감소.

이득: 가장 중요하고 가장 위험이 높은 영역에 초점을 맞춘 테스트는 그것들이 테스트 자원의 큰 몫을 차지하도록 보장하며 버그들이 덜 중요한 요소에 한정되도록 만들 것이다.

관련된 역할: 품질관리전문가, 관리자.

 

6 버그가 줄어들도록 애플리케이션을 설계하라

품질에 미치는 영향: 결함 감소.

이득: 더 간단하고 깔끔한 설계는 더 간단하고 깔끔하며 테스트와 재작업이 쉬운 코드를 만들어낸다. 즉, 코드는 버그를 줄일 것이고 버그를 진단하고 수정하기 쉽게 만든다는 말이다.

관련된 역할: 아키텍트, 개발자.

 

7 테스트 툴 사용을 최적화하라

품질에 미치는 영향: 결함 감소.

이득: 자동화는 가장 우선적으로 수행해야 하는 테스트에 초점을 맞추게 하며 테스트 주기의 반복성을 증가시킨다.

관련된 역할: 품질관리전문가, 개발자.

 

비시태시온과 구알티에리는 소프트웨어 품질은 "품질은 품질관리전문가에게만 적용되는 문제가 아니고 소프트웨어 개발주기 전체에 통합된 문제여야 한다. 그러면 재작업하는 시간을 줄이고 사용자의 만족을 높이며 보안이나 수행도 같이 테스트되지 않는 비기능적 충족요건들이 잘못될 위험도 줄일 수 있다. 관리자들은 품질 측정기준을 정하고 팀원 모두가 그 기준에 따라 소프트웨어를 향상시키도록 해야 한다"라며, 누구나 참여해야 하는 팀스포츠라는 것을 강조했다. editor@idg.co.kr

Sponsored

회사명 : 한국IDG | 제호: ITWorld | 주소 : 서울시 중구 세종대로 23, 4층 우)04512
| 등록번호 : 서울 아00743 등록발행일자 : 2009년 01월 19일

발행인 : 박형미 | 편집인 : 박재곤 | 청소년보호책임자 : 한정규
| 사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2024 International Data Group. All rights reserved.