Study & Certification/μ •λ³΄μ²˜λ¦¬κΈ°μ‚¬ 곡뢀기둝

[240614] 슀크럼 (Scrum) 기법 - 백둜그(Backlog), μ‚¬μš©μž μŠ€ν† λ¦¬(Story)

jennnnna 2024. 6. 14. 22:25

슀크럼 기법에 λŒ€ν•΄ μ΄μ•ΌκΈ°ν•˜κΈ° μ•žμ„œ
슀크럼이 무엇인지에 λŒ€ν•΄ μ•Œμ•„λ³΄κ² λ‹€. 

슀크럼(Scrum)μ΄λž€ 슀포츠 μ’…λͺ©μΈ λŸ­λΉ„μ—μ„œ μ‚¬μš©λ˜λŠ” μš©μ–΄λ‘œ, μœ„ μ‚¬μ§„μ—μ„œ λ³΄μ΄λŠ” λŒ€ν˜•μ„ μ˜λ―Έν•œλ‹€.
λ°˜μΉ™μœΌλ‘œ 인해 κ²½κΈ°κ°€ μ€‘λ‹¨λœ 경우, μ–‘νŒ€ μ„ μˆ˜λ“€μ΄ λŸ­λΉ„κ³΅μ„ κ°€μš΄λ° 두고 μƒλŒ€νŒ€μ„ λ°€μΉ˜κΈ° μœ„ν•΄ λŒ€μΉ˜ν•΄ μžˆλŠ” λŒ€ν˜•μ΄λ‹€. 
"이처럼 νŒ€μ΄ 쀑심이 λ˜μ–΄ 개발의 νš¨μœ¨μ„±μ„ λ†’μΈλ‹€λŠ” μ˜λ―Έκ°€ λ‚΄ν¬λœ μš©μ–΄μ΄λ‹€"
"νŒ€μ˜ μ€‘μš”μ„±μ„ κ°•μ‘°ν•˜λŠ” μš©μ–΄μ΄λ‹€" 

사싀 무슨 μ˜λ―ΈμΈμ§€ λͺ¨λ₯΄κ² λ‹€. λŸ­λΉ„κ³΅μ— μ—΄μ€‘ν•˜λ“―μ΄ μ˜€λ‘œμ§€ νŒ€λ§Œ μƒκ°ν•˜λ©΄μ„œ λ‹¬λ €λ“ λ‹€λŠ” μ˜λ―ΈμΈκ±΄κ°€ ?

+ μΆ”κ°€ (240620 λͺ©) 
"λŸ­λΉ„μ˜ μŠ€ν¬λŸΌμ„ λͺ¨λ₯΄λŠ” μ‚¬λžŒλ“€μ„ μœ„ν•΄ μ„€λͺ…을 λ§λΆ™μ΄μžλ©΄, λŸ­λΉ„λŠ” 113kg μ―€ λ˜λŠ” 건μž₯ν•œ λŸ­λΉ„ μ„ μˆ˜λ“€μ΄ 쑰각 퍼즐처럼 μ—°κ²°λ˜μ–΄ 마치 ν•œ μ‚¬λžŒμΈ κ²ƒμ²˜λŸΌ 똘똘 뭉쳐 (이것을 슀크럼이라고 ν•œλ‹€.) λ“μ ν•˜κΈ° μœ„ν•΄ μƒλŒ€λ°©μ„ λ¬Όλ¦¬μΉ˜λ©΄μ„œ μ „μ§„ν•œλ‹€. μ΄λ ‡κ²Œ λ‹¨λ‹¨ν•˜κ³  자기 쑰직적 self organiging 이며 ν˜‘λ™μ μΈ νŒ€μ›Œν¬μ˜ κ°œλ…μ„ μ• μžμΌ 개발 λ²„μ „μœΌλ‘œ λ§Œλ“  게 μŠ€ν¬λŸΌμ΄λ‹€" 
μ±… <슀크럼 μ„±κ³΅μ „λž΅> μΌλž€ κ³¨λ“œμŠ€νƒ€μΈ μ € δΈ­  



슀크럼의 νŠΉμ§•

1. νŒ€μ› μŠ€μŠ€λ‘œκ°€ μŠ€ν¬λŸΌνŒ€μ„ ꡬ성해야 ν•˜λ©°, 개발 μž‘μ—…μ— κ΄€ν•œ λͺ¨λ“  것은 슀슀둜 ν•΄κ²°(self functional)ν•  수 μžˆμ–΄μ•Ό ν•œλ‹€ 
2. 슀크럼 νŒ€μ€ μ œν’ˆ μ±…μž„μž, 슀크럼 λ§ˆμŠ€ν„°, κ°œλ°œνŒ€μœΌλ‘œ κ΅¬μ„±λœλ‹€.


 

