πŸ”¨ ν”„λ‘œμ νŠΈ 일지

정보 전달보단 ν”„λ‘œμ νŠΈλ₯Ό μ§„ν–‰ν•˜λ©° κ²ͺ은 점듀, λŠλ‚€ 점듀을 κΈ°λ‘ν•œ 일지

Project: ν…Œμ˜€μ˜ μŠ€ν”„λ¦°νŠΈ 12κΈ°

ν”„λ‘ νŠΈμ—”λ“œ 개발자둜 κ΅¬κΈ€λ§ν•˜λ‹€λ³΄λ©΄ λˆ„κ΅¬λ‚˜ ν•œλ²ˆμ―€μ€ λ“€μ–΄κ°€λ³΄μ•˜μ„ ν…Œμ˜€μ˜ λΈ”λ‘œκ·Έ
이번 ν”„λ‘œμ νŠΈλŠ” ν…Œμ˜€κ°€ μš΄μ˜ν•˜λŠ” ν…Œμ˜€μ˜ μŠ€ν”„λ¦°νŠΈ 12기에 μ°Έμ—¬ν•œ 기둝이닀.
짧닀면 짧은 5일의 κΈ°κ°„ λ™μ•ˆ 처음 λ³΄λŠ” μ‚¬λžŒλ“€κ³Ό νŒ€μ„ 이뀄, ν˜‘μ—…(ν…Œμ˜€κ°€ 제일 κ°•μ‘°ν•˜λŠ” λΆ€λΆ„)을 배울 수 μžˆλŠ” 쒋은 기회라고 μƒκ°ν•œλ‹€!

πŸ˜† μ•„μ΄μŠ€ λΈŒλ ˆμ΄ν‚Ή

μ‹œμž‘μ— μ•žμ„œμ„œ, ν…Œμ˜€κ°€ μ€€λΉ„ν•΄μ£Όμ‹  질문으둜 κ°„λ‹¨ν•œ μ•„μ΄μŠ€ λΈŒλ ˆμ΄ν‚Ήμ„ μ§„ν–‰ν–ˆλ‹€.(정말 μ‚¬μ†Œν•΄λ³΄μ΄μ§€λ§Œ, 이런 μž‘μ€ μž₯μΉ˜λ“€μ΄ νŒ€μ› κ°„μ˜ 화합을 λ„μ™€μ£ΌλŠ” 것 κ°™λ‹€.)
μ™Έκ³„μΈμ—κ²Œ 우리의 직업(개발자)λ₯Ό 그림으둜 μ„€λͺ…ν•œλ‹€λ©΄? μ΄λΌλŠ” 주제둜 각자 λ°œν‘œλ₯Ό μ§„ν–‰ν–ˆλ‹€.γ…‹γ…‹γ…‹γ…‹γ…‹

3 1 3 2

νŒ€μ›λ“€μ΄ μƒκ°ν•˜λŠ” λ‹€μ–‘ν•œ 개발자의 λͺ¨μŠ΅λ„ μž¬λ―Έμžˆμ—ˆκ³  μ„œλ‘œμ˜ 그림을 κΎΈλ©°μ£Όκ³  λ”ν•΄μ£ΌλŠ” 게 웃겼닀. γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹
λ‚˜μ˜ 그림은 λŒμ—μ„œ κΈˆμ„ μ±„μ·¨ν•˜λ“―μ΄, κ°œλ°œμžλŠ” μ½”λ“œλ₯Ό 톡해 금(쒋은 μ„œλΉ„μŠ€)을 λ§Œλ“ λ‹€λŠ” 컨셉이닀. νŒ€μ›λ“€μ˜ λ‚™μ„œλ‘œ κΈˆλ©μ΄κ°€ κΏ€λ²Œμ²˜λŸΌ λ˜μ–΄λ²„λ Έμ§€λ§Œγ…‹γ…‹γ…‹γ…‹γ…‹ λ„ˆλ¬΄ μœ μΎŒν•˜κ³  μž¬λ―ΈμžˆλŠ” μ‹œκ°„μ΄μ—ˆλ‹€.

πŸ˜‰ μ‹€μ „ μŠ€μΌ€μΉ˜

개인적으둜 정말 정말 정말 ν•„μš”ν•˜λ‹€κ³  μƒκ°ν–ˆλ˜ μ‹œκ°„!!!!!! κ·Έ λ™μ•ˆ κ³΅μœ ν•œ λ‚΄μš©λ“€μ„ ν† λŒ€λ‘œ, κ°μžκ°€ νŽ˜μ΄μ§€ ν•˜λ‚˜ν•˜λ‚˜λ₯Ό 쒀더 λ””ν…ŒμΌν•˜κ²Œ 그렀보고 λ°œν‘œν•˜λ©° 생각을 λ§žμΆ”λŠ” μ‹œκ°„μ΄μ—ˆλ‹€.
이 μ‹œκ°„μ— κ°μžκ°€ κ°–κ³  있던 μ•„μ£Ό μ„Έλ°€ν•œ 생각듀을 μ‘°μœ¨ν•  수 μžˆμ—ˆκ³  더 λ‹€μ–‘ν•œ μ„œλΉ„μŠ€λ‚˜ κΈ°λŠ₯, 화면에 λŒ€ν•œ 고민을 μ§„λ“ν•˜κ²Œ ν•  수 μžˆμ—ˆλ‹€!(맀우맀우 μœ μš©ν•œ μ‹œκ°„μ΄μ—ˆλ‹€.)

