영향 분석이란 무엇입니까? 변경 영향 분석을 수행하기 위한 모범 사례
영향 분석이란 무엇입니까?
변화는 세상에서 피할 수 없는 부분입니다. 따라서 개발은 지속적인 프로세스입니다. 그러나 새로 도입된 변경 사항은 응용 프로그램의 다른 영역에 약간의 영향을 미칠 수 있습니다. 따라서 도입된 변경 사항의 효과 또는 영향을 분석하는 것이 매우 중요합니다. 이것이 영향 분석의 전부입니다.
변경 영향 분석이라고도하는 영향 분석은 1996 년 미국 소프트웨어 엔지니어 인 Robert S. Arnold와 Shawn A. Bohner가 Software Maintenance라는 책에서 처음 설명했습니다. 이 책에서 Arnold와 Bohner는 영향 분석이 "변경의 잠재적 인 결과를 식별하거나 변경을 수행하기 위해 수정해야 할 사항을 추정"하는 것이라고 말했습니다.
이름에서 알 수 있듯이 영향 분석은 제품 또는 응용 프로그램의 변경 사항이 미치는 영향을 분석하는 것입니다. 불리한 방식으로 변경에 의해 영향을 받을 수 있는 시스템 영역에 대한 유용한 정보를 제공하므로 모든 제품의 개발 주기에서 가장 필수적인 단계 중 하나입니다.
영향 분석 유형:
Arnold와 Bohner에 따르면 영향 분석에는 세 가지 주요 유형이 있습니다.
- 추적 성 영향 분석 – 추적 가능성 영향 분석은 요구 사항, 사양, 설계 요소 및 테스트 간의 링크를 캡처하고 해당 관계를 분석하여 초기 변경 범위를 결정합니다. 변경 사항의 영향을 받는 항목을 수동으로 결정하는 것은 요구 사항 관리 소프트웨어가 필요한 복잡한 프로젝트에서 매우 많은 시간이 소요될 수 있습니다(자세한 내용은 이 문서의 뒷부분 참조).
- 의존성 영향 분석 – 이 유형의 영향 분석은 시스템에 미치는 영향의 깊이를 결정하는 데 사용됩니다.
- 경험적 영향 분석 – 조직 내 전문가의 이전 경험을 고려하여 경험적 영향 분석은 미래에 일어날 수 있는 일을 결정하기 위해 과거에 비슷한 상황에서 일어난 일을 연구합니다.
영향 분석의 장점:
앞에서 언급했듯이 영향 분석은 모든 제품의 개발 주기에서 가장 필수적인 단계 중 하나입니다. 영향 분석의 다양한 이점은 다음과 같습니다.
- 정확성 – 영향 분석은 응용 프로그램 모듈의 변경 사항에 대한 필수적이고 정확한 정보를 제공합니다.
- 향상된 효율성 – 영향 분석은 변경 사항과 해당 변경 사항의 영향에 대한 명확하고 간결한 정보를 제공하여 테스터가 더 효율적이고 더 효율적으로 테스트 사례를 계획할 수 있도록 도와줍니다.
- Precision – 영향 분석 문서는 매우 쉽게 읽을 수 있습니다. 따라서 테스터가 정보를 더 쉽게 이해하고 더 정확하게 작업할 수 있습니다.
- 시간 절약 – 영향 분석의 도움으로 테스터는 전체 애플리케이션을 한 번에 테스트하는 대신 모듈 또는 하위 모듈에서 테스트를 수행할 수 있습니다. 테스트해야 할 영역의 우선 순위를 적절하게 지정하여 많은 시간을 절약할 수 있습니다.
- 손쉬운 버그 감지 – 영향 분석도 버그 탐지를 향상시킵니다. 영향 분석 문서는 통합 테스트에 매우 유용합니다.
영향 분석 문서:
영향 분석 문서는 주로 체크리스트로 사용되는 문서입니다. 이 체크리스트는 작업하기 전에 변경 요청을 평가하는 데 사용됩니다. 영향 분석 문서의 세부 사항은 다음과 같이 구성됩니다.
- 문제에 대한 설명
- 결함이 실패 또는 비효율을 야기하는 방식에 대한 설명
- 복잡성 추정
- 문제를 해결하기 위한 비용 및 시간 추정
- 테스트할 기능
- 변경에 대해 생성된 새 테스트 사례 목록
- 참조 문서 및 기술 사양
- ....
영향 분석 절차:
효과적인 영향 분석을 수행하는 간단한 5단계는 다음과 같습니다.
- 팀 준비 – 변경하기 전에 팀을 준비해야 합니다. 모든 팀 구성원은 응용 프로그램의 모든 모듈 및 특성에 대한 액세스 권한이 있어야 하며 제안된 변경 사항에 대해 필요한 지식도 가지고 있어야 합니다.
- 고수준 모듈 검사 – 그런 다음 팀 구성원은 새로 제안된 변경 사항의 영향을 받을 수 있는 응용 프로그램의 상위 수준 모듈을 분석합니다. 이렇게 하면 모듈의 워크플로 규칙에 대한 더 나은 지식을 얻을 수 있습니다.
- 저수준 모듈 검사 – 상위 수준 모듈을 분석한 후 팀은 하위 수준 모듈로 이동하여 새로운 변경 사항의 영향을 식별합니다. 모든 모듈에 대해 별도의 문서를 준비해야 합니다.
- 영향 평가 – 상위 및 하위 수준 모듈을 분석한 후 준비된 문서에는 변경 사항의 긍정적 영향과 부정적 영향에 대한 모든 세부 정보가 포함됩니다. 이 문서를 기반으로 테스터는 식별된 영향을 평가하고 새로운 변경 사항의 이점과 문제에 대한 명확한 그림을 얻을 것입니다.
- 부정적인 영향에 대한 작업 – 팀 구성원이 부정적인 영향에 대해 더 잘 알고 있고 이제 작업할 수 있을 때. 팀 및 이해 관계자와 상의하고 변경 사항을 구현해야 하는지 여부를 논의할 수 있습니다. 이 상황에서 회귀 테스트를 수행할 수도 있습니다.
변경 영향 분석을 수행하기 위한 모범 사례:
영향 분석에 대한 전문가의 경험을 몇 가지 중요 항목으로 전환하는 것은 불가능하지만 모든 사람이 알아야 할 변경 영향 분석을 수행하기위한 몇 가지 모범 사례가 있습니다.
- 양적 (금전적) 영향과 질적 영향을 구별하는 것이 유용합니다.
- 각 영향 분석의 범위를 자세히 정의하는 것을 잊지 마십시오.
- 영향 분석 범위 내의 모든 영역을 나타내는 영향 분석 프로젝트 팀을 구성합니다.
- 영향 분석에 대한 경영진의 서면 약속을 얻은 경우 사람들을 참여시키는 것이 항상 더 쉽습니다.
- 요구 사항 관리 소프트웨어 도구를 활용하여 종단 간 추적 성을 보장합니다.
변경 영향 분석을 위한 요구 사항 관리 도구 사용:
영향 분석은 제안된 변경 사항의 의미에 대한 정확한 이해를 제공하고 관련된 모든 사람이 하나의 고유한 플랫폼인 진실 소스 덕분에 정보에 입각한 결정을 내릴 수 있도록 돕기 때문에 책임 있는 요구 사항 관리의 핵심 측면이라고 해도 과언이 아닙니다. 프로젝트에 이미 적절한 추적 기능이 없으면 변경의 영향을 분석하는 데 큰 어려움을 겪게 됩니다. 관련 요구 사항, 테스트, 표준 등을 함께 연결하는 것이 필요할 때 효율적인 영향 분석을 달성할 수 있는 유일한 방법입니다.
수천 개의 아티팩트가 있는 복잡한 프로젝트에서는 구상부터 사양 및 개발을 거쳐 배포에 이르기까지 요구 사항의 수명을 수동으로 설명하고 추적하는 것이 거의 불가능합니다. 요구 사항 관리 도구 Visure 요구 사항과 같이 각 요구 사항의 출처를 쉽게 식별하고 모든 변경 사항 추적 그들에게 영향을 미치고 종단 간 보장 추적 성 영향 분석을 위해 정확하고 문서화 된 정보를 제공합니다.
또한 Visure Requirements ALM은 요구 사항, 검토, 위험, 테스트, 표준, 소스 코드 등 프로젝트의 다양한 아티팩트를 중앙 집중화할 수 있는 훌륭한 도구이기도 합니다. 적절한 영향 분석이 발생합니다. 문서 또는 스프레드시트에서 모든 것을 개별적으로 관리하면 필연적으로 추적을 잃고 흐름에서 중요한 영향을 놓치게 됩니다.