μ œν’ˆ μ±…μž„μž (Product Owner)

개발과 κ΄€λ ¨ν•œ μ΄ν•΄κ΄€κ³„μžλ“€ 쀑, 개발될 μ œν’ˆμ— λŒ€ν•œ 이해도가 λ†’κ³ , μš”κ΅¬μ‚¬ν•­μ„ μ±…μž„μ§€κ³  μ˜μ‚¬ κ²°μ •ν•  μ‚¬λžŒμœΌλ‘œ μ„ μ •ν•˜λŠ”λ° 주둜 개발 μ˜λ’°μžλ‚˜ μ‚¬μš©μžκ°€ λ‹΄λ‹Ήν•œλ‹€. 
μ΄ν•΄κ΄€κ³„μžλ“€μ˜ μ˜κ²¬μ„ μ’…ν•©ν•΄ μ œν’ˆμ— λŒ€ν•œ μš”κ΅¬μ‚¬ν•­μ„ μž‘μ„±ν•œλ‹€
μš”κ΅¬μ‚¬ν•­μ΄ λ‹΄κΈ΄ 백둜그λ₯Ό μž‘μ„±ν•˜κ³  λ°±λ‘œκ·Έμ— λŒ€ν•œ μš°μ„ μˆœμœ„λ₯Ό μ§€μ •ν•˜λŠ” μ‚¬λžŒμ΄λ‹€. 
λ‹€λ₯Έ νŒ€μ›λ“€μ—κ²ŒλŠ” 백둜그 μš°μ„ μˆœμœ„λ₯Ό μ§€μ •ν•  κΆŒν•œμ΄ μ—†λ‹€. 
μ œν’ˆμ— λŒ€ν•œ ν…ŒμŠ€νŠΈλ₯Ό 주기적으둜 μ§„ν–‰ν•˜κ³ , μš”κ΅¬μ‚¬ν•­μ˜ μš°μ„ μˆœμœ„λ₯Ό κ°±μ‹ ν•œλ‹€. 
 

λ°±λ‘œκ·Έλž€? (Backlog) 
μ œν’ˆ κ°œλ°œμ— ν•„μš”ν•œ μš”κ΅¬μ‚¬ν•­μ„ λͺ¨λ‘ λͺ¨μ•„μ„œ μš°μ„ μˆœμœ„λ₯Ό 뢀여해놓은 λͺ©λ‘μ΄λ‹€. 

μ΄λ ‡κ²Œ 무언가 μŒ“μ—¬μžˆλŠ” 것, λͺ©λ‘μ΄ μž”λœ©μžˆλŠ” 것에 λŒ€ν•œ 이미지λ₯Ό 생각해보면 쒋을 것 κ°™λ‹€. 백둜그 이미지

 


슀크럼 λ§ˆμŠ€ν„° (Scrum Master)

νŒ€μ΄ μŠ€ν¬λŸΌμ„ 잘 μˆ˜ν–‰ν•  수 μžˆλ„λ‘ 객관적인 μ‹œκ°μ—μ„œ 쑰언을 ν•΄μ£ΌλŠ” κ°€μ΄λ“œ 역할을 ν•΄μ€€λ‹€. 
νŒ€μ›λ“€μ„ ν†΅μ œν•˜λŠ” μ‚¬λžŒμ΄ μ•„λ‹ˆλ‹€. 
슀크럼 회의λ₯Ό μ£Όκ΄€ν•˜μ—¬ μ§„ν–‰ 사항을 μ κ²€ν•˜κ³ , κ°œλ°œμ„ μ§„ν–‰ν•˜λ©΄μ„œ 맞λ‹₯λœ¨λ¦¬λŠ” 각쒅 문제λ₯Ό 곡둠화 ν•˜μ—¬ μ²˜λ¦¬ν•œλ‹€. 
 

κ°œλ°œνŒ€ (Development team)

PO와 SM을 μ œμ™Έν•œ λͺ¨λ“  인원, 즉 개발자뿐 μ•„λ‹ˆλΌ λ””μžμ΄λ„ˆ, ν…ŒμŠ€ν„° λ“± μ œν’ˆ κ°œλ°œμ„ μœ„ν•΄ μ°Έμ—¬ν•˜λŠ” λͺ¨λ“  μ‚¬λžŒλ“€μ΄ λŒ€μƒμ΄λ‹€. 보톡 μ΅œλŒ€ 인원은 7~8λͺ…이닀. 