3 3

λ˜ν•œ 이 λ•Œ, UX μ΅œκ³ κ²°μ •κΆŒμžμ™€ PL(Project Leader)을 λ½‘μ•˜λ‹€. μ•„λž˜μ™€ 같은 μ·¨μ§€μ˜€λ‹€.

μ„œλ‘μ— μ„€λͺ…ν–ˆλ˜λŒ€λ‘œ κ²°μ •κΆŒμž μ—†λŠ” μƒνƒœλ‘œ μ˜κ²¬κ΅ν™˜λ§Œ ν•˜κ²Œ λœλ‹€λ©΄ λ‚˜μ€‘μ—λŠ” 의견이 λŒ€λ¦½μ΄ λ˜λ©΄μ„œ μ‚°μœΌλ‘œ 갈 곡산이 λ†’μŠ΅λ‹ˆλ‹€. λˆ„κ΅°κ°€λŠ” 결정을 ν•΄μ•Όν•˜κ³  μš°λ¦¬λŠ” μˆ˜ν‰μ μ΄κ²Œ νˆ¬ν‘œλ₯Ό ν†΅ν•΄μ„œ 더 μž˜ν•˜λŠ” μ‚¬λžŒμ΄ 결정을 ν•  수 μžˆλ„λ‘ ν•˜μ˜€μŠ΅λ‹ˆλ‹€. μˆ˜ν‰μ μΈ νŒ€μ›Œν¬μ—μ„œλŠ” μ–Έμ œλ‚˜ 무언가λ₯Ό 제일 μž˜ν•˜λŠ” μ‚¬λžŒμ΄ 제일 μž˜ν•  수 μžˆλ„λ‘ ν•΄μ£ΌλŠ” 것이 μ€‘μš”ν•˜λ©° μ΄λŠ” κΆŒμœ„λ‚˜ 직급이 μ•„λ‹ˆλΌ 역할을 μˆ˜ν–‰ν•˜λŠ” κ²ƒμ΄λΌλŠ” 것을 λ‹€μ‹œ ν•œλ²ˆ κΈ°μ–΅ν•΄μ£Όμ„Έμš”.

κ°œλ°œν•˜λŠ” κΈ°κ°„λ™μ•ˆ 또 결정을 ν•΄μ•Όν•˜λŠ” 일이 생긴닀면 UXμ΅œμ’…κ²°μ •κΆŒμžμ™€ PL의 κΈ°μˆ μŠ€νƒκ³Ό νƒœμŠ€ν¬ κ²°μ •κΆŒμ— λŒ€ν•΄μ„œλŠ” 쑴쀑을 ν•΄μ£Όμ‹œκΈ° λ°”λžλ‹ˆλ‹€. 결정을 ν•˜λŠ” 데 λ“œλŠ” μ—λ„ˆμ§€λŠ” 뢄석을 ν•˜λŠ” μ—λ„ˆμ§€λ³΄λ‹€ 훨씬 더 큰 μ—λ„ˆμ§€ μ†Œλͺ¨κ°€ μžˆλ‹€κ³  ν•©λ‹ˆλ‹€. λ―Έλ£¨λŠ”κ²Œ μ•„λ‹ˆλΌ μ„œλ‘œ 같이 μΉ˜μ—΄ν•˜κ²Œ κ³ λ―Όν•˜λ˜ κ²°μ •κΆŒμ„ μ‘΄μ€‘ν•˜κ³  κ²°μ •λœ κ²°κ³Όλ₯Ό 잘 따라주기λ₯Ό λ°”λžλ‹ˆλ‹€.

πŸ˜† BDD와 SDD

ν…Œμ˜€κ°€ 직접 μΉ΄μΉ΄μ˜€μ—μ„œλ„ μ§„ν–‰ν•˜λŠ” BDD(Behavior Driven Development)와 SDD(Schema Driven Development)을 μ„€λͺ…ν•΄μ£Όμ—ˆκ³  이에 맞좰 개발 κ³„νšμ„ μ„Έμ›Œλ³΄μ•˜λ‹€.

BDD

