λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
πŸ“Ÿ IT· Digital/πŸ€— κ°œλ… 정리

[SW 섀계] μ• μžμΌ 방법둠

by 지이닛 2023. 5. 8.

πŸ“ μ• μžμΌ 방법둠 κ°œλ…

1) μ •μ˜

 

전체 개발 λ‹¨κ³„μ—μ„œ 변화에 λŒ€ν•œ μ‹ μ†ν•œ λŒ€μ‘μœΌλ‘œ μš”κ΅¬μ‚¬ν•­μ„ μ§€μ†μ μœΌλ‘œ 뢄석, λ°˜μ˜ν•˜μ—¬ 배포 μ‹œκ°„μ°¨λ₯Ό μ΅œμ†Œν™”ν•˜λŠ” 방법둠.

 

2) λ“±μž₯λ°°κ²½

 

- μ• μžμΌ 방법둠은 μ•„λ¬΄λŸ° κ³„νšμ΄ μ—†λŠ” 개발 방법과 κ³„νšμ΄ μ§€λ‚˜μΉ˜κ²Œ λ§Žμ€ 개발 방법듀 사이 νƒ€ν˜‘μ μ„ 찾고자 ν•˜λŠ” 방법둠.

- κ³„νšμ΄ μ—†λŠ” 방법둠은 μ•žμœΌλ‘œμ˜ 일을 μ˜ˆμΈ‘ν•˜κΈ° νž˜λ“€κ³ , νš¨μœ¨μ μ΄μ§€ λͺ»ν•˜λ‹€λŠ” μ μ—μ„œ μ·¨μ•½.

- κ³„νšμ— λ„ˆλ¬΄ μ˜μ‘΄ν•˜λŠ” 방법둠은 ν˜•μ‹μ μΈ 절차λ₯Ό λ”°λ₯΄λŠ”λ° ν•„μš”ν•œ μ‹œκ°„κ³Ό λΉ„μš©μ΄ 많고, 전체적인 개발 흐름을 느리게 함

- 즉, μ• μžμΌ 방법둠은 μ•žμ„ μ˜ˆμΈ‘ν•˜λ©° κ°œλ°œν•˜μ§€ μ•Šκ³ , μΌμ •ν•œ μ£ΌκΈ°λ₯Ό κ°€μ§€κ³  λŠμž„μ—†μ΄ ν”„λ‘œν† νƒ€μž…μ„ λ§Œλ“€μ–΄λ‚΄λ©° κ·Έλ•Œ κ·Έλ•Œ ν•„μš”ν•œ μš”κ΅¬λ₯Ό λ”ν•˜κ³  μˆ˜μ •ν•˜μ—¬ ν•˜λ‚˜μ˜ μ»€λ‹€λž€ μ†Œν”„νŠΈμ›¨μ–΄λ₯Ό κ°œλ°œν•΄ λ‚˜κ°€λŠ” 방식.

 

πŸ“ μ• μžμΌ 개발 ν”„λ‘œμ„ΈμŠ€

 

μ–΄λŠ νŠΉμ • 개발 방법둠을 κ°€λ¦¬ν‚€λŠ” 말은 μ•„λ‹ˆλ©° "μ• μžμΌ(Agile : κΈ°λ§Œν•œ, 쒋은 것을 λΉ λ₯΄κ³  λ‚­λΉ„μ—†κ²Œ λ§Œλ“œλŠ” 것" κ°œλ°œμ„ κ°€λŠ₯ν•˜κ²Œ ν•΄μ£ΌλŠ” λ‹€μ–‘ν•œ 방법둠 전체λ₯Ό μΌμ»«λŠ” 말이닀.

 

 

πŸ“ μ• μžμΌ μ’…λ₯˜

 

1️⃣ XP(eXtreme Programming)

 

μ˜μ‚¬μ†Œν†΅ κ°œμ„ κ³Ό 즉각적인 ν”Όλ“œλ°±μ— μ˜ν•œ λ‹¨μˆœν•œ μ½”λ”©μœΌλ‘œ SW ν’ˆμ§ˆμ„ 높이기 μœ„ν•œ 방법둠이닀. 1-3μ£Ό λ°˜λ³΅ν•˜λŠ” 것이 νŠΉμ§•μ΄λ‹€. 5κ°€μ§€ κ°€μΉ˜μ™€ 12개 μ‹€μ²œν•­λͺ©μ΄ μžˆλŠ”λ° 5κ°€μ§€ μš©κΈ°λ‘œλŠ” 용기, λ‹¨μˆœμ„±, μ˜μ‚¬μ†Œν†΅, ν”Όλ“œλ°±, 쑴경이 μžˆλ‹€.

 

2️⃣ SCRUM

맀일 μ •ν•΄μ§„ μ‹œκ°„μ— μ •ν•΄μ§„ μž₯μ†Œμ—μ„œ 짧은 μ‹œκ°„μ˜ κ°œλ°œμ„ ν•˜λŠ” νŒ€μ„ μœ„ν•œ ν”„λ‘œμ νŠΈ 관리 μ€‘μ‹¬μ˜ 방법둠이닀. 30μΌλ§ˆλ‹€ λ™μž‘ κ°€λŠ₯ν•œ μ œν’ˆμ„ μ œκ³΅ν•˜λŠ” μŠ€ν”„λ¦°νŠΈ(Sprint)λ₯Ό μ€‘μ‹¬μœΌλ‘œ ν•˜κ³  μžˆλ‹€.

 