슀크럼 개발 ν”„λ‘œμ„ΈμŠ€

μ œν’ˆ 백둜그 (Product Backlog)
κ°œλ°œν• λ•Œ κΈΈμž‘μ΄κ°€ λ˜μ–΄μ£ΌλŠ” 백둜그
μ œν’ˆ κ°œλ°œμ— ν•„μš”ν•œ λͺ¨λ“  μš”κ΅¬μ‚¬ν•­μ„ μš°μ„ μˆœμœ„μ— 따라 λ‚˜μ—΄ν•œ λͺ©λ‘μ΄λ‹€.
μ œν’ˆ μ±…μž„μžμΈ POκ°€ μš°μ„ μˆœμœ„ λ‚˜μ—΄ κΆŒν•œμ„ κ°€μ§„λ‹€.
λ°±λ‘œκ·Έμ— μž‘μ„±λœ μ‚¬μš©μž μŠ€ν† λ¦¬λ₯Ό 기반으둜 릴리즈 κ³„νš( Release plan) 을 μˆ˜λ¦½ν•œλ‹€.


μŠ€ν”„λ¦°νŠΈ (Sprint)
μ‹€μ œ 개발 μž‘μ—…μ„ μ§„ν–‰ν•˜λŠ” 과정을 μ˜λ―Έν•œλ‹€.
μ—¬λŸ¬λ²ˆμ˜ μŠ€ν”„λ¦°νŠΈκ°€ μ‘΄μž¬ν•  수 있고
ν•˜λ‚˜μ˜ μŠ€ν”„λ¦°νŠΈλŠ” 보톡 2-4μ£Ό μ •λ„μ˜ κΈ°κ°„ λ‚΄μ—μ„œ μ§„ν–‰ν•œλ‹€.
λ°±λ‘œκ·Έμ— μž‘μ„±λœ νƒœμŠ€ν¬λ₯Ό κ°€μ§€κ³  속도(λ²¨λ‘œμ‹œν‹°)λ₯Ό μΆ”μ •ν•œ ν›„ 개발 λ‹΄λ‹Ήμžμ—κ²Œ ν• λ‹Ήν•œλ‹€.
νƒœμŠ€ν¬κ°€ κ°œλ°œμžμ—κ²Œ ν• λ‹Ήλ˜λ©΄ 할일(to do), 진행쀑(progress), μ™„λ£Œ(done)의 μƒνƒœλ₯Ό κ°–λŠ”λ‹€.

*λ²¨λ‘œμ‹œν‹°λŠ” ν•œλ²ˆμ˜ μŠ€ν”„λ¦°νŠΈμ—μ„œ ν•œνŒ€μ΄ 감당할 수 μžˆλŠ” 양에 λŒ€ν•œ μΆ”μ •μΉ˜. (μ–Όλ§ˆλ‚˜ 걸릴지)


μŠ€ν”„λ¦°νŠΈ κ³„νš 회의(Sprint Planning Meeting)
μž‘μ„±λœ 백둜그λ₯Ό κ°€μ§€κ³  이번 μŠ€ν”„λ¦°νŠΈμ—μ„œ μˆ˜ν–‰ν•  μž‘μ—…μ„ λŒ€μƒμœΌλ‘œ 단기 일정을 μˆ˜λ¦½ν•˜λŠ” 단계이닀.

Q.λ§€ μŠ€ν”„λ¦°νŠΈλ§ˆλ‹€ κ³„νš 회의λ₯Ό ν•˜λŠ”κ°€? λͺ¨λ“  백둜그 λ‚΄μš©μ„ μŠ€ν”„λ¦°νŠΈλ‘œ μͺΌκ°œλŠ” μž‘μ—…μ„ ν•œ 번만 μ§„ν–‰ν•˜λŠ”κ°€?

μ²˜λ¦¬ν•΄μ•Όν•˜λŠ” μš”κ΅¬μ‚¬ν•­μ„ κ°œλ°œμžλ“€μ΄ λ‚˜λˆ μ„œ μž‘μ—…ν•  수 μžˆλ„λ‘ ν…ŒμŠ€ν¬λΌλŠ” μž‘μ—… λ‹¨μœ„λ‘œ λΆ„ν• ν•œ ν›„ κ°œλ°œμžλ³„λ‘œ μˆ˜ν–‰ν•  μž‘μ—… λͺ©λ‘μΈ μŠ€ν”„λ¦°νŠΈ 백둜그λ₯Ό μž‘μ„±ν•¨.


