SI는 기업이 필요로 하는 정보시스템에 관한 기획에서부터 개발과 구축 및 운영까지의 모든 서비스를 제공하는 업무 기업에서 사용할 프로그램을 구축하는 업무이다.
- 요구사항 분석, 분석 및 설계, 테스트, 검수
- 프로젝트 단위로 진행되며, 주로 프로젝트를 진행하며 팀이 구성되고 개발환경과 개발 언어 등 모두 결정된다.
1 단계 분석 : 고객의 요구 사항을 수집하는 단계
2 단계 설계 : 개발 가능한 형태로 설계하는 단계
3 단계 개발 : 분석, 설계를 통해 정해진 규격으로 프로그램을 구축하는 단계
4 단계 테스트 : 완성된 프로그램을 테스트하고 안정화하는 단계
5 단계 검수 : 계약대로 결과물이 구축되었는지 확인하고 인증받는 단계
SM은 시스템의 기능상의 오류가 발생하거나, 현재 구축된 프로그램의 기능을 변경 혹은 추가 하는등의 실제 현업에서 업무를 담당하는 사람들이 시스템을 편리하고 안정적으로 사용할 수 있도록 지원하는 업무이다.
- 오류 수정, 기능 개선, 기능 추가, 데이터 제공, 시스템 안정화
- SI를 통해 개발된 프로젝트를 유지보수 하는 것
- 현업의 업무지식에 특화되며, 예를들어 금융 시스템의 SM을 담당한다면 자연스레 개발자도 개발 이외의 금융 지식에 대해 쌓이게될 것이다.
- 프로젝트 단위가 아니어서 한 시스템을 장기적으로 담당하는 경우가 많다.
1. 오류 수정 : 시스템 오류를 수정
2. 기능 개선 : 기능을 수정하거나 불편 요소를 개선
3. 기능 추가 : 필요한 기능을 추가 개발
4. 데이터 제공 : 요구하는 데이터를 DB에서 추출
5. 시스템 안정화 : 시스템 운영을 위한 최적화
PM은 모든 업무를 관리하는 총괄자이다. 외부 팀과 커뮤니케이션을 담당하고 의견을 조율하는 담당자라고 할 수 있다.
PL은 PM을 도와 프로젝트의 관리를 담당한다. 개발, 화면설계와 일정관리등의 관리 능력, DB와 WAS등의 고급기술, 커뮤니케이션을 통해 구체적인 요구사항을 분석하고 화면을 설계하여 자신이 관리하는 개발자들이 실제 개발을 진행할 수 있도록 가이드하고 관리한다.
AA는 비즈니스 프로세스 설계를 바탕으로 실제 사용할 수 있는 ERP 등과 같은 IT 솔루션을 설계하는 역할을 한다.
TA는 운영체제(OS), WEB, WAS, DB 설치 등 하드웨어와 네트워크의 구축을 담당하는 담당자이다.
DA는 데이터 표준, 구조, 품질, 마이그레이션 등을 설계하는 DB 설계자이다.
QA는 산출물과 각종 문서와 소스코드에 대한 품질을 보증하는 담당자이다.
EA 또는 BA는 기술적 관점이 아닌 비즈니스 관점의 프로세스 설계자이다.
SA는 프로젝트나 어떠한 비즈니스 요구사항에 따라 개발환경과 같은 솔루션에 대한 설계를 담당하는 담당자이다. EA 설계자는 넓은 지식을 가지고 있다면 SA담당자는 깊은 지식을 보유하고 있다.
※ 개발자(Developer)는 프로젝트 최 하단에서 실제 개발을 진행한다.
ERP는 전사적자원관리시스템 또는 전사적통합시스템이다. 생산 및 물류, 재무, 영업 및 구매, 회계, 재고 등 경영에서 필요한 모든 프로세스 들을 통합적으로 관리하는 시스템이다. 기업 정보를 통합적으로 관리하여 각 정보를 빠르게 분석해 의사결정을 내릴 수 있는 장점이 있다.
MES는 제조실행시스템이다. 제품의 주문 단계에서 완성 단계까지 모든 생산 활동의 최적화를 지원하여 실시간으로 정확한 데이터를 이용해 공장 내에 존재하는 모든 작업 활동을 가이드하는 등 착수 및 보고한다. 때문에 공정의 효율화를 높여주는 등의 장점이 있다.
ERP와 MES 두 시스템 모두 데이터를 취합하고 처리한다는 공통점이 있지만 데이터 수집 및 처리 시점의 차이가 있다. MES는 실시간으로 데이터를 처리하지만 ERP는 완료 후 결과만을 처리한다.
MES는 실시간으로 현장 상태의 정보를 제공하여 작업자의 이사결정을 지원하는 기능을 수행, 공정관리, 자원관리 등 실질적 생산에 관련된 관리시스템에 가깝다. 실시간으로 데이터를 수집하고 관리하여 불량이 발생하더라도 추적이 가능하고 불량이 발생하지 않도록 관리가 가능한 시스템이지만,
ERP는 경영시스템 구축에 최적화된 시스탬으로 영업정보와 구매 및 인사 등의 영역에서 활용이 가능하다. 또한, ERP는 완료에 대한 결과를 확인하기 때문에 어느 과정에서 불량이 발생한건지 추적이 어렵고 이와 관련된 조치를 취할 수 없어 불량률 감소보다는 오히려 더 많은 불량이 발생할 수도 있다.
※ 이 두 시스템은 종종 통합되어 사용되어, 기업이 생산성을 향상시키고 자원을 효율적으로 활용할 수 있도록 지원한다.
※ 참고만 하기
- 🎨 1. 프로젝트 전체 일정 작성
프로젝트 전체 일정에 대해서 사전 계획을 진행한다. 개발의 상세 일정이나 투입인력 등의 수준에서 정리한다.
- 🎨 2. 착수보고
프로젝트 착수를 위한 보고이다. 해야하는 프로젝트 착수에 대한 보고를 간결하고 명확하게 해야한다.
- 🎨 3. 기능 요건 정리
SI 작업을 위한 중심 기능들의 요건을 정리한다. 없어서는 안될 기능들과 기능들을 빠짐없이 정리한다.
- 🎨 4. 프로세스 정리
기능 요건 정리에서 정의된 기능들이 실제 어떠한 업무 프로세스를 갖게 될지 프로세스의 흐름을 정리한다. 기능 구현의 순서를 파악하고, 빠져있는 요구사항들에 대해 상세하게 발견해 나간다.
- 🎨5. 요구 사항 분석
기능 요건 정리 및 프로세스 정리된 내용을 기초로 하여 상세한 요구 사항을 분석한다. 기능 하나에 포함되고 구형되어야 할 요구 사항들을 상세 분석을 통해 리스트화 해나간다.
- 🎨 6. 분석/설계
분석된 내용을 기반으로 프로그램을 설계한다. 스토리 보드의 초안까지 정리되는 단계로서 SI에서는 가장 중요한 단계이다.
- 🎨 7. 스토리보드(화면레이아웃)
분석된 내용에 대한 화면 단위의 설계서(스토리보드)를 작성한다. 화면 또는 기능에 대한 상세가 정리 되어야 한다.
- 🎨 8. 개발 상세 일정 작성
화면 단위의 상세 일정을 계획한다.
- 🎨 9. 1차 조정
완성된 개발 상세 일정을 보고 판단되는 리스크에 대한 조정을 한다. 개발 상세 일정 작성 후 전반적인 프로젝트 진행의 위기 요소들을 판단하고 이에 대한 보완, 조정한다.
- 🎨 10. TFT 전체 보고
개발에 주력이 되는 현업 TFT에 대한 전체 보고를 진행한다. 본격적인 개발이 진행되기 전에 프로젝트 진행에 대한 상세한 내용을 보고한다.
- 🎨 11. 개발 진행 관리
개발 상세 일정에 따른 개발을 진행한다.
- 🎨 12. 개발 산출물 작성
개발 진행중 작성되어져야 할 산출물을 작성한다. ex) 테이블 명세서, 프로그램 사양서, 프로그램 정의서, 화면 정의서 등
- 🎨 13. 변경 관리 TFT
프로젝트 진행 중 요구 사항 변경에 대한 변경관리한다. 현업의 요구 사항은 모두 회의록에 상세 기록해야 한다.
- 🎨 14. 중간보고
프로젝트 진행에 대한 중간 보고이다. 현업의 중간 관리자급 이상의 관리자가 참석하는 가운데 진행되는 프로젝트 진행에 대한 중간 보고이다.
※ 이밖에도 단위 테스트, 성능 테스트, 운영 테스트 오픈 등이 있지만 밑에 SI 프로젝트 진행 절차 링크에서 더욱 자세하게 확인할 수 있으니 참고
※ TFT(Task Force Team)는 새로운 프로젝트를 추진시 회사에서 선발된 사람들을 의미한다. 임시 팀을 이루어 운영되다가 그일을 마치게 되면 본래의 임무로 돌아간다.