일본취업 IT개발자의 업무
일본취업 IT개발자의 업무 과정은 우리나라와 일본은 비슷하다. 한국 IT개발자의 경우, 일본어 능력이 가능한 개발자는 상세설계부터 맡고, 회화는 서툴러도 상세설계서 문장을 보고 이해할 수 있는 외국 IT개발자들은 주로 코딩 역할을 맡는다.
IT개발 애자일(Agile) 방법론
애자일 방법론이 대두된 배경에는 Y2K 프로젝트가 한몫했다고 볼 수 있다.
2000년 두 자리 연도대응을 위한 Y2K 프로젝트에는 세계적으로 많은 기업과 기관에서 개발비를 투자했었다. 하지만 당초 염려와는 달리 프로젝트 투자 규모에 관계없이 큰 문제없이 넘어갔다. 결국 과잉 프로젝트 투자였다는 분위기가 형성되면서 애자일 방법론이 대두된 것이다.
2016년 세 번째 일본취업은 일본 대기업 통신회사였다. 모바일 하이브리드 어플 업그레이드 프로젝트였는데 애자일 개발 분위기로 진행되어 문제없이 마무리가 되었다. 예전보다 설계 기간은 생략되었지만 기본설계에서 최종테스트까지 과정 자체는 생략되지 않았다.
이에 설계에서부터 테스트 과정 및 프로젝트 완료까지를 정리하면 다음과 같다.
프로젝트 계획 및 정의
고객의 요구사항을 수집하여 목표 및 기능에 대한 프로젝트 범위를 명확히 한다. 특히 용어 및 코딩규칙을 표준화한다.
시스템 설계
전산 구축 및 구성 요소에 대한 상호 작용을 포함한 전체 시스템 아키텍처를 정의한다. 데이터베이스 설계와 사용자 인터페이스 (UI) 디자인을 확정한다.
상세 설계서
흔히들 일본에서는 사양서(仕樣書)라고 불린다. 애자일 방법론에서 가장 단축된 과정이었는데 서술보다는 표와 도형을 이용한 설계 형식으로 간략화되었다. 한국 IT개발자가 일본취업을 하면 대체적으로 상세 설계 프로젝트부터 참가를 한다. 외국인 개발자는 개발 능력뿐만이 아니라 일본어 능력도 필요하다.
코딩
상세 설계서에 따라 프로그램 모듈별로 소스코드를 입력한다. 일본어 회화는 서툴러도 문장을 보고 코딩 내용을 이해할 수 있는 외국 IT개발자들이 주로 코더 역할을 맡는다.
시험 항목표 작성
모듈별 코딩이 끝나면 소스코드의 품질 및 잠재적인 문제 식별을 위한 단위 및 통합 검수를 위한 시험 항목표를 작성한다. 사용자의 입력 경우의 수를 예측하여 시험 항목표를 만드는데, 입력 오류에 따른 에러 경우의 항목도 작성한다.
단위 테스트
상세 설계자에게 프로그램 모듈별로 작동하는지 확인하는 단위 테스트를 수행한다. 오류에 따른 컴플레인이 가장 많은 과정이다. 코딩 규칙과 코멘트까지 테스트하며, 특히 입력 오류에 따른 에러 처리 및 에러 메시지를 주의 깊게 체크한다. 참고로 외국인 IT개발자는 이때 일본어 회화 능력이 필요하다.
통합 테스트
일명 ‘혼방테스트(本番TEST)’라고 한다. 단위 테스트에 통과하면 개별 구성 요소 또는 모듈을 결합하여 상호 작용을 테스트한다. 전체 시스템과 연동하여 설계서 요구사항을 충족시키는지 확인한다. 이때는 현업에서 실제 사용자를 참여시켜 테스트를 하기에 철야를 하는 경우가 많다.
품질 보증 (QA)
(1)버그 수정: 식별된 버그나 문제를 해결하고 수정한다.
(2)성능 테스트: 다양한 조건에서 프로그램의 성능을 평가한다.
(3)보안 테스트: 프로그램의 보안 기능과 취약점을 평가한다.
(4)문서 작성:사용자 매뉴얼 및 유지보수를 위한 문서를 작성한다.
프로젝트 계획부터 통합테스트까지 진행되는 과정은 한 번에 끝나는 경우는 드물다. 당초 설계서에 누락된 부분이나 오류는 재설계를 하고 코딩과 테스트 과정을 재차 반복한다. 이러한 반복 과정이 적어야 성공한 프로젝트가 된다.