29. 2017년 활동 목표

  1. 공통모듈 정제 및 사용 비율 확대를 통한 산출물 생성 일정 단축 및 품질 안정성 확보
  2. 공통모듈 사용 피드백 모으기
    • 하반기 구현 중, 구현 예정 과제가 대상

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건의 피드백 수집
  • 공통모듈 사용 피드백 모으기

31. 2018년 예상 활동 목표

No.목표선정 이유
1C++/C# 공통모듈 사용 피드백 수집
  • 공통모듈의 활용성 확인 및 정제를 위한 근거자료 수집
    • 2017년 하반기에 시작한 피드백 수집을 계속 이어서 진행
2C++ API 작성
  • C++ 공통모듈 활용성 증대
    • C++ 의 경우, C# 과 달리 API 를 검색할 수 있는 페이지의 부재로 인해 어떤 공통모듈이 있는지 알기 어려움
      • 과거 원노트에 정리한 이후에 검색 방법을 변경하지 않았음
      • 원노트는 현재 관리되고 있지 않고 원노트에 정리된 내용은 현재 C++ 공통모듈 버전과 동일하지 않음
3JAVA 공통모듈 생성
  • 정지궤도 과제에서 JAVA 코드를 사용하고 있음
  • 공통모듈로 관리되고 있지 않기에 비슷한 기능을 수행하는 다수의 코드가 존재할 것으로 예상
  • 반드시 공통모듈화 해야 하는 코드에 대해서만 공통모듈 생성
    • 일반 유틸에 해당하는 코드를 추가하는 것은 최대한 지양

32. 소회

No.내용이유/대안
12017년 목표를 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