E D R , A S I H C RSS

Extreme Programming

ExtremeProgramming € ฒฝŸ‰ฐœฐœฐฉฒ•ก œกœ„œ, RUP “˜ ฐฉฒ•ก — „ํ•ด ทธ ํ”„กœ„Šค€ „‹จํ•˜‹ค. XP —„œ˜ ช‡ช‡ ฐœ…“ค€ ฐ˜ ธ ํ”„กœทธž˜ฐ—„œ„ œ šฉํ•˜ฒŒ “ฐ ˆ˜ žˆ‹ค. ํŠํžˆ TestDrivenDevelopment(TestFirstProgramming) ˜ ฐœ… Refactoring, UnitTestŠ” ดˆธฐ ณต€ํ• •Œ ํ˜ž„œ„ ‹คŠต„ ํ•ด ˆ˜ žˆŠ” ‚ดšฉด‹ค. ฐœธ ˜Š” †Œทธ˜ ํ›ˆ จœกœ„ ดšฉํ•  ˆ˜ žˆ„ ฒƒด‹ค.


 „ฒด ธฐ


ดˆธฐ Customer š”ตฌ„„‹œ—Š” UserStory ž‘„ํ•œ‹ค. UserStoryŠ” ถ”ํ›„ Test Scenario ƒฐํ•˜—ฌ AcceptanceTest €„„ ž‘„ํ•˜Š”ฐ ดšฉํ•œ‹ค. UserStoryŠ” ฐœฐœž“ค— ˜ํ•ด„œ ํ•ด‹ ธฐ„ (Story-Point)„ ˜ˆธก(estimate) ํ•˜ฒŒ ˜Š”ฐ, estimate€ ช…ํ™•ํ•˜€ •Š„ ฒฝšฐ—Š” ช…ํ™•ํ•˜€ •Š€ €„— Œ€ํ•ด„œ SpikeSolution „ ํ•ดณธ’ค estimate„ ํ•˜ฒŒ œ‹ค. UserStoryŠ” ‹ค‹œ Wiki:EngineeringTaskกœ ‚˜ˆ„–ด€ณ , Wiki:EngineeringTask€„— Œ€ํ•œ estimate œ’ค Task-Point ํ• ‹ํ•œ‹ค. ํ•ด‹ Point ˜ ธฐ€€ deadline ˜ ธฐ€ด •„‹Œ, programminer's ideal day (ฆ‰, •„ฌดŸฐ ฐฉํ•ด ฐ›€ •ŠŠ” ƒํƒœ—„œ ํ”„กœทธž˜จธ€ ตœ ˜ ํšจœจ„ „ํ–‰ํ•œ‹คณ  ํ–ˆ„ ฒฝšฐ˜ ธฐ€) œกœ „‚ฐํ•œ‹ค.

