Created by Han jaejoong (SI), last modified on 11월 30, 2017
29. 2017년 활동 목표
- 공통모듈 정제 및 사용 비율 확대를 통한 산출물 생성 일정 단축 및 품질 안정성 확보
- 공통모듈 사용 피드백 모으기
30. 2017년 활동 내역 및 성과
| No. | 활동 내역 및 성과 | 관련 목표 | 관련 자료 |
|---|
| 1 | - 32회 정기 회의 수행
- 주요 참석 인원
- 한재중, 신경철, 유재철
- 주성하, 황현덕, 장우림
| | |
| 2 | - Confluence 공통모듈 페이지 정리
- 공통모듈 사용 시, 역할에 따라 숙지해야 하는 페이지 명시
| | |
| 3 | - C# 기반 공통모듈 사용 현황 조사
- 조사 대상: 지상/방산 12개 과제
- 비사용 공통모듈 비율: 약 60%
- 사용자의 느낌이 아닌 실제 코드를 기반으로 사용율 확인
| - 공통모듈 정제 및 사용 비율 확대를 통한 산출물 생성 일정 단축 및 품질 안정성 확보
| |
| 4 | - C++, C# 테스트 코드 (성공 버전) 포함된 버전으로 업데이트 (v2.0.0)
- C# 의 경우, Orbit Propagator 를 포함시켜서 v2.1.0 으로 업데이트
| | |
| 5 | - C# API Confluence Page 생성 및 배포
| | |
| 6 | 공통모듈 사용 피드백 수집 시작 ( ~ )- 적용 과제 (개발 언어)
- 지상
- KSI15A (C#, C++)
- MAP (C#)
- MSS (C#)
- 방산
- ESM15A (전자광학, C#)
- New DRC Prototype (C#)
- WES17A (성층권 장기체공 무인기, C#/C++, 김건우 팀장)
- 보고 시점 (2017-11-30) 수집 현황
- C++: 2건의 피드백 수집
- C#: 11건의 피드백 수집
| | - C++ 피드백 정리 페이지
- C# 피드백 정리 페이지
|
31. 2018년 예상 활동 목표
| No. | 목표 | 선정 이유 |
|---|
| 1 | C++/C# 공통모듈 사용 피드백 수집 | - 공통모듈의 활용성 확인 및 정제를 위한 근거자료 수집
- 2017년 하반기에 시작한 피드백 수집을 계속 이어서 진행
|
| 2 | C++ API 작성 | - C++ 공통모듈 활용성 증대
- C++ 의 경우, C# 과 달리 API 를 검색할 수 있는 페이지의 부재로 인해 어떤 공통모듈이 있는지 알기 어려움
- 과거 원노트에 정리한 이후에 검색 방법을 변경하지 않았음
- 원노트는 현재 관리되고 있지 않고 원노트에 정리된 내용은 현재 C++ 공통모듈 버전과 동일하지 않음
|
| 3 | JAVA 공통모듈 생성 | - 정지궤도 과제에서 JAVA 코드를 사용하고 있음
- 공통모듈로 관리되고 있지 않기에 비슷한 기능을 수행하는 다수의 코드가 존재할 것으로 예상
- 반드시 공통모듈화 해야 하는 코드에 대해서만 공통모듈 생성
- 일반 유틸에 해당하는 코드를 추가하는 것은 최대한 지양
|
32. 소회
| No. | 내용 | 이유/대안 |
|---|
| 1 | 2017년 목표를 40% 정도 달성했다고 생각함 | - 공통모듈 사용 현황의 경우, C# 에 대해서만 조사를 수행했음
- 사용 비율 확대를 위해 Confluence 를 통해 API 페이지를 구성했지만 실제 얼마나 확대되었는지 파악하지 못했음
- 피드백 수집을 하반기에 시작했으나 수집된 피드백이 13건으로 충분하지 못하다고 판단함
- 1분기 당 구현 단계에 있는 과제 별로 10건 이상 되어야 한다고 생각함
|
| 2 | 공통모듈을 수집/관리/사용한 지 여러 해가 지났음에도 불구하고 아직도 활용도가 낮고 관리도 제대로 이루어지지 않았음 | - 지상/방산 사업부문의 구성원들이 공통모듈에 대한 관심이 많이 낮다고 느꼈음
- 공통모듈 담당자들과 PL 을 중심으로 꾸준히 사용 권장이 필요함
- 개발자들이 공통모듈 사용으로 인해 신뢰성 및 개발 효율성을 피부로 느끼는 횟수가 증가해야 함
- 현재 공통모듈 담당자들이 과거에 무슨 일이 있었는지 살펴보는데 소홀했음
- 과거 담당자들의 경우에는 공통모듈이 업데이트 된 내용에 대해서 친절하게 설명하지 않았음
- 2017년부터는 공통모듈 배포 버전을 아래의 Confluence 페이지에 기록하고 있음. 그에 따라, 관리적인 측면에서 누락되는 부분은 사라질 것으로 기대함
|
| 3 | 왜 공통모듈의 코드가 제대로 업데이트 되지 않을까? | - 공통모듈 코드를 업데이트 요청했을 때, 담당자가 특정 과제 진행으로 인해 여유가 없음
- 코드수정/테스트, API 문서 수정 등에 시간이 많이 소요됨
- 쉽지는 않겠지만 공통모듈을 관리하는 시간을 최우선순위로 인정해 줄 수 있는 환경 조성이 필요함
|
| 4 | 왜 특정 과제의 코드가 최신 코드일까? | - 모든 과제에서 공통모듈을 소스로 붙여서 사용하는 경우를 만들지 말아야 함
- 다른 과제(A)가 구현단계에서 해당 모듈이 필요할 때, 최신 모듈을 찾다보니 이전 과제(B)의 코드를 그대로 가져다가 사용함
- 여기에서 A 과제에서 B 과제의 코드를 또 수정하는 경우가 존재하며 그럴 때, 여러 버전의 공통모듈 코드가 생각버림
- 과제 종료 회의 할 때, 무조건! 공통모듈 사용/수정 내역을 파악하여 공통모듈을 업데이트 할 수 있도록 강제해야 함
|
| 5 | 공통모듈은 계속 관리되어야 할까? | - 계속 관리되어야 함
- 아직 공통모듈이 부족한 부분들이 있긴 하지만 못쓸 수준이 아님
- 꾸준히 사용/관리(개선, 추가, 삭제)가 필요함
- 2016년에도 몰라서 사용하지 못하고 과제 별로 별도의 시간을 들여서 다시 해당 코드를 구현하는 경우가 보였음
- 신뢰성/효율성을 아직 개발자/관리자들이 피부로 느끼지는 못하고 있음. 아직은 느끼기 보다는 느끼기 위한 확실한 준비를 해야하는 시점이라고 생각함
- JAVA 의 경우에는 필수 모듈에 대해서만 공통모듈화를 한다면 추후에 많이 활용될 것으로 기대함
- C++/C# 의 경우에는 Core 모듈에 대한 정제가 이루어지면 활용도가 증가될 것으로 기대함
|
33. 첨부파일 목록
| No. | 항목 이름 | 파일 이름 |
|---|
| 1 | 과제 별 C# 공통모듈 사용현황 조사 결과 | 공통모듈사용현황_20170511.xlsx |