μ†Œν”„νŠΈμ›¨μ–΄κ³΅ν•™

μ†Œν”„νŠΈμ›¨μ–΄ 개발 ν”„λ‘œμ„ΈμŠ€ μž₯단점 + 차이

솑이 🫧 2021. 10. 25. 12:00

μ€‘μš”ν•œ λͺ¨λΈ

- 폭포수 λͺ¨λΈ

- ν”„λ‘œν† νƒ€μž… λͺ¨λΈ

- 점증적 λͺ¨λΈ

- λ‚˜μ„ ν˜• λͺ¨λΈ

- 진화적 λͺ¨λΈ

- μ• μžμΌ λͺ¨λΈ 

 

1. 폭포수 λͺ¨λΈ 

νŠΉμ§• :

각 단계각 λ‹€μŒ 단계 μ‹œμž‘ 전에 λλ‚˜μ•Ό 함 

μˆœμ„œμ : 각 단계 사이에 μ€‘λ³΅μ΄λ‚˜ μƒν˜Έμž‘μš©μ΄ μ—†μŒ 

λ°”λ‘œ μ „λ‹¨κ³„λ‘œ ν”Όλ“œλ°±

각 λ‹¨κ³„μ˜ κ²°κ³ΌλŠ” λ‹€μŒ 단계가 μ‹œμž‘λ˜κΈ° 전에 점검(V&V) 

μš”κ΅¬μ‚¬ν•­ 변경이 ν•œμ •μ μΈ 상황에 적합 (λŒ€κ·œλͺ¨ μ‹œμŠ€ν…œ 곡학 ν”„λ‘œμ νŠΈμ—μ„œ 주둜 μ‚¬μš©λ¨) Ex) κ΅­λ°© μ‹œμŠ€ν…œ 

κ³Όμ • : μš”κ΅¬μ‚¬ν•­ μˆ˜μ§‘ 및 μ •μ˜ -> μš”κ΅¬μ‚¬ν•­ λͺ…μ„Έ -> 섀계 -> κ΅¬ν˜„ -> 톡합 및 배포 -> μœ μ§€λ³΄μˆ˜ 

 

μž₯점 : 

체계적인 λ¬Έμ„œν™” 

ν”„λ‘œμ νŠΈ 진행상황 λͺ…ν™•νžˆ νŒŒμ•… κ°€λŠ₯ 

 

단점: 

ν”„λ‘œμ„ΈμŠ€ 진행 ν›„ λ³€κ²½ μˆ˜μš©ν•˜κΈ° 어렀움 

μ΄ˆκΈ°λ‹¨κ³„ μ§€λ‚˜μΉ˜κ²Œ κ°•μ‘°ν•˜λ©΄ μ½”λ”©, ν…ŒμŠ€νŠΈκ°€ 지연 

μ†Œμš©μ—†λŠ” λ‹€μˆ˜μ˜ λ¬Έμ„œ 생산할 κ°€λŠ₯μ„± 

 

2. ν”„λ‘œν† νƒ€μž… λͺ¨λΈ

νŠΉμ§•: 

고객이 μš”κ΅¬ν•œ κΈ°λŠ₯에 λŒ€ν•΄ ν”„λ‘œν† νƒ€μž… λ§Œλ“¦ 

μ‹€ν—˜μ  λͺ¨λΈ : μš”κ΅¬μ‚¬ν•­ 반영(λ²„λ¦¬κ±°λ‚˜ keep), κΈ°λŠ₯ 일뢀 μ‹€ν˜„, μ‚¬μš© ν›„ 파기 

진화적 λͺ¨λΈ : ν”„λ‘œν† νƒ€μž…μ„ λ²„λŸ¬μ§€ μ•Šκ³  μ§€μ†μ μœΌλ‘œ λ°œμ „, κ°œμ„ 

κ³Όμ • : (μ‹œμŠ€ν…œ 뢄석 -> μš”κ΅¬μ‚¬ν•­ μ •μ˜ 및 섀계 -> ν”„λ‘œν† νƒ€μž… 생성/개발 -> ν”„λ‘œν† νƒ€μž… 평가)(반볡) -> 전체 κ΅¬ν˜„ 

 