일일 슀크럼 회의 (Daily Scrum Meeting)
맀일 15λΆ„ μ •λ„μ˜ 짧은 μ‹œκ°„λ™μ•ˆ μ§„ν–‰ 상황을 μ κ²€ν•œλ‹€.
남은 μ‹œκ°„μ€ μ†Œλ©Έ 차트(burn-down chart)에 κΈ°λ‘ν•œλ‹€
슀크럼 λ§ˆμŠ€ν„°λŠ” μž₯μ•  μš”μ†Œλ₯Ό μ²΄ν¬ν•˜κ³  해결을 λ•λŠ”λ‹€.


μŠ€ν”„λ¦°νŠΈ κ²€ν†  회의 (Sprint Review)
λΆ€λΆ„ ν˜Ήμ€ 전체 μ™„μ„± μ œν’ˆμ΄ μ˜€κ΅¬μ‚¬ν•­μ— λΆ€ν•©λ˜λŠ”μ§€ 쀑간 μ κ²€ν•˜λŠ” μ‹œκ°„μ΄λ‹€.
λ§€μ£Ό 1μ‹œκ°„ 정도 ν• μ• ν•œλ‹€. (보톡 ν•œ μŠ€ν”„λ¦°νŠΈλŠ” 총 2-4μ£Ό)
POλŠ”, κ°œμ„ ν•  사항에 λŒ€ν•œ ν”Όλ“œλ°±μ„ μ •λ¦¬ν•œ ν›„, λ‹€μŒ μŠ€ν”„λ¦°νŠΈμ— λ°˜μ˜λ˜λ„λ‘ μ œν’ˆ 백둜그 μ—…λ‘œλ“œ ν•œλ‹€.


μŠ€ν”„λ¦°νŠΈ 회고(Sprint Retrospective)
μŠ€ν”„λ¦°νŠΈ μ£ΌκΈ°λ₯Ό λ˜λŒκ°€λ³΄λ©°, 정해놓은 κ·œμΉ™ μ€€μˆ˜κ°€ μž˜λλŠ”μ§€, κ°œμ„  점이 μžˆλŠ”μ§€ ν™•μΈν•˜κ³  κΈ°λ‘ν•œλ‹€.
일정 μ£ΌκΈ° ν˜Ήμ€ λ§€ μŠ€ν”„λ¦°νŠΈμ˜ μ’…λ£Œμ‹œμ λ§ˆλ‹€ μ§„ν–‰ν•œλ‹€.


ꡉμž₯히 μ ˆμ°¨κ°€ κΉ”λ”ν•˜κ³  λ¬Έμ œκ°€ μƒκ²Όμ„λ•Œ λŒ€μ²˜ν•˜κΈ° 쒋은 ꡬ쑰인 것 κ°™λ‹€. λ‹€λ§Œ μœ νŠœλΈŒμ—μ„œ 슀크럼 기법을 μ‚¬μš©ν•œ ν›„κΈ°λ₯Ό λ΄€λŠ”λ° μ‹œκ°„μ„ 많이 μ“°κ²Œ 되고, λ”°λ‘œ λ¬Έμ„œ μž‘μ„±ν•˜κΈ° μ–΄λ ΅λ‹€λŠ” 단점이 μžˆλ‹€κ³  ν•œλ‹€
슀크럼 기법이 μ ν•©ν•œ μΌ€μ΄μŠ€λŠ” 뭐가 μžˆμ„κΉŒ ? 
μž‘μ€ ν”„λ‘œμ νŠΈμΌ κ²½μš°μ—λŠ” μ• μ΄ˆμ— POλž‘ SM 의 역할을 λΆ„λ‹΄ν•˜λŠ” κ²ƒκΉŒμ§€λŠ” ν•„μš”ν•˜μ§€ μ•Šμ„ 수 μžˆκ² λ‹€.
사싀 νšŒμ‚¬μ—μ„œ μ–΄λ–€ μ‹μœΌλ‘œ ν”„λ‘œλ•νŠΈλ₯Ό κ°œλ°œν•˜κΈ° μœ„ν•œ 일이 μ‹œμž‘λ˜κ³  λλ‚˜λŠ”μ§€μ— λŒ€ν•΄ 
μ•„λŠ”κ²Œ μ—†μ–΄μ„œ λΉ„κ΅ν•˜κΈ°κ°€ μ–΄λ ΅λ„€ 쩝
μ•žμœΌλ‘œ μ•Œμ•„κ°€λ©΄ λ˜μ§€  파이νŒ