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.0231 sec