소프트웨어 원격지 개발의 개요
소프트웨어 원격지 개발의 정의
클라우드 개발환경의 발전으로 고부가 가치를 가진 소프트웨어 인재들의 경력 단절을 해소, 산업 전반 생산성 향상을 위한 방안
소프트웨어 원격지 개발의 필요성
- 선진국의 사회구조는 정보기술을 통한 고부가가치 지식사회
- 지식사회의 근간이 정보기술의 발전에 크게 의존
- 많은 노력을 들여 확보한 지식근로자가 여러 이유로 업무 연속성을 가지지 못하는 경우가 많음
- 소프트웨어 개발조직에서 작업공간 근무자를 선호하여 고급 인력의 경력 단절 존재
소프트웨어 원격지 개발의 생산 활동
소프트웨어 개발 프로세스
프로세스 |
단계 |
구성요소 |
Work Item |
요구사항 |
짧고 간결한 제목, 전달력 있는 명세, 구현 후 검토 항목, 작성 근거 |
Refine |
설계 |
ERD, IPO 상세화, 검증 목록 |
Coding |
구현 |
구현된 산출물, 빌드 스크립트, 동작 확인 코드 |
Review |
테스트 |
체크리스트, 테스트 스크립트 |
Release |
품질 보증 |
품질 보고서, 검수 확인서 |
소프트웨어 단계별 작업내용
단계 |
상세 설명 |
방법 |
요구사항 파악 |
개발 가능 여부, 사업성 검토 |
현장방문, 인터뷰 |
설계 |
처리 방안 구체화, 소프트웨어 디자인 |
ERD, 블록 다이어그램 |
구현 |
설계 내용에 충실하게 코드 이행 단계 |
원격지 개발, Runtime 표준화 |
테스트 |
구현된 산출물의 요구사항/설계 이행 수준 확인 |
반복 검증 |
운영 |
충분한 테스트 이후 실행본 전달되고 운영 |
헬프 데스크 |
클라우드 기반 소프트웨어 개발 환경 분석
클라우드 개발 환경에 대한 평가항목
평가 항목 |
상세 설명 |
Cloud Features |
제공되는 서버의 성능이나 확장성이 충분한가? |
Supported Domains |
서버, 컴파일러, 편집기 등 제공되는 개발환경이 지원하는 소프트웨어 종류는 어떤 것인가? |
Open System |
개방형으로 구성되어 세부사항을 확인하여 오류에 대처할 수 있는가? 새로운 기능의 추가가 자유로운가? |
Usability |
사용하기에 편리한가? 프로그래머에게 불편을 주지 않고 활용 가능한가? |
Database Support |
서버에 데이터베이스를 설치하고 관리할 수 있는가? |
Mashable |
외부 프로그램이나 서비스와 연계 가능한가? |
Language Support |
지원하는 프로그래밍 언어에 제약은 없는가? |
Extensible to Professional Development |
사용 서비스를 운영하는데 제약은 없는가? |
Support |
서비스 제공자가 고객에게 충분하고 신속한 서비스를 제공하는가? |
Security/Availability |
사용 서비스 제공에 필요한 네트워크 및 보안관련 서비스들이 제공되는가? |
클라우드 개발 환경의 개괄적 평가
- 사업성: 서비스를 통한 실제 사업 수행 가능성
- 기술의 비전: 클라우드 개발 환경을 제공하는 여부
- 소스 공개: 개발된 코드의 공개 의무 여부