본문 바로가기

CS BASIC/소프트웨어 설계와 방법론

[CS BASIC] 소프트웨어 비즈니스 계획과 연속성 관리

개요
오늘은 소프트웨어의 비즈니스 계획연속성 관리에서 사용되는 다양한 용어와 개념에 대해서 알아보도록 하겠습니다.

좋은 소프트웨어를 만들기 위해서는 잘 짜여진 계획은 꼭 필요하고,
'계획'이라는 설계도를 잘 만들었따면 실재하는 제품인 프로그램도 잘 나오기 마련이겠죠.

오늘은 이처럼 소프트웨어 개발에서 사용되는 다양한 비즈니스 계획 용어와 개념에 대해서 살펴보도록 하겠습니다.

 

비즈니스 연속성 계획

비즈니스 연속성 계획(BCP)조직이 심각한 운영 중단 사태를 예방하고, 해당 사태가 발생했을 때 신속하게 회복할 수 있는 능력을 확보하기 위해 마련하는 상세한 전략과 일련의 시스템

 


BCP(Business Continuity Planning)

  • 재난 및 재해 상황을 대비하여 기업의 비즈니스 연속성을 유지하기 위한 업무 복구에 대한 계획

BIA (Business Impact Analysis)

  • 장애나 재해로 인한 운영상의 주요 손실을 볼 것을 가정하여 시간 흐름에 따른 영향도 및 손실평가를 조사하는 BCP를 구축하기 위한 비즈니스 영향 분석

RTO (Recovery Time Objective)

  • 업무중단 시점부터 업무가 복구도외 다시 가동 될 때까지의 시간
  • 재해 시 복구 목표의 시간 선정

 

RPO (Recovery Point Objective)

  • 업무중단 시점부터 데이터가 복구되어 다시 정상가동될 때 데이터의 손실 허용 시점
  • 재해 시 복구 목표 지점의 선정

DRP (Disaster Recovery Plan)

  • 재난으로 장기간에 걸쳐 시설의 운영이 불가능한 경우를 대비한 재난 복구 계획

DRS (Disaster Recovery System)

  • 재해복구계획의 원활한 수행을 지원하기 위하여 평상 시에 확보하여 두는 인적, 물적 자원
  • 이러한 자원에 대한 지속적인 관리체계가 통합된 재해복구시스템

다양한 IT 업무 프로세스

시장성이 있고, 좋은 소프트웨어를 위한 다양한 전략

 

5 Force

  • 사업경쟁요인 분석을 통하여 경쟁의 강도를 알아내고 수익성을 추출할 때 유용하게 사용되는 도구로 마이클 포터에 의해 처음 소개됨
  • 소비자의 구매력, 생산자의 구매력, 대체품에 대한 위험, 진입장벽이라는 요인을 통해 어떤 잠재적 경쟁자가 있는지에 대한 경쟁력 분석 도구

fig 1.0 5 Force 분석 기법

 

6 시그마(Six Sigma)

  • 모든 프로세스에 적용할 수 있는 전방위 경영혁신 운동으로 미국에서 새롭게 각광받던 품질관리법으로 경영성과 평균 및 산포를 동시에 개선하는 방법
  • 모토로라에서 근무하던 마이클 해리에 의해 1987년 창안됨

fig 1.1. 6 시그마 모델의 통계적 가정이 되는 정규분포 그림

 

6 시그마(Six Sigma) - DMAIC

단계 설명
정의(Define) 기업 전략과 소비자 요구 사항과 일치하는 디자인 활동의 목표를 정한다.
측정(Measure) 현재의 프로세스 능력, 제품의 수준, 위험 수준을 측정하고 품질에 결정적 영향을 끼치는 요소(CTQs, Criticals to qualities)를 밝혀낸다.
분석(Analyze) 디자인 대안, 상위 수준의 디자인을 만들기 그리고 최고의 디자인을 선택하기 위한 디자인 가능성을 평가하는 것을 개발하는 과정이다.
개선(Improve) 바람직한 프로세스가 구축될 수 있도록 시스템 구성 요소들을 개선한다.
관리(Control) 개선된 프로세스가 의도된 성과를 얻도록 투입 요소와 변동성을 관리한다.

 

 