ทธ ‹คŒ, ตœข… œกœ Customer —ฒŒ ํ•ด‹ UserStory ˜ šฐ„ ˆœœ„ งคธฐฒŒ ํ•จœกœ„œ ตฌํ˜„ํ•  UserStory˜ ˆœ„œ  •ํ•˜ฒŒ ํ•œ‹ค. ทธŸฌฉด UserStory— Œ€ํ•œ ํ•ด‹ Wiki:EnginneringTask „‹ดํ•˜—ฌ ฐœฐœž“ค€ ž‘—…„ ํ•˜ฒŒ œ‹ค. ํ•ด‹ Task-PointŠ” Iteration งˆ‹ค ‹ค‹œ „‚ฐ„ ํ•˜—ฌ ‹คŒ Iteration ˜ estimate —  šฉœ‹ค. (ํ•ด‹ ฐœฐœž€ ํ•ด‹ ธฐ„‚ด— ฒ˜ฆฌ ํ•  ˆ˜ žˆŠ” Task-Point ™€ Story-Point — Œ€ํ•œ estimate) (Load Factor = ‹ค œ ˆ˜ํ–‰ํ•œ ‚  / developer's estimated 'ideal' day. 2.5 ~ 3 ด ํ‰ท ) Iteration ค‘ งคฒˆ estimate ํ•˜ฉฐ ž‘—…†„ ฒดํฌํ•œ’ค, Customer ™€ ํ•ด‹ UserStory — Œ€ํ•œ ํ˜‘ƒ„ ํ•˜ฒŒ œ‹ค. ‹คŒ Iteration —„œŠ” ด „ Iteration —„œ ˆ˜ํ–‰ํ•œ Task Point งŒํ˜ „ ํ• ‹ํ•œ‹ค.

Iteration ค‘—Š” งค StandUpMeeting „ ํ†ตํ•ด ํ•ด‹ ํ”„กœทธžจ˜  „ฐ˜ ธ ””žธ Pair, Task ˆ˜ํ–‰ •„— Œ€ํ•œ ํšŒ˜ ํ•˜ฒŒ œ‹ค. ””žธ—Š” CRCCard UML “„ ดšฉํ•œ‹ค. ดˆธฐ ””žธ—„œŠ” „€ ธ €„Œ€ ””žธํ•˜€ •ŠŠ”‹ค. XP—„œ˜ ””žธ€ œ —ฐํ•œ €„ดฉฐ, ดˆฐ˜˜ „ํ•œ Upfront Design „ €–‘ํ•œ‹ค. ””žธ€ ํ•ด‹ ํ”„กœทธž˜ฐ  •—„œ ทธ ฒฐก „ ง“Š”‹ค. XP˜ Design € CRCCard, TestFirstProgramming Refactoring, ทธฆฌณ  StandUpMeeting ‚˜ PairProgramming ค‘ ฐœฐœž“ค„˜ Œ€ํ™” ํ†ตํ•ด €† œกœ œ „˜–ด€ฉฐ ””žธ˜–ด„‹ค.

ฐœฐœ‹œ—Š” PairProgramming „ ํ•œ‹ค. ํ”„กœทธž˜ฐ€ TestFirstProgramming(TestDrivenDevelopment) œกœ„œ, UnitTest Code  € ž‘„ํ•œ ’ค ฉ”ธ ฝ”“œ ž‘„ํ•˜Š” ฐฉ‹„ ทจํ•œ‹ค. UnitTest Code -> Coding -> Refactoring „ ฐ˜ณต œกœ ํ•œ‹ค. ด•Œ Customer Š” ŠคŠคกœ ˜Š” ฐœฐœž™€ ฐ™ด AcceptanceTest ž‘„ํ•œ‹ค. UnitTest ™€ AcceptanceTest กœ„œ ํ•ด‹ ชจ“ˆ˜ ํ…ŒŠคํŠธ ํ•˜ฉฐ, ํ•ด‹ Task ™„ฃŒ˜ณ , UnitTest“ค„ ชจ‘ ํ†ตํ•˜ฉด Integration (ContinuousIntegration) „, AcceptanceTest ํ†ตํ•˜ฉด Release ํ•˜ฒŒ œ‹ค. Refactoring UnitTest, CodingStandard Š” CollectiveOwnership „ €Šฅํ•˜ฒŒ ํ•œ‹ค.

ทธฆฌํ•˜—ฌ ฐ Wiki:EngineeringTask“คด ตฌํ˜„˜ณ , ถ œกœ UserStory ˜ Story“คด ชจ‘ „ํ–‰˜ฉด Mission Complete. (•„.. –ด œ Avalon ˜ ˜ํ–ฅธ€. --;)

XP ˜ š” ฐœ…“ค

  • On-site customer: ฐ™€ ž‘—…‹ค ‚ด—„œ ํ”„กœทธž˜จธ™€ ปคŠคํ„จธ€ –ธ œ“ € Œ€ํ™”ํ•  ˆ˜ žˆ„ก ณดžฅํ•œ‹ค.
  • UserStory: ‚ฌšฉž € —„œ ‹œŠคํ…œ˜ ํ–‰œ„— Œ€ํ•œ „žตํ•œ „œˆ 
  • AcceptanceTest: ‚ฌšฉž € —„œ ํ•ด‹ ž‘—…‚ฐถœด  œŒ€กœ Œ•„€Š”€ ํ™•ธํ•  ˆ˜ žˆŠ” ํ…ŒŠคํŠธ.
  • ThePlanningGame: ฐœฐœžŠ” UserStory“ค— Œ€ํ•ด„œ ตฌํ˜„, ˜ˆธก, €‹œ“ค— Œ€ํ•ด ํ† ก ํ•œ‹ค.
  • UnitTest: ชจ“  ํดž˜Šค“ค— Œ€ํ•œ ž™ํ™”œ ํ…ŒŠคํŠธ ฝ”“œ“ค.
  • TestDrivenDevelopment : Programming By Intention. ํ”„กœทธž˜จธ˜ ˜„ ํ‘œํ˜„ํ•˜Š” ํ…ŒŠคํŠธฝ”“œ  € ž‘„ํ•œ‹ค. ทธ ‡ฒŒ ํ•จœกœ„œ ‹จˆœํ•œ ””žธด œ „˜–ด„‹ค. (with Refactoring)
  • Refactoring : ฝ”“œ ํ–ฅƒ‹œํ‚คธฐ œ„ํ•œ ํ”„กœ„Šค
  • SimpleDesign
  • PairProgramming: ํ”„กœทธžจฝ”“œŠ” ‘ช… (driver, partner)ด ํ•˜‚˜˜ ปดํ“จํ„—„œ ž‘„ํ•œ‹ค.
  • SpikeSolution: –ด„ ฌธ œ— Œ€ํ•œ ตฌํ˜„˜ ‚œด„ ˜ˆธกํ•˜ธฐ œ„ํ•œ ž‘€ ‹คํ—˜ ํ”„กœทธž˜ฐ.
  • CollectiveOwnership: ˆ„ตฌ“ € –ด– ํ•œ ˜คธŒ ํŠธณ   ˆ˜ žˆŠ” ถŒฆฌ €„‹ค.
  • CodingStandard: CollectiveOwnership „ œ„ํ•œ. ˆ„ตฌ‚˜ ดํ•ดํ•˜ธฐ ‰ฝ„ก ฝ””ฉŠคํƒ€ ํ‘œ€˜ „ •.
  • ContinuousIntegration: งค ˜Š” ˆ˜‹œกœ  „ฒด ‹œŠคํ…œ— Œ€ํ•œ building testing„ ˆ˜ํ–‰ํ•œ‹ค.
  • Metaphor : Object Naming ํ”„กœทธžจ˜ ํ•ด‹ ˆ˜ํ–‰— Œ€ํ•œ ปคฎค‹ˆ€ด…˜˜ €ด“œ —ญํ• „ ํ•ด„ ฐœ…˜  •˜.
  • Forty-hour week: €œ ‹ฌ‹ € ‹คˆ˜ งŒ“ค–ด‚ธ‹ค. €Šฅํ•˜ฉด ดˆฌด ํ”ํ•œ‹ค.

€ จ ‚ฌดํŠธ




œ„˜  „ฒด ทธ„ ํ•œฒˆ  •ฆฌํ•ด ณดณ  ‹ถ–ด„œ ถ”€ํ•จ
ณ ˜ณ  ‹ถœฉด งˆŒŒ€กœ ณ ˜„š”.
ทธฆฌณ  ‹คฅธ ฒƒ„ € ˜ฌ คด…‹œ‹ค.

DeleteMe) งˆฌธ— Œ€ํ•ด„œŠ” Metaphor กœ ˜ฎŠต‹ˆ‹ค. ทธฆฌณ  งˆฌธ„ ํ•˜‹ค•ŒŠ” ‹คช…œกœ กœทธธํ•ด‹œธฐ ฐ”ž‹ˆ‹ค. (‚ฌžŒ“คด 203.244.197.254 ‹˜ —ฒŒ ‹ตํ•˜ธฐ—” € ดƒํ•˜ž‚˜š”~) --1002


...—ฌธฐ—„œ˜ XP ™€ € จœ €“ค˜ ฒฝšฐ„ XperDotOrg ชฝœกœ ˜ฎธฐŠ”–ด–จŒ ถฆฌ. (Interwiki กœ ˜ฎธฐณ , ZP —„œŠ” ZP ‚ด˜ ํ† ก œกœ Œ€‹ ํ•  ˆ˜ žˆ„“. žฃŒ€ –ด””— žˆŠƒŠ” ทธฆฌ ค‘š”ํ•˜€ •Š„ ฒƒด‹ˆ. XperDotOrg € ƒšฉ‚ฌดํŠธ‚˜ CUG € ˜Š”ฒŒ •„‹Œดƒ) ‚ฌžŒ“ค ˜ฒฌ€? --1002
Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:23:15
Processing time 0.0320 sec