프로젝트: 한국수력원자력 ERP 고도화 프로젝트

경영관리분야 ERP 전환 개발, BSC 성과지표 고도화

img

프로젝트 기획 동기

2023년 1월부터 2024년 2월까지 약 1년동안 한국수력원자력 경영관리분야 ERP 고도화 프로젝트에 참여했습니다. 저는 해당 프로젝트에서 개발 및 프로젝트 관리 업무를 수행했으며, ERP 중에서도 BSC 성과지표 파트에 참여했습니다.

사용한 기술

투비소프트에서 개발한 로우코드 프론트 프레임워크

기능 소개

1. 개발

JSP로 개발된 레거시 시스템을 넥사크로 프레임워크로 고도화하는 업무를 수행하였습니다. 저는 BSC 성과지표 시스템의 설문조사 및 전자공청회 파트 개발을 담당하였으며, 오라클에서 실행되는 JOB 및 프로시저의 역할을 분석하고 이를 문서화하는 작업을 진행하였습니다. 해당 시스템은 1000FP가 넘는 대규모 프로젝트였으나, 오랜 기간 운영되면서 많은 문서가 유실되어 기존 자료만으로는 개발이 어려운 상황이었습니다. 이에 직접 서비스를 사용하고 코드를 면밀히 분석하여 작동 원리를 파악한 후, 고도화 작업을 진행하였습니다.

2. 프로젝트 관리

저는 해당 프로젝트에서 공정관리 및 인력관리, 그리고 의사소통 관리 업무를 담당하였습니다. Oracle사의 Primavera P6 및 CPM 기법을 활용하여 프로젝트 공정을 관리하였으며, WBS를 등록하고 매주 진행 상황을 점검한 뒤, 프로젝트의 진행률을 고객사에 보고하는 역할을 수행하였습니다.

의사소통 관리 측면에서는 주간 및 월간 회의에 참여하여 회의록을 작성하고, 회의에서 논의된 이슈를 점검한 후 진행 상황을 위험관리 담당자에게 보고하였습니다. 또한, Redmine을 서버에 구축 및 운영하여 4개의 컨소시엄과 5개의 하도급사가 원활하게 소통할 수 있도록 지원하였습니다.

어려웠던 점

1. 동적으로 만드는 설문조사 페이지

아시다시피, 넥사크로는 레이아웃이 고정된 페이지에서 강점을 발휘합니다. 그러나 설문조사 페이지는 사용자 입력에 따라 동적으로 화면을 구성해야 하는 기능을 포함하고 있어, 넥사크로 환경에서는 구현이 상당히 까다로웠습니다.

그 이유는 React나 Vue처럼 컴포넌트 기반으로 화면을 구성할 수 없고, 순수 자바스크립트를 사용하여 동적으로 요소를 생성해야 했기 때문입니다. 또한, flex나 mx-auto와 같은 자동 정렬 기능이 없어, 모든 요소의 위치를 직접 지정해야 했습니다. 예를 들어, 라디오 버튼이 2개일 때와 6개일 때 각각 몇 줄로 배치할지 등을 일일이 고려해야 했으며, 이러한 다양한 분기를 직접 구현해야 했기에 상당한 난이도가 있었습니다.

2. 다양한 상태 처리

설문조사에는 매우 다양한 상태가 존재했으며, 이를 모두 처리하는 것이 쉽지만은 않았습니다. 예를 들어, 관리자, 일반 사용자, 담당자 등 역할(Role)에 따라 각기 다른 권한을 부여해야 했습니다.

또한, 설문이 준비 중, 진행 중, 완료됨과 같은 여러 상태를 가질 수 있었기 때문에, 역할과 상태를 조합하면 총 3×3의 경우의 수가 발생했습니다. 각각의 상황에 맞춰 적절한 처리를 수행해야 했기에, 다양한 상태를 고려하는 것이 큰 도전 과제였습니다.

이미지

링크