μž₯점:

ν”„λ‘œν† νƒ€μž…μ„ 톡해 μ‚¬μš©μž μš”κ΅¬ λ°˜μ˜μ„ 높일 수 있음 

지속적인 검증이 ν•„μš”ν•œ κ²½μš°μ— μ’‹μŒ 

 

단점:

κ°œλ°œλ²”μœ„ λͺ¨ν˜Έ 

 

3. 점증적 λͺ¨λΈ

νŠΉμ§• : 

개발 사이클이 짧은 ν™˜κ²½ 

μ‹œμŠ€ν…œμ„ λ‚˜λˆ„μ–΄ 릴리슀 (λΆ„ν• ν•΄μ„œ κ³„νš, μΆœμ‹œ) 

κ³Όμ •: μš”κ΅¬μ‚¬ν•­ μˆ˜μ§‘ 및 μ •μ˜ -> μš”κ΅¬μ‚¬ν•­ λͺ…μ„Έ -> 각 릴리즈 λ³„λ‘œ κ³„νš => (λ””μžμΈ-> κ΅¬ν˜„ -> 톡합 및 배포)(릴리슀 λ³„λ‘œ)

릴리슀 ꡬ성방법 : 

- 점증적 방법: κΈ°λŠ₯λ³„λ‘œ 릴리슀

- 반볡적 방법: λ¦΄λ¦¬μŠ€ν•  λ•Œ λ§ˆλ‹€ κΈ°λŠ₯의 완성도 λ†’μž„ 

rel.1 핡심기λŠ₯ 개발 -> rel.2 λΆ€κ°€μ„œλΉ„μŠ€ -> rel.3 λΆ€κ°€ μ„œλΉ„μŠ€ 

 

μž₯점 :

λΉ λ₯Έ μ‹œκ°„μ•ˆμ— μ‹œμž₯ μΆœμ‹œ κ°€λŠ₯

κΈ°λŠ₯ λΆ€μ‘±ν•˜λ”λΌλ„ μ΄ˆκΈ°μ— μ‚¬μš©, ꡐ윑 κ°€λŠ₯ 

자주 릴리슀 ν•¨μœΌλ‘œμ¨ μ˜ˆμƒ λͺ»ν•œ 문제λ₯Ό μ‹ μ†ν•˜κ³  κΎΈμ€€ν•˜κ²Œ κ³ μ³λ‚˜κ°ˆ 수 있음 

개발 νŒ€μ΄ λ¦΄λ¦¬μŠ€λ§ˆλ‹€ λ‹€λ₯Έ μ „λ¬Έ μ˜μ—­μ— μ΄ˆμ μ„ λ‘˜ 수 있음 

 

4. λ‚˜μ„ ν˜• λͺ¨λΈ

1. κ³„νš 수립 2. μœ„ν—˜ 뢄석 
4. 평가  3. 개발

νŠΉμ§• : 

μ†Œν”„νŠΈμ›¨μ–΄μ˜ κΈ°λŠ₯을 점증적으둜 개발(λ‚˜μ„ ν˜•μœΌλ‘œ 반볡)

μ—¬λŸ¬λ²ˆμ˜ 점증적인 릴리슀 

반볡적인 개발 및 ν…ŒμŠ€νŠΈ

강인성 ν–₯상 

 

μž₯점 :

μ‹€νŒ¨μ˜ μœ„ν—˜μ„ μ€„μž„

ν…ŒμŠ€νŠΈ 용이 

μžμ—°μŠ€λŸ° ν”Όλ“œλ°± 

 

단점 : 

관리가 μ€‘μš” 

μœ„ν—˜ 뢄석이 μ€‘μš” 

 

5. 진화적 λͺ¨λΈ

 1) 반볡적이며 점증적인 방법

λ°˜λ³΅ν•  λ•Œλ§ˆλ‹€ λ²„μ „μ˜ 완성도 높아짐

μ΄ˆκΈ°μ— μ‚¬μš©μžκ°€ μš”κ΅¬μ‚¬ν•­μ„ νŒŒμ•…ν•˜κΈ° νž˜λ“€κ³  κ΅¬ν˜„μ΄ μ–΄λ €μš΄ 경우 

