대기업 프로젝트에 TA로 참여하게 됐다.

어찌 어찌 하다가 외국계회사를 관두고 백수생활을 하다가 대기업 프로젝트에 TA로 참여하게 됐다.


문제는 TA 경험이 없다는 것이다. 아니 좀 더 정확하게 말하면 TA경험이 없다는 것이 아니라 SI 특히나 대기업에서의 TA 경험이 없다는 것이다. 그들이 원하는 방법이 무엇인지에 대한 것이다. 


TA, Technical Archtecture 에 대한 정의는 매우 다양하다. 공통적이 부분이라면 시스템적인 요소를 많이 알아야 하고 그와 더블어 개발적인 요소도 많이 알아야 한다는 것이다. 이와 더블어서 업무에 대한 정의부터 시작해서 분석과 설계 테스팅 그리고 비용산정과 문서화까지 폭넓게 해야 한다. 


오늘 출근하고 나서 아직 업무환경도 구축되지 않았는데, 더군다나 어떤 프로젝트인지에 대해서 인지도 하기전에 PM이 와서 일정을 내놓으라고 하니 황당하기만 했다. PM은 정규직이고 나는 계약직이라는 직급체계속에 놓이다보니 뭐라 항변도 할수 없는 상황이 된다. PM이 얼마나 급했으면 얼굴보자마자 이러는건지 더군다나 이곳에서 원하는 방법이 무엇인지도 모르는 상황에서 일정을 내놓으라고 하니 원래 이렇게 일하는가 싶기도 했다. 좀 황당한 표정이 잃혔는지 PM이 한마디..


TA 많이 해보지 않으셨어요?


어떤 프로젝트인지도 모르고 사람들이 누가 누구인지도 모르는 상황에서 이런말을 들으니 걱정이 앞선다. 보통 아키텍트의 기본은 일하는 환경을 구축하고 사람과의 커뮤니테이션 구축이 우선인데도 처음보자마자 '일정 주세요' 한다는게 그전까지는 대체 어떻게 일을 했다는 걸까 싶다..



일단 TA 로서 해야할 일은 다음과 같다. PM이 말로는


-요구사항 정의

-분석

-설계

-구축

-테스팅

-문서화 및 이관



이것에 대한 카테고리들을 좀 더 세분화 하면 대충 다음과 같은 것들이 있다.


1.요구사항 정의

  - 현행 기술 환경 문서화(기 구축된 환경 기술들 문서화)

  - 현행/계획된 운영 측면의 작업량 검토

  - 프로젝트 정의

  - 프로젝트 방향성 도출

  - 프로젝트 범위 선정


  - 설계대상 도출

  - (기술) 요구사항 정의


  - 기술적 포지션 평가

      - 프로그래밍, 환경 정의  <-- 비지니스 아케텍트 혹은 소프트웨어 아키텍트가 하는 경우가 많다.

  - 팀 빌드, 업무환경 구축

  - 프로젝트 수케줄 수립



2. 분석

  - 원칙 및 정책 분석

  - 기술 동향 분석

         - 어플리케이션 요구사항 분석 <- 소프트웨어 아키텍트가 하는 경우가 많다.

  - 시스템 요구사항 분석

  - 기술적 요구사항 분석

  - 보안적 요구사항 분석(물리, OS, 애플리케이션)

  - 성과 및 품질 요구사항 분석


  - 설계 대상 도출

  - 기술적 요구사항에 대한 문서화



3. 설계

  - 사용할 기술 구조 결정(하드웨어, 네트워크, 랙, Cloud 등등)

  - 24x386 전략 설계 <- AWS Cloud 기술로 크게 비용이 줄었다. 

  - 개발 배포 전략 설계

  - 플랫폼 구축 설계(OS, 애플리케이션, 디비, 메시징등등)

  - 관리 플랫폼 설계

  - 외부 연동 인터페이스 방안 설계

  - 테스팅, 성능 품질 측정 설계



  - 개발, 스테이징 배포 설계

  - 보안 설계


  - 구축 비용 조사

  - 원칙, 정책 수립 검토 작성

  - 설계 문서화.


4. 구축

  - 개발환경 구축 dev, stg

  - 실행환경 구축 prod

  - 운형환경 구축 maintainance



5. 테스팅

  - 애플리케이션 성능 테스팅(처리량, 리소스 소모비용, 동접자등등)

  - 시스템 품질 테스팅 (성능, 신뢰성, 가용성, 보안 등등) <-AWS 를 사용할 경우에 성능, 보안이 큰 부분을 차지.

  - 운영환경 효율성, 가용성 테스팅


  - 보완 및 개선

  - 플랫폼 재정의 및 구축


6. 이행계획

  



참고

http://zetawiki.com/wiki/테크니컬_아키텍트


TA는 비지니스 요건을 매우 잘 이해해야 한다. 그러기 위해서는 프로젝트의 성격과 방향 구성요소등 매우 심도있게 이해하고 있어야 한다. 한마디로 프로젝트에 대한 공부가 필수다. 이것 없이는 프로젝트가 성공할 수가 없다.