개발 방법론 1 - Waterfall
● 완전히 순차적으로 한 단계, 한 단계를 진행해 나가야 한다.
● 폭포수 모델은 미국 국방성이나 NASA에 고용된 대규모
소프트웨어 개발 하우스에 의해 널리 사용
● 전단계가 100% 완료되고 모두 정확하다는 것을 확인한
후에야 다음 단계로 이행 (훨씬 싸다)
● 완벽한 문서화를 강조
● 문제영역을 완벽히 예측할 수 있는 설계자를 가진
프로젝트에만 맞을 수 있다고 지적
● 빈번하게 수정해달라고 요구하는 경우
● 문제 자체의 양상이 변화하기 때문에, 이 아이디어가
비현실적
WBS sample
Slide 3
Slide 3 text
개발 방법론 2 - V
● 개발 생명주기의 각 단계와 그에 상응하는 소프트웨어 시험
각 단계의 관계
● 테스트 활동을 코딩 이후가 아닌 프로젝트 시작 시에 함께
시작
● 각 단계마다 상세한 문서화를 통해 작업을 진행하는 잘 짜인
방법을 사용
● 완벽한 문서화를 강조
● Unit/Integration/System/Acceptance testing
● 프로젝트 비용과 시간을 감소
Slide 4
Slide 4 text
개발 방법론 3 - Spiral
● 매번 반복을 하기전에 위험요소를 알아내고 사전에 제거
● 가장 위험요소가 큰 부분 혹은 버그가 발생하기 쉬운 측면을
절대로 개발의 마지막 단계까지 미루지 않는다는 것이
키워드
● 클라이언트가 완성된 프로젝트는 아니지만 최소한
프로토타입을 미리 볼수 있다 => 피드백이 가능
● 문서화를 강조
Slide 5
Slide 5 text
개발 방법론 2 - Agile
● 특정 개발 방법론을 가리키는 말은 아님.
● 에자일을 가능하게 하는 모든 방법론을 말하는 것
● 다른 방식과 가장 큰 차이점은 less document-oriented,
code-oriented, 실질적인 코딩을 통한 방법론이라는 점이다.
● 앞을 예측하며 개발을 하지 않고, 일정한 주기를 가지고
끊임없이 프로토 타입 제작 => 피드백 가능
Slide 6
Slide 6 text
애자일 종류
● Extreme Programming
○ 대표적인 애자일 방법, TDD 강조
● Scrum
○ Sprint 단위의 프로젝트 관리 중심
● Adaptive Software Development
○ 고객이 설계에 참여
● Extreme Modeling
○ UML 강조
Slide 7
Slide 7 text
Scrum
● 일본 히토츠바시 대학의 노나카 이쿠지로와 타케우지 히로타카가 1986년
● 특성
○ 솔루션에 포함할 기능/개선점에 대한 우선 순위를 부여한다.
○ 개발 주기는 30일 정도로 조절하고 개발 주기마다 실제 동작할 수 있는
결과를 제공하라.
○ 개발 주기마다 적용할 기능이나 개선에 대한 목록을 제공하라.
○ 날마다 15분 정도 회의를 가져라.
○ 항상 팀 단위로 생각하라.
○ 원활한 의사소통을 위하여, 구분 없는 열린 공간을 유지하라.
● 핵심 가치
○ 확약 약속한 것을 확실히 실현하는 것
○ 전념 확약한 것의 실현에 전념하는 것
○ 정직 어떤 것이 자신에게 불리해도 숨기지 않는 것
○ 존중 자신과 다른 사람에게 경의를 표하는 것
○ 용기 팀 구성원 은 자신이 옳은 일을 할 수 있도록 팀원간 갈등과 도전을 통해
작업 할 수있는 용기
● 진행 방식
○ 링크
○ Jira
■ Parallel sprint
■ Sprint