μš”κ΅¬μ‚¬ν•­ 뢄석을 ν•œλ²ˆ 이상 λ°˜λ³΅ν•¨ (점증적 λͺ¨λΈκ³Ό λ‹€λ₯Έμ )

좜처 : https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=seilius&logNo=130185785755

 

2) UP(Unified Process)

- λ„μž… 단계 (μš”κ΅¬μ‚¬ν•­ κ³„νš)

- μ •λ ¨ 단계 (μš”κ΅¬μ‚¬ν•­ μˆ˜μ§‘ 및 뢄석)

- ꡬ좕 단계 (κ΅¬ν˜„ 및 ν…ŒμŠ€νŠΈ)

- μ „ν™˜ 단계 (배포 및 운영)

좜처 : https://en.wikipedia.org/wiki/Unified_Process

각 업무단계가 waterfall λͺ¨λΈκ³Ό λŒ€μ‘ But, 단계가 λΆˆλΆ„λͺ… ν•˜λ‹€λŠ” λ°μ—μ„œ waterfall λͺ¨λΈκ³Ό λŒ€λΉ„ 

waterfall λͺ¨λΈκ³Ό λ‹€λ₯΄κ²Œ 각 단계가 칼같이 λŠμ–΄μ§€λŠ” 것이 μ•„λ‹ˆλΌ μ•½κ°„μ”© 업무가 κ²ΉμΉ˜κΈ°λ„ 함 

 

 

6. μ• μžμΌ λͺ¨λΈ 

νŠΉμ§• :

짧은 λ¦΄λ¦¬μŠ€μ™€ 반볡

점증적 섀계 : 섀계에 λŒ€ν•œ 결정을 미루고 후에 κ°œμ„  (μ„€κ³„μ˜ λ³€ν˜•μ΄ 생길 수 μžˆμœΌλ―€λ‘œ λŒ€κ·œλͺ¨ μ‹œμŠ€ν…œμ— μ ν•©ν•˜μ§€ μ•ŠμŒ)

λ¬Έμ„œ μ΅œμ†Œν™” 

μš”κ΅¬μ™€ ν™˜κ²½μ˜ 변경을 κ°€μ • 

1) 읡슀트림 ν”„λ‘œκ·Έλž˜λ°

2) 슀크럼

 

♣ ν”„λ‘œμ„ΈμŠ€ λͺ¨λΈ μ„ μ • 

 

- 일반적인 ꡬ좕 (μœ„ν—˜μ„± 적고 κΈ°μ‘΄ 사둀 λ§Žμ€ 경우,ν•œμ •λœ μžμ›μ— λŒ€ν•œ μ œμ•½ 쑴재) : 폭포수 λͺ¨λΈ  

- λŒ€κ·œλͺ¨ μž¬κ΅¬μΆ• (ν–₯ν›„ λ³€κ²½μ˜ 여지가 많고, μš”κ΅¬μ‚¬ν•­ 확정이 μ–΄λ €μš΄ 경우) : 점증적 λͺ¨λΈ, λ‚˜μ„ ν˜• λͺ¨λΈ

- μž„λ² λ””λ“œ μ‹œμŠ€ν…œ(sw 외에 μ—¬λŸ¬ μš”μ†Œ κ³ λ €ν•΄μ•Όν•˜λŠ” 경우) ex) ν•˜λ“œμ›¨μ–΄, μ‚¬μš©μž interface : 점증적 λͺ¨λΈ

- ν”„λ‘œμ νŠΈ 타당성 κ²€ν† (타당성 검증) : ν”„λ‘œν† νƒ€μž… λͺ¨λΈ, λ‚˜μ„ ν˜• λͺ¨λΈ 

- μ—°κ΅¬ν˜• 개발(지속적인 검증 ν•„μš”) : ν”„λ‘œν† νƒ€μž… λͺ¨λΈ, λ‚˜μ„ ν˜• λͺ¨λΈ

- μ†Œκ·œλͺ¨(단기간) : μ• μžμΌ ν”„λ‘œμ„ΈμŠ€