XP λ₯Ό νλ©΄μ μκΈΈ μ μλ μλ¬Έ
Why not move these into XperDotOrg?
Xper μμ λΉμ·ν κΈ°λ₯μ νλ νμ΄μ§κ° 'μ§λ¬Έλ΅λ³' μΈλ°, μ΄ νμ΄μ§κ°μ κ²½μ°λ μ§μ μ§λ¬Ένκ³ λ΅μ μ΄κ±°μ¬μ 'μ§λ¬Έλ΅λ³' μ μ¬λ¦¬κΈ°κ° μ’ κ·Έλ λλΌκ΅¬μ Faq λΌλ νμ΄μ§λ₯Ό λ§λ€κΉ νλ€κ° μ’ μ£Όκ΄μ μΈ λ΅μ΄μ¬μ κ·Έλ κ³ . Xper μμ νμ΄μ§ μ λͺ© κΆλ¦¬νλ€κ° κ·Έλ₯ μΌλ¨ μ¬κΈ° λ§λ κ±°λΌλ. ^^; (Xper μλ μ¬λ¦½λλ€. νμ΄μ§λ€ λ³λ‘ λ
Ήμ¬λ£μ΄μΌκ² κ΅°μ.) --1002
XP λ μΈμ 곡λΆν κΉ? ¶
SE μμμ λ°©λ²λ‘ λ€μ΄ κ·Έλ¬νλ― XP λ₯Ό μ§κΈ λΉμ₯ 곡λΆν νμκ° μμκΉ?
- 'νμνλ©΄ νλΌ'. XP κ° κΈ°λ³Έμ μΌλ‘ νλ‘μ νΈ νμ μν κ²μ΄κΈ°μ νΌμμ XP μ Practice λ€μ 보면 μ μ©νκΈ° μ΄λ €μ΄ κ²λ€μ΄ μλ€. νμ§λ§, XP μ Practice μ μΌλΆμ κ²λ€μ λν΄μλ νΌμμ ννμ¬λ κ·Έ μ₯μ μ μ·¨ν μ μλ κ²λ€μ΄ μλ€. (TestDrivenDevelopment, Refactoring, ContinuousIntegration,SimpleDesign, SustainablePace, CrcCard Session λ±. κ·Έλ¦¬κ³ νΌμμ νλ‘κ·Έλλ°μ νλ€ νλλΌλ μ½κ° ν° νλ‘κ·Έλλ°μ νλ€λ©΄ Planning μ΄ νμνλ€. νμμ΄λ€ νλλΌλ μκ°κ΄λ¦¬, μΌκ±°λ¦¬ κ΄λ¦¬λ μ΅νμΌ ν λλͺ©μ΄λ€.) μ₯μ μ μ·¨ν μ μλ κ²λ€μ μ₯μ μ μ·¨νκ³ , μ§κΈ νκΈ°μ 리μ€ν¬κ° ν° κ²λ€μ λμ€μ ν΄λ λλ€.
κ° Practice λ₯Ό 곡λΆλ₯Ό νλ€λ³΄λ©΄, μ κ²λ€μ΄ μ΄λ£¨μ΄μ§κΈ° μν΄μ 곡λΆν΄μΌ ν κ²λ€μ΄ λ μμμ μκ² λλ€. (μμμ μΌλ‘ μμλΌ μ μμ΄μΌ νλ€κ³ μκ°νλ€.) Refactoring μ μνκΈ° μν΄μ OOP μ ν΄λΉ μΈμ΄λ€μ λ κΉμ΄μκ² μ΄ν΄ν νμκ° μμΌλ©° (μΈμ΄μ λν΄ κΉμ μ΄ν΄κ° μμΌλ©΄ λκ°μ μΌμ λν΄μλ μ½λλ₯Ό λ λͺ
ννκ³ κ°κ²°νκ² μμ±ν μ μλ€.) CrcCard λ₯Ό νλ€λ³΄λ©΄ μμ OOP μ ResponsibilityDrivenDesign μ λν΄ κ³΅λΆνκ² λ κ²μ΄λ€. Planning μ νλ€λ³΄λ©΄ μκ°κ΄λ¦¬μ±
μ΄λ μΌκ±°λ¦¬ κ΄λ¦¬μ±
λ€μ λ³΄κ² λ κ²μ΄λ€. Pair λ₯Ό νλ€λ³΄λ©΄ λ€λ₯Έ μ¬λλ€μκ² μμ μ μκ°μ λͺ
ννκ² νννλ λ°©λ²λ '곡λΆ'ν΄μΌ ν κ²μ΄λ€. μ΄λ κ²°κ΅ μ¬λμ΄ νλ μΌμ΄κΈ°μ. κ°μ΄ λ³νν μ μκ³ , λ μ€μν κ²μ κ°μΈμ μΌλ‘ μμλ₯Ό μ ν΄μ 곡λΆν μ μκ² λ€.
κ°μΈμ μΌλ‘, TestDrivenDevelopment λ μ°μ΅ν΄λ³΄λ©΄ λ°°μΈ κ² λ§λ€κ³ μκ°νλ€. Test λ₯Ό μμ±νλλ°μμ λ°°μ λ μΌλ€μ΄ λ§κΈ°μ. (Test λ₯Ό μμ±νκΈ° μν΄ ν° λͺ¨λλ©μ΄λ¦¬μμ μΌμ΄λλ μ€κ°λ¨κ³μ λν΄ λ κΉκ² μκ°νκ³ μμλ¨μλ‘ μͺΌκ° λ€λμ§, AcceptanceTest λ₯Ό μμ±νκΈ° μν΄ μ 체 μμ€ν
λμκ°λ κ³Όμ μ μλ€λμ§ λ±λ±)
μ λ°°λ€μκ² Pair λ₯Ό μμ²νλ κ²λ λ°λμ§ν λ°©λ²μ΄λΌ μκ°νλ€. Pairλ₯Ό νλ©΄μ λλ€λ₯Έ μ¬λμ μΈκ³λ₯Ό ꡬ경νκ³ , λν κ·Έ μ¬λμκ² λ λ€λ₯Έ μΈκ³λ₯Ό ꡬ경μμΌμ€ μ μμΌλ¦¬λΌ μκ°νλ€. (λ€λ₯Έ μ¬λλ€μ μΈμ¬νκ² κ΄μ°°ν μ μκ³ μ€μ²ν μ μλ€λ©΄ μ°ΈμΌλ‘ 빨리 λ°°μΈ μ μλ μ¬λμ΄λΌ μκ°νλ€.)
Story Card λ 보κ΄νκΈ° μ΄λ ΅λ€? ¶
μ΄λμ κ° μ΄μΌκΈ° λμμλ λ¬Έμ . κ·λͺ¨κ° λλ νλ‘μ νΈμ κ²½μ° 100 μ₯μ Index Card λ 보κ΄νκΈ°λ μ΄λ ΅κ³ λλ €λκΈ°μ μ μ μ μ΄μ§λ½νλ€.;;
- Story Card λ Kent Beck μ΄ μ¬μ©μμ λ λΉ λ₯Έ νΌλλ°±μ μν΄ μκ°ν λ νμμ μΈ λ°©λ²μ΄λ€. μ΄μ°¨νΌ Story Card λ μ λΆ AcceptanceTest λ‘ μμ±ν κ²μ΄κΈ°μ, ν
μ€νΈκ° μμ±λκ³ λλ©΄ AcceptanceTest κ° λνλ¨ΌνΈ μν μ ν κ²μ΄λ€. Index Card λꡬ μμ²΄κ° λ³΄κ΄μ©μ΄ μλλ€. 보κ΄μ΄ νμνλ€λ©΄ μν€λ₯Ό μ°κ±°λ λμ§νΈμΉ΄λ©λΌ & μ€μΊλ λ±λ± '보κ΄μ© λꡬ', 'Repository' λ₯Ό μ΄μ©νλΌ.
XP μμμ Documentation μ λ무 λΉμ½νλ€. ¶
- μ΄μ°¨νΌ μ€μ κ³ κ°μκ² κ°μΉλ₯Ό μ£Όλ μ€μν μΌλ§μ νμκ° λͺ©μ μ΄κΈ°μ. Documentation μμ²΄κ° μ€μν λΉμ¦λμ€ κ°μΉλ₯Ό μ€λ€λκ°, ν λ΄μμ μ€μν κ°μΉλ₯Ό μ€λ€κ³ νλ€λ©΄ (μλ₯Ό λ€μ΄μ, νμμ€ λͺλͺ
μ΄ νμ κ°μ΄ μμ
μ ν μ μλ€λμ§ λ±λ±) Documentation μ EngineeringTask μ μΆκ°νκ³ μμ μμ(μκ°)μ λΆλ°°νλΌ. (Documentation μμ²΄κ° μλ λΉμ©μ΄ λλ μΌμ΄λ€.)
μ μ²΄κ° νλ‘μ νΈμμμ κ³μ½λ¬Έμ ¶
μ€μ νμ¬ : νμ¬ λ‘ μμ£Όλ°μ νλ‘μ νΈμ κ²½μ°, λ€λ₯Έ νμ¬μμ μ€λ 'κ³ κ°' μ μ€μ λ‘ κ·Έ νμ¬μμμ λ§λ¨ μ§μμΈ κ²½μ°κ° λ§λ€. κ·Έλ¬λ―λ‘, λ§€ Iteration μ κ³ κ°μκ² Story λ₯Ό 골λΌλ¬λΌκ³ ν λ κ·Έ κ³ κ°μ νμ΄ μλ€.
PairProgramming μ μ©νκΈ° ¶
PairProgramming μ XP μμ λ
Όλμ΄ λ§μ λ― νλ€. Man-Hour λ₯Ό μ λ°μΌλ‘ κΉλλ€λ μκ°μ νκ² λμ΄μμΈμ§.
interface κ° μ μ μνκ³ λμ΄μ λΆμ
μ νλ©΄ ν¨μ¬ ν¨κ³Όμ μλκ°?
- 1002 κ° ProjectPrometheus λ₯Ό ν λμ κ±°μ μ 체 μμ
μ Pairλ‘ μ§ννλ€. Integration λΉμ©μ΄ μ ν λ€μ§ μμλ€. (λλͺ
μ΄ λ©€λ²μμΌλ; λΉκ·Ό!) κ·Έλ¦¬κ³ μ΄κΈ° μμ€μ μ§κΈ μμ€μ€ μ΄κΈ° λͺ¨μ΅μ΄ λ¨μμλ λΆλΆμ 보면 'μ μ₯. μ μ΄λ κ² μ§ κ±°μΌ? μ΄λ° νμ ν...' μ΄λ€. μ€λ³΅λ λΆλΆλ λ§κ³ , λ§€μ§λλ²λ λ¨μμκ³ , μ²μμ μΈκ±°λΌ μκ°νλ μΌμ’
μ μ΄λν° μν μ νλ ν΄λμ€λ μ€νλ € μΌλ§ 볡μ‘νκ² λ§λ€κ³ λ±λ±.
κ·Έλ¦¬κ³ , 'μ§μμ μ ν'κ° νλ‘μ νΈμμ ν¨μ¨μ λμΈλ€κ³ νλ€λ©΄. μ΄λ² κΈ°νμμλ 1002 λ Pairλ₯Ό ν μ¬λκ³Ό κ°μ΄ μΈμ°κ³ μΉκ³ λ°κ³ νλ©΄μ μ¬λ¬κ°μ§ μκ°μ ν μ μμλ κΈ°νκ° λμλ€. 'μΆ©λ' μ΄ λ¬Όλ¦¬μ μμ©μΌλ‘λ§ λλλ€λ©΄ μμ²λ°μ λ¨μ§ μμ§λ§, ννμμ©μ νλ€λ©΄ λκ° μλ‘μ΄ κ²μ λ§λ€μ΄λΈλ€. Pair λ λ¨μν 'νμ¬λ Skill' + 'νμ¬λ Skill' μ μλλΌ μκ°νλ€.
λ¨, μ¬λ°λ₯Έ Pairλ, μμ Pair νλ μ¬λλ€ μ€μ€λ‘ μ±μν νμκ° μλ κ² κ°λ€. 1002 μ²λΌ μμ§κΈ° μ½κ±°λ F μ€νμΌμ λ κ°κΉμ΄ MBTI μ€νμΌμ κ°μ§ μ¬λμ μ½κ°. -_-; (1002 λ INFP μΈλ°, F μ€νμΌμ΄ T μ€νμΌμ 3λ°°μ΄λ€.; λ¬Όλ‘ MBTIλ§μΌλ‘ μ¬λ μ 체λ₯Ό νκ°νλκ²μ λΉκ·Ό μλ.~)
40 μκ° κ·Όλ¬΄? νμ€μ μΈκ°? ¶
κ³Όμ° 40μκ° μμ
μ΄λ κ°λ₯ν μΌμΈκ°? 보ν΅μ λ°€μ μμ΄λ μΌμ λͺ»νλ κ²½μ°κ° λ§μλ°.
- μ΄λ SustainablePace μ λν μ¦νμ΄λ€. λ³΄ν΅ μΌμ΄ μ΄κ³Όλμ΄ μ§νλλ€λκ²μ λκ° μΌμ΄ μ μνλ¦°λ€λ μ¦κ±°κ° λκΈ°λ νλ€.
λ μ§μν μ μλ μμ μ μΈ νλ¦μ λ§λ€μ΄λ΄λ κ²μ΄ μ€μνλ€. '40' μ«μκ° μ€μνλ¨ λ»μ μλλ€. (λ¨, PairProgramming μ΄ κΈ°κ°λ§νκ² μ μ§νλλ κ²½μ°λ, '40μκ°μ μ΄κ³Ό' ν μκ° μμ κ² κ°λ€. μ¬λ μ§μ΄ λ€ λΉ μ§λκΉ. -_-;)