* 백둜그 (backlog) : μ œν’ˆκ³Ό ν”„λ‘œμ νŠΈμ— λŒ€ν•œ μš”κ΅¬μ‚¬ν•­

* μŠ€ν”„λ¦°νŠΈ (sprint) : 30일 λ‹¨μœ„μ˜ 짧은 κ°œλ°œκΈ°κ°„μœΌλ‘œ λΆ„λ¦¬ν•˜μ—¬ 반볡적 μˆ˜ν–‰.

* μŠ€ν¬λŸΌλ―ΈνŒ… : 맀일 슀크럼(15λΆ„ 정보) λ―ΈνŒ…μœΌλ‘œ 였늘과 λ‚΄μΌμ˜ ν•΄μ•Ό ν•  일의 κ³„νš 수립.

* μŠ€ν¬λŸΌλ§ˆμŠ€ν„° : ν”„λ‘œμ νŠΈ 리더, 슀크럼 μˆ˜ν–‰μ‹œ 문제 인지 및 이λ₯Ό ν•΄κ²°ν•˜λ €κ³  λ…Έλ ₯ν•˜λŠ” μ‚¬λžŒ.

* 속도(Velocity) : ν•œ 번의 μŠ€ν”„λ¦°νŠΈμ—μ„œ ν•œ νŒ€μ΄ μ–΄λŠ μ •λ„μ˜ μ œν’ˆ 백둜그λ₯Ό 감당할 수 μžˆλŠ”μ§€μ— λŒ€ν•œ μΆ”μ •μΉ˜.

 

3️⃣ LEAN

λ¦° μ‹œμŠ€ν…œμ˜ ν’ˆμ§ˆ 기법을 μ†Œν”„νŠΈμ›¨μ–΄ 개발 ν”„λ‘œμ„ΈμŠ€μ— μ μš©ν•˜μ—¬ ν”„λ‘œμ„ΈμŠ€μ˜ λ‚­λΉ„μš”μ†Œλ₯Ό 제거 ν›„ κ²°κ³Όλ₯Ό μΈ‘μ •, μ„±κ³Όλ₯Ό λΆ„μ„ν•˜μ—¬ μ†Œν”„νŠΈμ›¨μ–΄μ˜ ν’ˆμ§ˆμ„ ν–₯μƒμ‹œν‚€λŠ” κ°œλ°œλ°©λ²•λ‘ .

 

* 7κ°€μ§€ 원칙 : λ‚­λΉ„μ œκ±°, ν’ˆμ§ˆλ‚΄μ œν™”, μ§€μ‹μ°½μΆœ, λŠ¦μ€ν™•μ •, λΉ λ₯ΈμΈλ„, μ‚¬λžŒμ‘΄μ€‘, μ „μ²΄μ΅œμ ν™”

 

 

πŸ“ μ• μžμΌκ³Ό 전톡 λ°©λ²•λ‘ μ˜ 비ꡐ

ν•­λͺ© μ• μžμΌ 방법둠 전톡적 방법둠
μš”κ΅¬μ‚¬ν•­μ˜ 베이슀라인 ν”„λ‘œμ νŠΈ 전과정에 걸쳐 μ§„ν™”ν•˜λŠ” μš”κ΅¬μ‚¬ν•­ 초기 μš”κ΅¬μ‚¬ν•­μ— λŒ€ν•œ Baseline을 μ„€μ •
μ•„ν‚€ν…μ²˜ μ •μ˜λ°©λ²• μ‹€μ œ κΈ°λŠ₯ κ΅¬ν˜„μ„ ν†΅ν•˜μ—¬ λΉ λ₯Έ μ‹œκ°„ 내에 μ•„ν‚€ν…μ³μ˜ μ‹€ν˜„ κ°€λŠ₯성을 증λͺ…ν•΄ 보이고자 ν•œλ‹€. λͺ¨λΈκ³Ό 사양을 보닀 μƒμ„Έν™”ν•˜λŠ” 과정을 톡해 μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜κ³Ό 데이터 아킀텍쳐λ₯Ό μ΄ˆκΈ°μ— μ •μ˜ν•˜κ³ μž ν•œλ‹€.
ν…ŒμŠ€νŠΈ 방법 λΉˆλ²ˆν•œ '개발-ν…ŒμŠ€νŠΈ' μ£ΌκΈ°λ₯Ό 톡해 λ§Žμ€ μ‹œκ°„κ³Ό λΉ„μš©μ΄ νˆ¬μž…λ˜κΈ° μ „ κΈ°λŠ₯을 κ²€μ¦ν•œλ‹€. νŠΉμ • κΈ°λŠ₯이 κ΅¬ν˜„λœ 이후 'λ‹¨μœ„-톡합-μ‹œμŠ€ν…œ' ν…ŒμŠ€νŠΈλ‘œ ν™•μž₯ν•΄ λ‚˜κ°€λŠ” 방식이닀.
ν‘œμ€€ ν”„λ‘œμ„ΈμŠ€ 적용 μž¦μ€ Inspection(점검)을 ν† λŒ€λ‘œ ν”„λ‘œμ„ΈμŠ€λ₯Ό μœ μ—°ν•˜κ²Œ κ°œλ°œμ— 적용. 개발 착수 전에 ν‘œμ€€ν™”λœ ν”„λ‘œμ„ΈμŠ€ μ œμ •μ΄ μ€‘μš”
릴리즈 λΉ λ₯Έ 릴리즈 BigBang 릴리즈
쀑심사상 ν•™μŠ΅μ€‘μ‹¬ κ³„νšμ€‘μ‹¬