BDDλŠ” ν–‰μœ„ 주도 개발둜 μ‹€μ œ μ„œλΉ„μŠ€λ₯Ό μ΄μš©ν•˜λŠ” μœ μ €μ˜ μž…μž₯μ—μ„œ μž…κ°ν•΄μ„œ 개발 ν…ŒμŠ€ν¬λ₯Ό κ΅¬λΆ„ν•˜λŠ” 방법이닀.

  • Given
  • When
  • Then

μœ„μ˜ 3개λ₯Ό λ‚˜λˆ„κ³ , λ¨Όμ € WhenλΆ€ν„° μ‹œμž‘ν•œλ‹€. μ‰¬μš΄ μ„€λͺ…을 μœ„ν•΄ μ˜ˆμ‹œλ₯Ό 듀어보겠닀.

When: μ‹œμž‘ λ²„νŠΌμ„ ν΄λ¦­ν•œλ‹€.(μ‹œμž‘λ²„νŠΌμ„ 클릭할 λ•Œ)
-> Then(1): ν™”λ©΄ 배경이 λ³€ν•œλ‹€.
-> Then(2): 타이머가 μ‹œμž‘λœλ‹€.

μ΄λ ‡κ²Œ ν•˜λ‚˜μ˜ When에 λŒ€ν•΄ 2개 μ΄μƒμ˜ Then이 λ‚˜μ˜¨λ‹€λ©΄ Given을 톡해 λ‚˜λˆ μ€€λ‹€.
κ·Έλ ‡κ²Œ ν•΄μ„œ ν…ŒμŠ€ν¬ ν•˜λ‚˜μ— 각각 1κ°œμ”©μ˜ Given, When, Then이 λ“€μ–΄κ°€κ²Œ λœλ‹€.

3 4

이런 μ‹μœΌλ‘œ μ§„ν–‰μ΄λ˜κ³  각 ν…ŒμŠ€ν¬λ₯Ό λ°°λΆ„ν•˜μ—¬ κ°œλ°œμ„ μ§„ν–‰ν•œλ‹€.

SDD

SDDλŠ” μŠ€ν‚€λ§ˆ(데이터) 주도 κ°œλ°œλ‘œμ„œ MV*νŒ¨ν„΄μ—μ„œ M(Model)κ³Ό V(View)의 데이터 μŠ€ν‚€λ§ˆλ₯Ό μ •ν•˜κ³  λ°μ΄ν„°μ˜ 흐름을 λ”°λΌκ°€λ©΄μ„œ κ°œλ°œμ„ μ§„ν–‰ν•˜λŠ” 방법이닀.
이번 ν”„λ‘œμ νŠΈμ—μ„œλŠ” λ°μ΄ν„°μ˜ λ³΅μž‘λ„κ°€ λ†’μ§€μ•Šμ•„ λ”°λ‘œ μ§„ν–‰ν•˜μ§€ μ•Šμ•˜μ§€λ§Œ, ν”„λ‘œμ νŠΈ ν›„λ°˜λΆ€μ— 갈수둝 SDDλ₯Ό μ§„ν–‰ν–ˆμœΌλ©΄ 훨씬 도움됐을 κ±°λž€ 생각이 λ“€μ—ˆλ‹€.
apiλ₯Ό 톡해 ν•„μš”ν•œ 데이터λ₯Ό μ •λ¦½ν•˜κ³ , 각 ν™”λ©΄ λ‹¨μ—μ„œ μ–΄λ–€ 데이터가 ν•„μš”ν•œμ§€ μŠ€ν‚€λ§ˆ ν…Œμ΄λΈ”λ‘œ μ •λ¦¬ν•˜λŠ” μž‘μ—…μ΄ λ”ν•΄μ‘Œλ‹€λ©΄ ν›„λ°˜λΆ€μ—μ„œ 데이터λ₯Ό μ„ μ •ν•˜λŠ” μ‹œκ°„μ΄ 단좕됐을 것이라 μƒκ°λœλ‹€.

회고

BDD, SDD와 같은 개발 방법을 배운 게 도움이 많이 λ˜μ—ˆλ‹€. λ§‰μ—°ν•˜κ²Œ TDD, BDD, SDD 등에 λŒ€ν•΄μ„œλŠ” λ“€μ–΄λ΄€μ§€λ§Œ μ΄λ ‡κ²Œ 직접 μ μš©ν•˜μ—¬ ν˜‘μ—…μ„ ν•΄λ³΄λ‹ˆ ν™•μ‹€νžˆ 각인이 된 것 κ°™λ‹€. λ‹€μŒ μ§„ν–‰ν•˜κ²Œ 될 ν”„λ‘œμ νŠΈμ—λ„ 이λ₯Ό μ μš©μ‹œμΌœμ„œ ν•΄λ³Ό 수 μžˆκ² λ‹€λŠ” 생각이 λ“€μ—ˆλ‹€. 이제 기획의 μ‹œκ°„μ€ 끝이 λ‚˜κ³  μ˜¨μ „νžˆ 개발 μ‹œκ°„μ΄ λ‚¨μ•˜λ‹€! πŸ’―