6 시그마(Six Sigma) -  DMADV

단계 설명
정의(Define) 기업 전략과 소비자 요구 사항과 일치하는 디자인 활동의 목표를 정한다.
측정(Measure) 현재의 프로세스 능력, 제품의 수준, 위험 수준을 측정하고 품질에 결정적 영향을 끼치는 요소(CTQs, Criticals to qualities)를 밝혀낸다.
분석(Analyze) 디자인 대안, 상위 수준의 디자인을 만들기 그리고 최고의 디자인을 선택하기 위한 디자인 가능성을 평가하는 것을 개발하는 과정이다.
디자인(Design) 세부 사항, 디자인의 최적화, 디자인 검증을 위한 계획을 하는 단계를 말한다. 여기서 시뮬레이션 과정이 필요하다.
검증(Verify) 디자인, 시험 작동, 제품 개발 프로세스의 적용과 프로세스 담당자로의 이관 등에 관련된 단계이다.

 

 

ITSM(IT Service Management)

  • 정보시스템 사용자가 만족할 수 있는 서비스를 제공하고 지속적인 관리를 통해 서비스의 품질을 유지 및 증진시키기 위한 일련의 활동
  • 즉 기업 내의 기존 정보통신 관리 역할을 서비스 관점으로 바꿔서 고객 중심의 IT 서비스를 관리하는 기법

SLA(Service Level Agreement)

  • 고객과 서비스 제공자 간 계약인 서비스 수준 관리
  • 서비스 수준을 측정할 수 있는 세부 서비스 요소(SLO, Service Level Object)들이 포함됨

소프트웨어 개발 비용 산정 모델

소프트웨어를 개발하기 위해 필요한 시간, 생산성, 노력 등의 투자 가능한 비용을 산정



LoC(Lines of Code)

  • 소프트웨어의 각 기능의 원시 코드 라인수의 낙관치, 중간치, 비관치를 측정하여 예측치를 구하고 이를 이용하여 비용을 산정하는 방법으로 측정이 쉽고 이해하기 쉬워 많이 사용하는 비용 산정 모델
  • 예측치를 이용하여, 생산성, 노력, 개발 기간 등의 비용을 산정한다.

 

CMM(I) (Capability Maturity Model Integration)

  • 소프트웨어 개발 능력/성숙도 평가 및 프로세스의 개선 활동이자 지속적인 품질 개선모델이다.
  • 적용 및 평가 방식은 조직 차원의 성숙도를 평가하는 단계별 표현과 프로세스 영역별 능력도를 평가하는 연속적 표현이 있다.

수준 단계 설명
1 초기화 단계(Initial) - 정의된 프로세스가 없고 작업자 능력에 따라 성과가 좌우되는 단계
- 프로세스 미비/비공식적 예측 불가
2 관리 단계 (Managed) - 특정한 프로젝트 내의 프로세스가 정의되고 수행되는 단계
- 프로젝트 관리시스템 정착, 프로젝트 결과의 반복성
3 정의 단계 (Defined) - 조직의 표준 프로세스를 활용하여 업무를 수행하는 상태 표준화, 일관된 프로세스가 존재하는 단계
- 엔지니어링 및 관리 프로세스의 통합
4 정량적 관리 단계
(Quantitatively Managed)
- 정량적 기법을 활용하여 핵심 프로세스를 통제하는 단계
- 제품 및 프로세스의 정량적 통제
5 최적화 단계(Optimized) - 프로세스 역량 향상을 위해 신기술 도입, 프로세스 혁신 활동을 수행하는 단계
- 프로세스 개선이 내재화된 조직

 


소프트웨어 아키텍처 비용 평가 모델

소프트웨어의 구조에 따른 비용 평가 기준들

 

SAAM (Software Architecture Analysis Method)

  • 변경 용이성과 기능성에 집중, 평가가 용이하여 경험이 없는 조직에서도 활용 가능한 비용 평가 모델

