임베디드 SW 개발 프로세스라 일컫는 분야의 기본적 이해를 위한 포스팅이다. 직접 작성한 강의 교재 내용을 기반으로 내용을 채워 봤다.
1. 개요
■ 공학(Engineering)의 의미
-사용자의 요구사항에 맞추어 저비용, 고품질의 제품을 정해진 기간 내에 개발하는 일련의 과정
■ SW 공학(Software Engineering)의 목적
-프로젝트 기간 동안 주어진 시간과 비용, 자원의 범위 내에서 고 품질의 소프트웨어를 생산하는 것
■ SW 공학(Software Engineering)에 대한 역사적 견해
-Bauer(1972): 컴퓨터 하드웨어에서 신뢰성 있게 운용되는 소프트웨어를 경제성 있게 개발하기 위해 공학적 원리를 응용하고 확립시킨 이론
-Boehm(1976, Science): 컴퓨터 프로그램을 설계하고 개발하며, 개발/운용/유지보수에 관련된 문서를 작성하는 데 필요한 과학적인 지식을 실제로 적용하는 것
-IEEE(1983, Systematic Approach): 소프트웨어를 개발하고, 운영하며, 유지 보수하고,폐기하기 까지의 과정에 적용되는 시스템적 접근 방안
■ 프로세스(Process)의 의미
- 의도한 형태의 결과물을 얻기 위한 활동(Activities), 제약 조건(Constraints) 및 자원(Resources)을 포함하는 일련의 과정
- 품질 안정적인 제품을 만들기 위해 도구와 기법들을 겹 합하는 구조화된 방법
- 제품 생산을 위해 계획된 절차(Procedures)의 집합
[프로세스의 구성요소]
1. 목적, 2. Input / Output, 3. 목적 달성을 위한 흐름(절차)
[프로세스 4대 특징]
1.Explainable (설명 가능): 목적과 구성활동을 설명하여 평가기준, 지표 등이 명확하다.
2.Repeatable (반복성): 다수 수행 시에도 오차 범위 내에서 일정 수준의 품질을 확보한다.
3.Measurable (측정 가능): 정량적으로 측정하고 그 결과를 분석 가능하다.
4.Predictable (결과 예측): 일정한 Input에 대한 일정한 Output을 기대 가능하다.
2. SW 개발 프로세스 구성
■ SW 개발 프로세스의 기본 구성 요소
- People: Performance, Training
- Process: Procedures, Guidelines
- Technology: Tools, Methodology, Techniques
■ 잠재적인 문제점 in People
신입 사원의 저조한 개발 능력과 HW 중심의 개발 환경에 따른 SW 개발자의 사기 저하, 인력 퇴사로 인한 효과적인 지식 축적의 부족이 잠재적인 문제가 된다.
일반적인 SW 개발자의 애로 사항은 다음과 같다.
- SW 개발에 대한 조직의 낮은 관심도
- 선배 개발자와 후배 개발자 간 SW 개발(코딩)에 대한 다른 성향으로 인한 불협 화음
- 비전을 제시할 수 없는 커리어
- 열악한 근무 환경 (9 to 9)
■ 해법 (Resolution)
품질 조직(담당자)의 구성, 교육 훈련의 체계적 프로그램 구축, 프로세스 개선을 통해 기술적 전문가 커리어 트랙 제공, 코더(coder)가 아닌 SW 공학 전문가 양성, 조직 차원의 SW 중요성 강조 문화 형성
■ 잠재적인 문제점 in Technology
- 실제 개발 환경에 적합하지 않은 SW 공학적 기법/방법론의 적용
- CASE(Computer Aided Software Engineering) Tool의 부족
- 업무 표준의 부재
- 재사용할 수 없는 개발 업무 활동
■ 해법 (Resolution)
업무 표준의 구축 및 달성, 단계적인 SW 공학 기법 및 도구의 축적
■ 잠재적인 문제점 in Process
- 프로젝트 수행에 있어 1회성 업무 활동의 적용 (프로세스의 부재)
- 눈앞의 매출액에만 집중하는 조직 문화
- 관리자의 프로세스에 대한 이해 부족
- 프로세스 개선 활동에 대한 낮은 관심, 낮은 동기 부여
- 관리를 위한 관리
- 내 업무를 방해하고 일을 과중시키는 부가 업무로 인식
■ 해법 (Resolution)
- 조직 수준에서 프로세스 개선 모델의 축적: SPICE, A-SPICE, CMMI 등
- 프로세스 개선 노력에 대한 성과 보상: 팀 단위, 개인 단위 보상 체계 운영
■ 프로세스 조정 (Tailoring)
프로세스란 조직이 입는 옷과 같다. 아무리 좋은 프로세스라도 조직에 맞지 않으면 그 효과를 발휘할 수 없다. 많은 조직에서, 좋지만 맞지 않는 절차나 표준들을 적용하다가 실제 정착이 안 되는 경우가 많다. 잘못된 프로세스는 조직의 생산성과 역량을 저해하는 요소가 된다. 도메인에 따라 프로세스는 확연하게 다를 수밖에 없다. 조직의 특성을 가장 잘 이해할 수 있는 것은 바로 실무자들과의 접촉을 통한 현황 파악이 필수적이다.
'IT 각종 공부' 카테고리의 다른 글
Defect 원인 분석 (Causal Analysis)의 이론과 전략 -02 (0) | 2021.09.06 |
---|---|
Defect 원인 분석 (Causal Analysis)의 이론과 전략 -01 (0) | 2021.09.05 |
소프트웨어 테스트 (Software test) - 2편 (0) | 2021.09.03 |
소프트웨어 테스트 (Software test) (0) | 2021.09.02 |
안전 분석 (Safety analysis) - ISO 26262 (0) | 2021.09.01 |
댓글