SI는 System Integration의 약자로 시스템을 새로 구축하는 사업을 말한다. 오늘은 SI 사업을 하면서 어떤 것을 신경 쓰면서 개발을 해야 하는지 과정에 대해 한 번 정리하려 한다. (개발자 관점에서 작성하는 것이다.)
1. SI 프로젝트 진행과정
1) 사업 물색
나라장터에서 프로젝트를 찾은 후 입찰을 통해 낙찰은 받으면 사업을 시작하게 된다. (다른 경로가 있는진 모르겠다.)
이때 제안서를 작성하여 제출하고 어떻게 프로젝트 사업을 완수할 것인지 발표도 한다고 알고있다.
2) 요구사항 분석 후 협의
낙찰이되면 회의를 통해 고객의 요구사항을 분석 후 개발 가능한 범위에서 협의를 하여 진행한다. 대부분 고객들은 IT에대한 지식이 많지 않은 경우가 많다. 그래서 정확하게 원하는 화면에 대한 설명을 못하기 때문에 협의가 늦어지고 개발시간이 줄어 개발자들이 야근을 많이하게 된다.
(* 회의는 보통 매주 목요일 마다 하고 PM과 PL들이 대부분 참석한다.
간혹 작은 회사들은 PM, PL이 프로젝트를 여러개 운영하는 경우가 많기 때문에 사원, 대리가 참석하는 경우도 있다.)
3) 화면 설계 후 화면정의서 작성
요구사항에 대한 협의가 되면 화면정의서를 작성한다. 화면정의서는 보통 기획자가 작성하지만 없는 경우 PM, PL 또는 개발자가 직접 작성하는 경우도 있다.
4) 비즈니스 개발 시작
화면정의서를 바탕으로 개발을 시작한다. 화면정의서를 개발자가 직접 작성한 게 아니라면 개발하기 불가능하거나 개발자 역량으로는 힘들거나 공수가 많이 들 수 있다. 이때는 기술에 대한 가능 여부를 논의하여 조정이 필요하다.
5) 감리
비즈니스 개발이 완료되면 감리기간을 거쳐 제대로 개발이 되었는 지 확인을 받는다. 하지만 개발이 완료되지 않거나 기능적 이상이 있는 경우 감리기간 종료전까지 조치하면 문제없이 처리해준다.
6) 하자보수
하자보수 기간도 사업이 종료되었다고 보면 된다. 하지만 프로젝트에 기능이 정상적으로 되어야 되는데 안되는 경우 한해서만 조치를 해주어야 한다.
7) 사업종료
하자보수까지 완료하였다면 사업은 끝난다.
2. 개발자가 무사히 프로젝트를 완수하려면 어떻게 해야할까?
내가 갑자기 SI 사업 진행 과정에 대해 정리한 이유가 SI 사업을 하면 꼭 개발자들은 야근을 많이 하기 때문에 최대한 야근을 안하고 일을 무사히 완수 하려면 어떻게 해야될 지 고민했기 때문이다.
분석, 설계가 지연되는 경우가 많아 개발시간이 줄어드는 경우가 많다. 예를 들어 프로젝트 기간이 6개월일 때 분석, 설계만 3개월을 한 경우도 있었다. 게다가 매주 회의를 하기 때문에 화면을 추가 요청하거나 아예 뒤집는 경우도 발생한다. 그럼 개발자들은 야근을 피할 수 없어지는 것이다.
심지어 코어단 개발을 미리하지 않으면 더 고통스러워 진다. 그렇기 때문에 요구사항을 분석, 설계 할 때 기본적으로 제공해야하는 기능들은 미리 구현하는 게 좋다.
※ 스프링 기준
1) 스프링 시큐리티 로그인
2) 스프링 시큐리티 메뉴 권한
3) 시큐어 코딩
- jsp에서 ${} 사용 시 jstl <c:out> 태그를 사용해야하는 것 등
4) 웹 접근성 및 웹 표준 준비
- 검사 사이트(https://validator.w3.org/)
※ 관리자 사이트
1) 사용자 관리
2) 메뉴 관리
3) 로그 관리( 로그인 로그, 화면 접속 로그 등 )
4) 공통코드 관리
5) 게시판(공지사항) 관리
'자유게시판' 카테고리의 다른 글
[개발일기] 5년차 개발자의 2023년 회고(부제: 2023년 내가 배운 것들) (11) | 2023.12.21 |
---|---|
[개발 일기] 모두가 적극적으로 기록과 공유를 해야 합니다. (0) | 2023.08.17 |
개발일기 ] 애플리케이션 개발 아이디어 (0) | 2022.10.05 |
개발일기] 카카오페이 사전과제 후기 (0) | 2022.10.01 |
개발일기 ] 내가 퇴사하려는 이유 (0) | 2022.09.26 |