ATAM (Architecture Trade-off Analysis Method)

  • 아키텍처 품질 속성을 만족시키는 판단 및 품질 속성들의 이해 상충관계까지 평가하는 모델


CBAM (Cost Benefit Analysis Method)

  • ATAM 바탕의 시스템 아키텍처 분석 중심으로 경제적 의사결정에 대한 요구를 충족하는 비용 평가 모델

 

ADR (Active Design Review)

  • 소프트웨어 아키텍처 구성요소 간 응집도를 평가하는 모델

ARID (Active Reviews for Intermediate Designs)

  • 전체 아키텍처가 아닌 특정 부분에 대한 품질요소에 집중하는 비용 평가 모델


소프트웨어 개발의 생명주기 프로세스

하나의 소프트웨어를 만들기 위해 거쳐가는 시간의 흐름에 따른 워크 플로우(work flow)

 

프로세스 설명
요구사항 분석 다양한 이해관계자의 상충할 수도 있는 요구사항을 고려하여 새로운 제품이나 변경된 제품에 부합하는 요구와 조건을 결정하는 단계
설계 시스템 명세 단계에서 정의한 기능을 실제 수행할 수 있도록 수행 방법을 논리적으로 결정하는 단계
구현 설계 단계에서 논리적으로 결정한 문제 해결 방법을 특정 프로그래밍 언어를 사용하여 실제 프로그램을 작성하는 단계
테스트 시스템이 정해진 요구를 만족하는지, 예상과 실제 결과가 어떤 차이를 보이는지 검사하고 평가하는 단계
유지보수 시스템이 인수되고 설치된 후 일어나는 모든 활동을 포함하는 단계

 


균형 성과표(BSC, Balanced Score Card)

과거의 성과에 대한 재무적인 측정지표에 추가하여 미래성과를 창출하는 동안에 대한 측정지표인 고객, 공급자, 종업원, 프로세스 및 혁신에 대한 지표를 통하여 미래가치를 창출하도록 관리하는 시스템

 

fig 1.2. 균형 성과표(BCD)

 

관점 설명
재무 - 기업의 주요 이해관계자들에게 재무적인 지표를 통해 조직의 성과를 보여주기 위한 관점
고객 - 고객과의 관계 관리를 위한 관점
- 기업에 수익을 가져다줄 수 있는 고객을 파악해 내고, 이들을 위한 고객 지향적 프로세스를 만들어나가는 것이 고객 관계 관리의 핵심 성공 요인
내부 프로세스 - 성과를 극대화하기 위하여 기업의 핵심 프로세스 및 핵심 역량을 규명하는 과정에 관련한 관점
학습과 성장 - BSC의 4가지 관점 중에서 가장 미래 지향적인 관점
- 현재에는 그 가치가 보이지 않지만, 회사의 장기적인 잠재력에 대한 투자가 기업 성장에 얼마나 영향을 미칠 수 있을지를 파악



다양한 업무 이력 데이터

종류 설명
변경 이력 거래에 대한 변경 등에서 발생하는 이력
발생 이력 정기적으로 발생하는 데이터
진행 이력 어떤 데이터가 현재까지 계속 진행하고 있는 데이터

 


참고자료
https://www.vmware.com/kr/topics/glossary/content/business-continuity-plan.html

 

What is a Business Continuity Plan (BCP)? | VMware Glossary

A Business Continuity Plan (BCP) is a detailed strategy and set of systems for ensuring an organization’s ability to prevent or rapidly recover from a significant disruption to its operations.

www.vmware.com

https://ko.wikipedia.org/wiki/6_%EC%8B%9C%EA%B7%B8%EB%A7%88#%EA%B0%81%EC%A3%BC

 

6 시그마 - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. 6 시그마 6 시그마(6σ)는 기업에서 전략적으로 완벽에 가까운 제품이나 서비스를 개발하고 제공하려는 목적으로 정립된 품질 경영 기법 또는 철학으로서, 기업

ko.wikipedia.org