KOSTA DAY44
Process
프로세스
일을 처리하는 과정 또는 순서
소프트웨어 개발에서의 주먹구구식 모델
- 공식적인 가이드라인이나 프로세스가 없는 개발방식
- 요구분석 명세서나 설계단계없이 간단한 기능만을 정리하여 개발하는 형태
- 일단 코드를 작성하여 제품을 만들어본 후에 요구분석, 설계, 유지보수에 대해 생각
- 주먹구구식 모델의 단점
- 정해진 개발 순서나 각 단계별로 문서화된 산출물이 없어 관리 및 유지보수가 어렵다.
- 프로젝트 전체 범위를 알 수 없을 뿐더러 좋은 아키텍처를 만들 수도 없다.
- 일을 효과적으로 나눠 개발할 수도 없으며, 프로젝트 진척 상황을 파악할 수 없다.
- 계속적 수정으로 인해 프로그램의 구조가 나빠져 수정이 매우 어려워진다.
선형 순차적 모델(water fall)
- 폭포수 모델의 장점
- 관리의 용이
- 체계적인 문서화
요구사항의 변화가 적은 프로젝트에 적합
- 폭포수 모델의 단점
- 각 단계는 앞 단계가 완료되어야 수행할 수 있다.
- 각 단계의 결과물이 완벽한 수준으로 작성되어야 다음 단계에 오류를 넘겨주지 않는다.
- 사용자가 중간에 가시적인 결과를 볼 수 없어 답답해할 수 있다.
V모델
- 폭포수 모델 + 테스트 단계 추가 확장
- 산출물 중심 vs 각 개발 단계를 검증하는데 초점
- 테스트단계에서 정확한 니즈가 확인이 안되며, 지나간 단계의 수정이 어려움
프로토 타입
미리 제작해보는 시제품, 제작물의 모형
- 정식 절차에 따라 완전한 소프트웨어를 만들기 전에 사용자의 요구를 받아 일단 모형을 만들고 이 모형을 사용자와 의사소통 하는 도구로 활용
- 비용 및 시간의 측면에서 부적합
통합 프로세스 모델(UP)
애자일 프로세스 모델
- 애자일(agile) : 날렵한, 민첩한
- 고객의 요구에 민첨하게 대응하고 그때그때 주어지는 문제를 풀어나가는 방법론
애자일의 기본가치(애자일 선언문)
- 프로세스와 도구 중심이 아닌, 개개인과의 상호 소통 중시
- 문서 중심이 아닌, 실행 가능한 소프트웨어 중시
- 계약과 협상 중심이 아닌, 고객과의 협력 중시
- 계획 중심이 아닌, 변화에 대한 민첩한 대응 중시
→ 본질로 돌아가자.
애자일 개발 방법론(스크럼)
- 소프트웨어 개발보다는 팀의 개선과 프로젝트 관리를 위한 애자일 방법
- 경험적 관리 기법 중 하나
- 구체적인 프로세스를 명확하게 제시하지 않음
- 개발 팀(조직)을 운영하는 효율적인 운영 방식(지침)