 |
IT À⵿»ç´Ï |
±âŸ IT ¹× ÄÄÇ»ÅÍ ±â¼ú °ü·Ã À⵿»ç´Ï ÀÚ·áµéÀ» ¸ð¾ÆµÎ¾ú½À´Ï´Ù. |
|
 |
|

 |


ÀüÅëÀûÀÎ ¼ÒÇÁÆ®¿þ¾î °³¹ß ¹æ¹ý·Ð°ú´Â ´Þ¸® ¹®¼¸¦ °Á¶ÇÏÁö ¾Ê°í º¯°æÀ» Àå·ÁÇϸç, °³¹ß ÃʱâºÎÅÍ Å×½ºÆ®¸¦
º´ÇàÇÒ °ÍÀ» °·ÂÈ÷ ±Ç°íÇÏ´Â »õ·Î¿î ¹æ¹ý·ÐÀÌ ÀÖ½À´Ï´Ù. ¹Ù·Î 'ÀͽºÆ®¸² ÇÁ·Î±×·¡¹Ö(eXtreme Programming ; XP)'À̶ó´Â
¹æ¹ý·ÐÀ¸·Î, ¿ì¸®³ª¶ó¿¡¼´Â ´ë·« 3³â ÀüºÎÅÍ °ü½ÉÀ» ²ø±â
½ÃÀÛÇß½À´Ï´Ù. | |
±è±âÁÖ
(¸¶ÀÌÅ©·Î¼ÒÇÁÆ®¿þ¾î) 2004/02/16
|
|
 |
ÄÄÇ»ÅͰ¡ ¹ß¸íµÇ°í ¼ÒÇÁÆ®¿þ¾î°¡ °³¹ßµÇ±â ½ÃÀÛÇÑ ÀÌ·¡·Î, ½Ã°£ÀÌ È帣¸é È带¼ö·Ï ¼ÒÇÁÆ®¿þ¾î´Â Á¡Á¡ ´õ ±× ±Ô¸ð°¡
Ä¿Áö°í º¹ÀâÇØÁö±â¸¸ ÇÕ´Ï´Ù. ÃÊâ±â¿¡´Â ÄÄÇ»ÅÍ ½Ã½ºÅÛ °³¹ßºñ¿ëÀÇ ´ëºÎºÐÀÌ Çϵå¿þ¾î °³¹ßºñ¿´À¸³ª, ¿äÁòÀº Çϵå¿þ¾î °³¹ßºñ¿ëº¸´Ù ¼ÒÇÁÆ®¿þ¾î
°³¹ßºñ¿ëÀÇ ºñÀ²ÀÌ ´õ ³ô´Ù°í ÇÕ´Ï´Ù. ¼ÒÇÁÆ®¿þ¾î °³¹ßÀÇ ºñÁßÀÌ ³ô¾ÆÁö¸é¼ ¼ÒÇÁÆ®¿þ¾î °³¹ß ¹æ¹ý¿¡ ´ëÇØ¼ ¸¹Àº »ç¶÷µéÀÌ °í¹ÎÇß°í, ±× °á°ú·Î ¿©·¯
°¡Áö ¼ÒÇÁÆ®¿þ¾î °³¹ß ¹æ¹ý·ÐÀÌ Á¦¾ÈµÆ½À´Ï´Ù.
¼ÒÇÁÆ®¿þ¾î °³¹ßÀÇ °¢ ´Ü°è¸¦ ³ªÅ¸³»´Â ¶óÀÌÇÁ»çÀÌŬ(lifecycle) ¸ðµ¨·Î ´ëÇ¥ÀûÀÎ
ÆøÆ÷¼ö ¸ðµ¨(waterfall model, <±×¸² 1>)µµ Á¦¾ÈµÆ°í, ¿äÁòÀº À̸¦ °³¼±ÇÑ ³ª¼±Çü ¸ðµ¨(spiral model,
<±×¸² 2>)ÀÌ ¸¹Àº ÁöÁö¸¦ ¹Þ°í Àֱ⵵ ÇÕ´Ï´Ù. ÆøÆ÷¼ö ¸ðµ¨Àº ¼ÒÇÁÆ®¿þ¾î °³¹ßÀÇ °¢ ´Ü°è¸¦ ±¸ºÐÇß°í, °¢ ´Ü°è¿¡¼ ÇØ¾ß ÇÏ´Â ÀÏÀ»
¸íÈ®È÷ Çß½À´Ï´Ù. ÇÏÁö¸¸ °³¹ß °úÁ¤À» ´Ü¼øÇÏ°Ô ³ªÅ¸³»´Â ´ÜÁ¡ÀÌ ÀÖ°í, ÀÌÀü ´Ü°è¿¡¼ ÇÑ ÀÏ¿¡ ´ëÇÑ ¿À·ù°¡ ³ªÁß ´Ü°è¿¡¼ ¹àÇôÁú °æ¿ì À̸¦
¹Ù·ÎÀâ±â À§ÇÑ ÀÛ¾÷À» ³ªÅ¸³»Áö ¸øÇÏ´Â ¹®Á¦°¡ ÀÖ½À´Ï´Ù.
 |
<±×¸² 1> ÆøÆ÷¼ö
¸ðµ¨ |
 |
<±×¸² 2> ³ª¼±Çü
¸ðµ¨ | ÀÌ¿¡ ºñÇØ ³ª¼±Çü ¸ðµ¨Àº Àüü ½Ã½ºÅÛÀÌ °®Ãç¾ß ÇÒ Æ¯¼ºÀ»
´Ü°èº°·Î ³ª´©¾î, °¢ ´Ü°èº°·Î ÆøÆ÷¼ö ¸ðµ¨¿¡¼ Á¦½ÃÇÑ °Í°ú ºñ½ÁÇÑ ´Ü°èµéÀ» ¹â¾Æ Á¶±Ý¾¿ ½Ã½ºÅÛÀÇ ¿Ï¼ºµµ¸¦ ³ô¿©°¡´Â ¹æ½ÄÀÇ ¼ÒÇÁÆ®¿þ¾î °³¹ß °úÁ¤À»
±×¸®°í ÀÖ½À´Ï´Ù. ³ª¼±À» µû¶ó ÇÑ ¹ÙÄû µ¹ ¶§¸¶´Ù ÀÌÀü ´Ü°è¿¡¼ ¹ÌÈíÇß´ø ºÎºÐÀ» º¸¿ÏÇÒ ¼ö ÀÖ°í, °³¹ß ÀÏÁ¤À» ¸ðµÎ ¸¶ÃÆÀ» ¶§¿¡¸¸ ±¸ÇöµÈ
¼ÒÇÁÆ®¿þ¾î¸¦ º¼ ¼ö ÀÖ¾ú´ø ÆøÆ÷¼ö ¸ðµ¨°ú´Â ´Þ¸®, °¢ ¹ÙÄû¸¦ µ¹ ¶§¸¶´Ù ºÎºÐÀûÀ¸·Î ¿Ï¼ºµÈ ½Ã½ºÅÛÀ» º¼ ¼ö ÀÖ´Ù´Â ÀåÁ¡ÀÌ
ÀÖ½À´Ï´Ù.
ÀͽºÆ®¸² ÇÁ·Î±×·¡¹Ö ¿ì¸®³ª¶ó¿¡¼´Â ´ë·« 3³â ÀüºÎÅÍ °ü½ÉÀ» ²ø±â ½ÃÀÛÇÑ °ÍÀ¸·Î º¸À̴µ¥¿ä, ÀÌ ¹æ¹ý·ÐÀÌ
¸¸µé¾îÁø °ÍÀº 1990³â´ë Áß¹ÝÀ̶ó°í ÇÕ´Ï´Ù. À§¿øÈ¸¿¡¼ ¸¸µé¾îÁø ¾Ë°ñ(ALGOL)º¸´Ù °³¹ßÀÚ¿¡ ÀÇÇØ ¸¸µé¾îÁø C ¾ð¾î°¡ ´õ ³Î¸® ¾²ÀÌ°Ô µÈ
°ÍÀ» »ý°¢Çϸé, ¿¬±¸¼Ò µî¿¡¼ ¸¸µé¾îÁø ±âÁ¸ÀÇ ´Ù¸¥ ¹æ¹ý·Ðº¸´Ù ¾Æ¸¶µµ ȸ»ç¿¡¼ °æÇèÀûÀ¸·Î ¸¸µé¾îÁø ÀͽºÆ®¸² ÇÁ·Î±×·¡¹Ö(XP)ÀÌ °³¹ßÀڵ鿡°Ô Á»
´õ °¡±õ°Ô ´Ù°¡¿Ã °Í °°±âµµ ÇÕ´Ï´Ù. Áö±ÝºÎÅÍ XP¿¡ ´ëÇØ¼ ¾Ë¾Æº¸°Ú½À´Ï´Ù.
1996³â ÄËÆ® ¹é(Kent Back)°ú ¿öµå
Ä¿´×Çè(Ward Cunningham)Àº ÇÔ²² ´ÙÀÓ·¯ Å©¶óÀ̽½·¯ ÇÁ·ÎÁ§Æ®¸¦ ÁøÇàÇÏ¸é¼ »õ·Î¿î ¼ÒÇÁÆ®¿þ¾î °³¹ß ¹æ¹ýÀ» Á¤¸®ÇÏ°Ô µÇ´Âµ¥, ±×°ÍÀÌ XP
¹æ¹ý·ÐÀÔ´Ï´Ù. XP´Â °í°´ÀÌ ¿øÇÏ´Â ¼ÒÇÁÆ®¿þ¾î¸¦ °í°´ÀÌ ¿øÇÏ´Â ½Ã±â¿¡ Á¦°øÇÏ´Â °ÍÀ» ¸ñÇ¥·Î Çϸç, ÇÁ·ÎÁ§Æ® ¸·¹ÙÁö¿¡µµ ³ª¿Ã ¼ö ÀÖ´Â ¿ä±¸»çÇ×
º¯°æ¿¡ ´õ¿í Àß ´ëóÇÒ ¼ö ÀÖµµ·Ï ÇÕ´Ï´Ù.
¼ÒÇÁÆ®¿þ¾î ÇÁ·ÎÁ§Æ®¸¦ °³¼±Çϱâ À§ÇØ ÄËÆ® ¹éÀº ³× °¡Áö ¿ä¼Ò°¡ Áß¿äÇÏ´Ù°í Çߴµ¥,
À̰ÍÀº ÀÇ»ç¼ÒÅë(communication), ´Ü¼ø¼º(simplicity), Çǵå¹é(feedback), ±×¸®°í ¿ë±â(courage)ÀÔ´Ï´Ù. XP
°³¹ßÀÚµéÀº °í°´ ¹× µ¿·á °³¹ßÀÚµé°ú ÀÇ»ç¼ÒÅëÀ» Àß ÇØ¾ß Çϰí, °³¹ßÇÏ´Â ¼ÒÇÁÆ®¿þ¾î¿¡ ´ëÇØ °³¹ß ù ³¯ºÎÅÍ À¯´Ö Å×½ºÆ®¸¦ ÅëÇØ Çǵå¹éÀ» ¹Þ½À´Ï´Ù.
°³¹ß ÁßÀÎ ½Ã½ºÅÛÀ» ÃÖ´ëÇÑ »¡¸® °í°´ÇÑÅ× º¸¿©ÁÜÀ¸·Î½á °í°´µéÀÌ ¿øÇÏ´Â º¯°æ »çÇ×À» »¡¸® µµÃâÇÒ ¼ö ÀÖÀ¸¸ç, XP °³¹ßÀÚµéÀº ÀÌ·¯ÇÑ ±âÃÊ À§¿¡¼
¿ä±¸»çÇ×ÀÌ °è¼Ó ¹Ù²î´õ¶óµµ ¿ë°¨ÇÏ°Ô ³ª¾Æ°¥ ¼ö ÀÖ½À´Ï´Ù.
 |
<±×¸² 3> ÀüÅëÀûÀÎ º¯°æ ºñ¿ë
°î¼± |
 |
<±×¸² 4> ÄËÆ® ¹éÀÇ º¯°æ ºñ¿ë
°î¼± | Áö±Ý±îÁö XPÀÇ Åº»ý°ú Áß¿ä½ÃÇÏ´Â ¿ä¼Ò(value)¿¡ ´ëÇØ
¾Ë¾Æº¸¾Ò½À´Ï´Ù. ÀÌÁ¦ºÎÅÍ XPÀÇ ´ëÇ¥ÀûÀÎ ÀÛ¾÷µéÀ» µû¶ó°¡¸ç XP°¡ ±¸Ã¼ÀûÀ¸·Î ¾î¶»°Ô ÀÌ·ïÁö´ÂÁö ¾Ë¾Æº¸°Ú½À´Ï´Ù.
 |
<±×¸² 5> ÀͽºÆ®¸² ÇÁ·Î±×·¥
ÇÁ·ÎÁ§Æ® |
|
À¯Àú ½ºÅ丮 XP¸¦ ÀÌ¿ëÇØ¼ ÇÁ·ÎÁ§Æ®¸¦ ½ÃÀÛÇÑ´Ù¸é ¸ÕÀú À¯Àú ½ºÅ丮(user story)¸¦ ¸ð¾Æ¾ß ÇÕ´Ï´Ù. À¯Àú ½ºÅ丮´Â
ÀÏÁ¾ÀÇ ¿ä±¸»çÇ×(requirement)ÀÔ´Ï´Ù. ÆøÆ÷¼ö ¸ðµ¨À̳ª ³ª¼±Çü ¸ðµ¨¿¡¼ ¡®Requirements Process¡¯³ª ¡®Software
Requirements¡¯ ´Ü°è¸¦ °ÅÄ¡´Â °Í°ú ºñ½ÁÇÕ´Ï´Ù. À¯Àú ½ºÅ丮´Â UML(Unified Modeling Language)ÀÇ À¯½º
ÄÉÀ̽º(<±×¸² 6>)¿Í °°Àº ¸ñÀûÀ¸·Î ¸¸µé¾îÁöÁö¸¸ Çü½ÄÀÌ ¾ø°í(informal) °í°´¿¡ ÀÇÇØ ÀÛ¼ºµÈ´Ù´Â °ÍÀÌ ´Ù¸¨´Ï´Ù.
 |
<±×¸² 6> À¯½º ÄÉÀ̽º
´ÙÀ̾î±×·¥ | À¯Àú ½ºÅ丮´Â ½Ã½ºÅÛÀÌ °í°´À» À§ÇØ ÇØ¾ß ÇÏ´Â ÀϵéÀ»
´ã°í ÀÖ°í, À¯Àú ÀÎÅÍÆäÀ̽º ¿ÜÀÇ ¿ä±¸»çÇ×µµ Æ÷ÇÔÇÒ ¼ö ÀÖÀ¸¸ç, °³¹ßÀÚÀÇ ¸»ÀÌ ¾Æ´Ï¶ó °í°´ÀÇ ¸»·Î ¾²¿©¾ß ÇÕ´Ï´Ù. À¯Àú ½ºÅ丮¸¦ °¡Áö°í °³¹ß
ÀÏÁ¤(release plan)À» Àâ°Ô µÇ°í, µÚ¿¡ ¼³¸íÇÒ ½ÂÀÎ Å×½ºÆ®(acceptance test)¸¦ ¸¸µå´Â Åä´ë°¡ µË´Ï´Ù.
À¯Àú
½ºÅ丮°¡ ÀüÅëÀûÀÎ ¼ÒÇÁÆ®¿þ¾î °³¹ß ¹æ¹ý·ÐÀÇ ¿ä±¸»çÇ× ¸í¼¼(requirement specification)¿Í Å©°Ô ´Ù¸¥ °ÍÀº À¯Àú ½ºÅ丮¿¡´Â
¿ä±¸»çÇ× ¸í¼¼Ã³·³ ¼¼¼¼ÇÑ °Í±îÁö ÀûÁö ¾Ê´Â´Ù´Â °ÍÀÔ´Ï´Ù. À¯Àú ½ºÅ丮¿¡´Â ±×°ÍÀ» ±¸ÇöÇÒ ¶§ ¾ó¸¶³ª °É¸± °ÍÀΰ¡¸¦ ¿¹ÃøÇÒ ¼ö ÀÖÀ» Á¤µµ·Î¸¸,
±×°ÍÀÇ ±¸Çö¿¡ ÀÖ¾î ÁÖ¿äÇÑ ¾î·Á¿ò(risk)ÀÌ ¾î¶² °ÍÀÌ ÀÖÀ»Áö¸¦ »ìÆì º¼ ¼ö ÀÖÀ» Á¤µµ·Î¸¸ ÀûÀ¸¸é µË´Ï´Ù.
±¸ÇöÇϱâ À§ÇØ ÇÊ¿äÇÑ
¼¼ºÎ»çÇ×Àº ÇØ´ç À¯Àú ½ºÅ丮¸¦ ±¸ÇöÇÒ ¶§ °í°´À» ¸¸³ª ´Ù½Ã µéÀ¸¸é µÈ´Ù´Â °ÍÀÌÁÒ. ¡®½Ã°£°ú µ·ÀÌ ÃæºÐÇÑ ÇÁ·ÎÁ§Æ®´Â ¾ø´Ù¡¯´Â ¸»ÀÌ ÀÖ½À´Ï´Ù.
ÁÖ¾îÁø °í°´ÀÇ ¿ä±¸»çÇ×À» ¸ðµÎ ±¸ÇöÇÑ´Ù´Â °ÍÀÌ °ÅÀÇ ºÒ°¡´ÉÇÏ´Ù¸é, ±¸ÇöÇÏÁöµµ ¾ÊÀ» ¿ä±¸»çÇ×À» ÀÚ¼¼È÷ ¸í¼¼ÇÏ´À¶ó ½Ã°£À» ³¶ºñÇÏ´À´Ï °£·«ÇÏ°Ô Àû¾î¼
Àüü ÀÏÀÇ Å©±â¸¸ °¡´ÆÇϰí, ½ÇÁ¦ ±¸ÇöÇÒ °Í¸¸ ±×¶§±×¶§ ÀÚ¼¼È÷ ¾Ë¾Æº¸´Â °Íµµ ÁÁÀº »ý°¢ÀÎ °Í °°½À´Ï´Ù.
½ºÆÄÀÌÅ©
¼Ö·ç¼Ç À¯Àú ½ºÅ丮°¡ ¸¸µé¾îÁö¸é ±× °¡¿îµ¥ ¾î·Á¿ö º¸ÀÌ´Â(risky) ¹®Á¦¿¡ ´ëÇØ ½ºÆÄÀÌÅ© ¼Ö·ç¼Ç(spike solution)À»
¸¸µì´Ï´Ù. ½ºÆÄÀÌÅ© ¼Ö·ç¼ÇÀº ±â¼úÀû ¶Ç´Â ¼³°è»óÀÇ ¾î·Á¿î ¹®Á¦¸¦ ÇØ°áÇϱâ À§ÇÑ °ÍÀÔ´Ï´Ù. ½ºÆÄÀÌÅ© ¼Ö·ç¼ÇÀº ¼û¾î ÀÖÀ» ¼ö ÀÖ´Â ¹®Á¦¸¦ ã¾Æ³»±â
À§ÇÑ ¾ÆÁÖ °£´ÜÇÑ ÇÁ·Î±×·¥ÀÔ´Ï´Ù.
ó¸®ÇØ¾ß ÇÏ´Â ¹®Á¦ ¿ÜÀÇ ´Ù¸¥ Á¶°ÇµéÀº ¸ðµÎ ¹«½ÃÇϰí ÇÁ·Î±×·¥À» ¸¸µì´Ï´Ù. ´ëºÎºÐÀÇ ½ºÆÄÀÌÅ©
¼Ö·ç¼ÇÀº °è¼Ó µÎ°í ¾µ Á¤µµ·Î ÁÁÁö´Â ¾ÊÀ¸¹Ç·Î Á¶¸¸°£ Â¥¾ß ÇÕ´Ï´Ù. ½ºÆÄÀÌÅ© ¼Ö·ç¼ÇÀ» ¸¸µå´Â ¸ñÀûÀº ±â¼úÀûÀÎ ¹®Á¦¸¦ ÁÙÀ̰í À¯Àú ½ºÅ丮¸¦ °¡Áö°í
ÃßÁ¤ÇÑ °³¹ß ÀÏÁ¤¿¡ ´ëÇÑ ½Å·Úµµ¸¦ ³ôÀÌ´Â °ÍÀÔ´Ï´Ù.
Áֱ⠰èȹ °¢ ÁֱⰡ ½ÃÀÛµÉ ¶§¸¶´Ù Áֱ⠰èȹ
ȸÀÇ(iteration planning meeting)¸¦ ÇÕ´Ï´Ù. °¢ ÁÖ±â´Â 1¢¦3ÁÖ Á¤µµÀÔ´Ï´Ù. °¢ Áֱ⿡ ó¸®ÇÒ À¯Àú ½ºÅ丮´Â °í°´ÀÌ
°í¸¨´Ï´Ù. °í°´¿¡°Ô °¡Àå °¡Ä¡ÀÖ´Â ºÎºÐÀ» °¡Àå ¸ÕÀú ¸¸µé±â À§ÇÔÀÔ´Ï´Ù.
ó¸®ÇÒ À¯Àú ½ºÅ丮´Â À̸¦ ±¸ÇöÇϱâ À§ÇÑ ÇÁ·Î±×·¥
°úÁ¦(programming task)·Î ³ª´²Áý´Ï´Ù. À¯Àú ½ºÅ丮¸¦ °í°´ÀÇ ¸»·Î Àû´Â µ¥ ºñÇØ °úÁ¦´Â °³¹ßÀÚÀÇ ¸»·Î Àû½À´Ï´Ù. °¢ °úÁ¦¸¦ °³¹ßÀÚ¿¡
ÇÒ´çÇÏ°í ¼Ò¿ä±â°£À» ¿¹ÃøÇÏ°Ô µÇ´Âµ¥, °°Àº ÀÏÀÌ¶óµµ ¼Ò¿ä±â°£Àº »ç¶÷¸¶´Ù ´Ù¸¦ ¼ö Àֱ⠶§¹®¿¡ ¿¹ÃøÀº ¹Ýµå½Ã ´ã´ç °³¹ßÀÚ°¡
ÇÕ´Ï´Ù.
°¢°¢ÀÇ °úÁ¦´Â ÇÏ·ç¿¡¼ »çÈê±îÁö °É¸®°Ô µË´Ï´Ù. ÇÏ·ç°¡ ¾È °É¸®´Â °úÁ¦´Â ¸î °³¸¦ ¹¾î¼ Çϳª·Î ¸¸µé°í, »çÈ꺸´Ù ´õ
°É¸®´Â °úÁ¦´Â ´õ Àß°Ô ³ª´¯´Ï´Ù. °¢ Áֱ⿡ ÇÒ ÀÏÀÌ ³Ê¹« Àû°Å³ª ³Ê¹« ¸¹À¸¸é ó¸®ÇÒ À¯Àú ½ºÅ丮¸¦ ´õÇϰųª »®´Ï´Ù. À¯Àú ½ºÅ丮¸¦ °¡Áö°í
¿¹ÃøÇß´ø ¼Ò¿ä½Ã°£Àº °úÁ¦¸¦ °¡Áö°í ¿¹ÃøÇÑ °ÍÀ¸·Î º¸¿ÏÇÕ´Ï´Ù.
°èȹ¿¡ Æ÷ÇԵǾî ÀÖÁö ¾Ê´Â ±â´ÉÀ» Ãß°¡ÇÏ·Á°í ÇÏ¸é ¾ÈµË´Ï´Ù. °èȹµÇÁö
¾ÊÀº ±â´ÉÀ» Ãß°¡ÇÏ·Á´Ùº¸¸é °èȹµÈ °³¹ß ±â°£À» ÃʰúÇÏ°Ô µË´Ï´Ù. Ãß°¡ÇÏ°í ½ÍÀº ±â´ÉÀÌ ÀÖÀ¸¸é ±×¿¡ ´ëÇÑ À¯Àú ½ºÅ丮¸¦ Ãß°¡ÇÏ°í ´ÙÀ½ Áֱ⸦
±â¾àÇÕ´Ï´Ù.
 |
<±×¸² 7>
Iteration | Áֱ⠰³¹ß °¢ ÁÖ±âÀÇ ±æÀ̸¦
ºñ½ÁÇÏ°Ô À¯ÁöÇÏ´Â °ÍÀÌ ÁÁ½À´Ï´Ù. °¢ ÁÖ±âÀÇ ±æÀ̰¡ ÀÏÁ¤Çϸé ÇÁ·ÎÁ§Æ® ÁøÇà¿¡ ´ëÇÑ ÃøÁ¤°ú °èȹÀÌ ½±°í ¹ÏÀ½Á÷½º·´°Ô µË´Ï´Ù. ÇÁ·Î±×·¥ °úÁ¦¸¦ ¹Ì¸®
½ºÄÉÁìÇÏ¸é ¾ÈµË´Ï´Ù. °¢°¢ÀÇ Áֱ⿡ ÇØ¾ß ÇÒ ÀÏÀº ÇØ´ç ÁֱⰡ ½ÃÀÛµÉ ¶§ Áֱ⠰èȹ ȸÀǸ¦ ÅëÇØ °áÁ¤ÇÕ´Ï´Ù. °í°´ÀÇ ¿ä±¸»çÇ×Àº °è¼Ó ¹Ù²î±â
¶§¹®¿¡ ¹Ì¸®¹Ì¸® °èÈ¹ÇØµÎÁö ¾Ê´Â °ÍÀÌ ÁÁ½À´Ï´Ù.
Áֱ⠵¥µå¶óÀÎÀ» ¾ö¼öÇØ¾ß ÇÕ´Ï´Ù. ÁÖ±â Áß ÁøÃ´»óȲÀ» È®ÀÎÇØ¼ µ¥µå¶óÀÎÀ» ³Ñ±æ °Í
°°À¸¸é Áֱ⠰èȹ ȸÀǸ¦ ´Ù½Ã ¼ÒÁýÇØ¼ ÀϺΠ°úÁ¦¸¦ »©¾ß ÇÕ´Ï´Ù. ´Ù¸¥ °úÁ¦¸¦ ±¸Çö ¾È µÈ ä·Î ³²±â´õ¶óµµ °í°´ÀÌ °í¸¥ °¡Àå Áß¿äÇÑ °úÁ¦¿¡
ÁýÁßÇÕ´Ï´Ù.
½ÂÀÎ Å×½ºÆ® ÁֱⰡ ½ÃÀ۵Ǹé Áֱ⠰èȹ ȸÀÇ¿¡¼ °ñ¶óÁø À¯Àú ½ºÅ丮¸¦ °¡Áö°í ½ÂÀÎ Å×½ºÆ®¸¦ ¸¸µì´Ï´Ù.
¿©±â¼µµ °í°´ÀÌ Âü¿©ÇØ ±¸ÇöµÉ Äڵ带 °Ë»çÇÒ ½Ã³ª¸®¿À¸¦ ¸¸µé°Ô µË´Ï´Ù. ½ÂÀÎ Å×½ºÆ®´Â ºí·¢¹Ú½º Å×½ºÆ®ÀÔ´Ï´Ù. °í°´Àº ½ÂÀÎ Å×½ºÆ®°¡ ¿Ã¹Ù¸£°Ô
¸¸µé¾îÁ³´ÂÁö¸¦, ±×¸®°í ½ÇÆÐÇÑ Å×½ºÆ®ÀÇ Á߿䵵¸¦ È®ÀÎÇÕ´Ï´Ù. ½ÂÀÎ Å×½ºÆ®´Â ¶ÇÇÑ ³ªÁß¿¡ ¸®±×·¹¼Ç Å×½ºÆ®(regression test)·Îµµ
¾²ÀÔ´Ï´Ù.
½ÂÀÎ Å×½ºÆ®¸¦ Åë°úÇØ¾ß À¯Àú ½ºÅ丮¿¡ ´ëÇÑ Ã³¸®°¡ ¿Ï·áµË´Ï´Ù. ½ÂÀÎ Å×½ºÆ®¸¦ ÀÚµ¿ÈÇØ¼ ÀÚÁÖ Å×½ºÆ®ÇÏ´Â °ÍÀÌ ÁÁ½À´Ï´Ù.
½ÂÀÎ Å×½ºÆ®¸¦ Åë°úÇÑ´Ù´Â °ÍÀº °í°´ÀÇ ¿ä±¸»çÇ×À» ¸¸Á·ÇÑ´Ù´Â ¶æÀÔ´Ï´Ù.
À¯´Ö Å×½ºÆ® °³¹ßÀ» ÇÏ´Ùº¸¸é Á¾Á¾ ÇÑ µÎ
»ç¶÷ÀÌ ¸Ã°í ÀÖ´Â ºÎºÐÀÌ ´Ê¾îÁ®¼ Àüü ÇÁ·ÎÁ§Æ®¸¦ Áö¿¬½ÃŰ´Â ¼ö°¡ ÀÖ½À´Ï´Ù. ÀÌ °æ¿ì ´Ù¸¥ »ç¶÷µéÀÌ µµ¿ÍÁÙ ¼ö ÀÖ´Ù¸é ÁÁÀ» °ÍÀÔ´Ï´Ù. XP¿¡¼´Â
Áý´Ü ÄÚµå ¼ÒÀ¯(collective code ownership, <±×¸² 8>)¶ó°í Çϴµ¥, ÇÊ¿äÇÏ¸é ´©°¡ ¾î¶² ÄÚµåµçÁö °íÄ£´Ù´Â
¶æÀÔ´Ï´Ù. ÀÌ·¸°Ô Çϱâ À§Çؼ´Â À¯´Ö Å×½ºÆ®(unit test)°¡ ÇÊ¿äÇÕ´Ï´Ù.
À¯´Ö Å×½ºÆ®´Â XPÀÇ Ãʼ®(cornerstone)
°¡¿îµ¥ ÇϳªÀÔ´Ï´Ù. À¯´Ö Å×½ºÆ®´Â ÀÚÁÖ ½ÇÇàÇÒ ¼ö ÀÖµµ·Ï ÀÚµ¿ÈµÅ¾ß Çϰí(JUnit°ú °°Àº À¯´Ö Å×½ºÆ® ÇÁ·¹ÀÓ¿öÅ©¸¦ ÀÌ¿ëÇϱ⵵ ÇÕ´Ï´Ù), ¸ðµç
¸ðµâÀ» Å×½ºÆ®ÇÒ ¼ö ÀÖµµ·Ï ¸¸µé¾îÁ®¾ß ÇÕ´Ï´Ù. ±×¸®°í, µÉ ¼ö ÀÖÀ¸¸é Äڵ带 ÀÛ¼ºÇϱâ Àü¿¡ À¯´Ö Å×½ºÆ®¸¦ ÀÛ¼ºÇÏ´Â °ÍÀÌ ÁÁ½À´Ï´Ù. À¯´Ö Å×½ºÆ®´Â
ÄÚµå¿Í ÇÔ²² ÄÚµå ÀúÀå¼Ò(code repository)¿¡ ÀúÀåµË´Ï´Ù.
ÇÁ·ÎÁ§Æ®¸¦ ÁøÇàÇÏ°Ô µÇ¸é ¾ðÁ¦³ª ½Ã°£ÀÌ ¸ðÀÚ¶ó±â ¶§¹®¿¡ À¯´Ö
Å×½ºÆ®¸¦ ¸¸µå´Â ½Ã°£ÀÌ ¾Æ±õ°Ô ´À²¸Áö±â ½±½À´Ï´Ù. ÇÏÁö¸¸ ÀÚµ¿ÈµÈ À¯´Ö Å×½ºÆ®´Â ¹®Á¦Á¡À» ã¾Æ³»´Â µ¥ ÀÖ¾î¼ ÈξÀ ´õ ¸¹Àº ½Ã°£À» Àý¾àÇØ ÁÖ´Â
°ÍÀ¸·Î ¾Ë·ÁÁ® ÀÖ½À´Ï´Ù.
 |
<±×¸² 8> Áý´Ü ÄÚµå
¼ÒÀ¯ | Âþ±æ ÇѺ¹ÆÇÀ¸·Î °É¾î°¡¸é »ç°í°¡
³´Ù ¾ó¸¶ Àü±îÁö¸¸ ÇØµµ XP´Â ¹®¼ÀÛ¾÷À» °Á¶ÇÏÁö ¾Ê°í, ÄÄÇ»ÅÍ ÇÑ ´ë¸¦ ³õ°í µÎ »ç¶÷ÀÌ Â¦ ÇÁ·Î±×·¡¹Ö(pair
programming)À» Çϸç, ¸®ÆÑÅ丵(refactoring)À̶õ ¹æ¹ýÀ¸·Î ²÷ÀÓ¾øÀÌ Äڵ带 °íÄ¡´Â °³¹ß ¹æ¹ý·ÐÀ¸·Î ¾Ë°í ÀÖ¾ú½À´Ï´Ù. ¹°·Ð ÀÌ·±
°Íµéµµ XPÀÇ ¿ä¼ÒÀ̱â´Â ÇÏÁö¸¸ À̰ͺ¸´Ù´Â ¾Õ¿¡¼ ¾ê±âÇÑ Àü¹ÝÀûÀÎ ÀýÂ÷°¡ XP¸¦ ´õ Àß ¼³¸íÇÏ´Â °Í °°½À´Ï´Ù.
XP´Â ¾ÖÀÚÀÏ
¹æ¹ý·Ð(agile methodology) °¡¿îµ¥ ÇϳªÀÔ´Ï´Ù. ¾ÖÀÚÀÏ ¹æ¹ý·ÐÀº °í°´¿¡°Ô °í°´ÀÌ ¿øÇÏ´Â ¼ÒÇÁÆ®¿þ¾î¸¦ »¡¸® Àü´ÞÇÏ´Â °ÍÀ» ¸ñÇ¥·Î
ÇÕ´Ï´Ù. 1¢¦3ÁÖ ³»¿¡ ±¸ÇöÇÒ ¼ö ÀÖ´Â ¼ö¸¹Àº ¿ä±¸»çÇ×(À¯Àú ½ºÅ丮) °¡¿îµ¥ °í°´ÀÌ °¡Àå Áß¿äÇÏ°Ô »ý°¢ÇÏ´Â °ÍÀ» ¸ÕÀú ±¸ÇöÇÕ´Ï´Ù. ½Ã°£ÀÌ
¸ðÀÚ¶ó¸é À¯Àú ½ºÅ丮 °¡¿îµ¥µµ °í°´ÀÌ °¡Àå Áß¿ä½ÃÇÏ´Â °úÁ¦¸¦ ¸ÕÀú ±¸ÇöÇÕ´Ï´Ù.
ÇÁ·ÎÁ§Æ®°¡ ¿¹ÃøÇÑ ½ÃÀÏ ¾È¿¡ ³¡³¯ ¼ö ÀÖµµ·Ï
1¢¦3ÁÖ¸¶´Ù ÁøÇà»óȲÀ» Á¡°ËÇÏ°í ´ÙÀ½ 1¢¦3ÁÖ µ¿¾È ÇÒ ÀÏÀ» °èȹÇÕ´Ï´Ù(Áֱ⠰èȹ ȸÀÇ). À¯´Ö Å×½ºÆ®¸¦ ÅëÇØ ±¸ÇöµÈ Äڵ尡 À¯Àú ½ºÅ丮¸¦
¸¸Á·ÇÑ´Ù´Â °ÍÀ» È®½ÇÈ÷ ÇÕ´Ï´Ù. À¯´Ö Å×½ºÆ®¸¦ ÀÌ¿ëÇÔÀ¸·Î½á Æ´Æ´ÀÌ ¸®ÆÑÅ丵À» ÅëÇØ ÄÚµåÀÇ Áúµµ ³ôÀÏ ¼ö ÀÖ½À´Ï´Ù.
¦ ÇÁ·Î±×·¡¹ÖÀº
°³¹ßÀÚ »çÀÌ¿¡ ÀÇ»ç¼ÒÅëÀ» ¿øÈ°È÷ ÇÏ´Â ÇÑ ¹æ¹ýÀ̰í, ÄÚµå¿Í µ¿¶³¾îÁö°Ô µÇ°Å³ª ±×·¸Áö ¾Ê¾Æµµ ÀÐ¾î º¼ »ç¶÷ÀÌ ¾ø´Â ¹®¼¶ó¸é ¸¸µéÁö ¾Ê½À´Ï´Ù.
½ÉÁö¾î ¿ä±¸»çÇ× ºÐ¼®À̳ª ±¸Çö ÀÏÁ¤µµ ´çÀå ±¸ÇöÇÒ ³»¿ëÀÌ ¾Æ´Ï¶ó¸é ÀÚ¼¼È÷ ¸¸µéÁö ¾Ê½À´Ï´Ù. ¿ä±¸»çÇ×Àº Á¾Á¾ ¹Ù²î°í ¹Ì¸® ¸¸µç °èȹÀº ¾µ¸ð¾ø¾îÁö±â
¶§¹®ÀÔ´Ï´Ù.
ÇÏÁö¸¸ XP¸¦ µµÀÔÇϰíÀÚ ÇÒ °æ¿ì ÁÖÀÇÇØ¾ß ÇÒ °ÍµéÀÌ ÀÖ½À´Ï´Ù. »ç¶÷À̶õ ¿ø·¡ ÆíÇÏ°í ½¬¿î °ÍÀ» ÅÃÇÏ°í ºÒÆíÇÏ°í ¾î·Á¿î
°ÍÀº ¹ö¸®°íÀÚ ÇÏ´Â °æÇâÀÌ Àֱ⠶§¹®¿¡, ¹®¼¸¦ ¸¸µéÁö ¾Ê´Â´ÙµçÁö, ¹Ì¸®¹Ì¸® °èȹÇÏÁö ¾Ê´Â´ÙµçÁö, ¼¼¼¼ÇÏ°Ô ¼³°èÇÏÁö ¾Ê´Â´ÙµçÁö ÇÏ´Â °ÍÀº
¹Þ¾ÆµéÀ̱⠽±Áö¸¸, Äڵ带 ÀÛ¼ºÇϱâ Àü¿¡ À¯´Ö Å×½ºÆ®¸¦ ¸¸µç´ÙµçÁö Æ´Æ´ÀÌ ¸®ÆÑÅ丵À» ÇÑ´ÙµçÁö, °í°´°ú ÀÚÁÖ ¸¸³ª Áֱ⠰èȹ ȸÀǸ¦ ÇÑ´ÙµçÁö
±¸ÇöÀ̳ª ½ÂÀÎ Å×½ºÆ®¸¦ À§ÇÑ ¼¼ºÎ ½ºÆåÀ» Á¤ÇÑ´ÙµçÁö ÇÏ´Â °ÍÀº µîÇѽÃÇϱ⠽±½À´Ï´Ù.
¿¹Àü¿¡ ¾î¶² ¹«¼ú ¿µÈ¿¡ ÀÌ·± ¸»ÀÌ ³ª¿É´Ï´Ù.
¡°±æ ÀÌÂÊ ÆíÀ¸·Î ´Ù´Ï¸é ¾ÈÀüÇϰí, ±æ ÀúÂÊ ÆíÀ¸·Î ´Ù³àµµ ¾ÈÀüÇÏ´Ù. ÇÏÁö¸¸ Âþ±æ ÇѺ¹ÆÇÀ¸·Î °É¾î°¡¸é »ç°í°¡ ³´Ù.¡± ±âÁ¸ÀÇ ¹æ¹ý·ÐÀ» Á¦´ë·Î
»ç¿ëÇØµµ È¿À²Àº ¶³¾îÁúÁö ¸ð¸£Áö¸¸ ¾ÈÀüÇÏ°Ô ÇÁ·ÎÁ§Æ®¸¦ ¼öÇàÇÒ ¼ö ÀÖ°í, »õ·Î¿î ¹æ¹ý·ÐÀ» Á¦´ë·Î ÀÍÇô »ç¿ëÇØµµ ÇÁ·ÎÁ§Æ®¸¦ ¾ÈÀüÇÏ°Ô ¼öÇàÇÒ ¼ö
ÀÖ½À´Ï´Ù. ÇÏÁö¸¸ »õ·Î¿î ¹æ¹ý·ÐÀ» ¾î¼³ÇÁ°Ô µû¶óÇÏ´Ù°¡´Â ÇÁ·ÎÁ§Æ®¸¦ À§Çè¿¡ ºü¶ß¸®°Ô µË´Ï´Ù.
½Ã°£ÀÌ ¸ðÀÚ¶ö ¶§ ±¸ÇöÇÏÁö ¾Ê°Ô µÉ Áöµµ
¸ð¸¦ ºÎºÐÀ» ¹Ì¸® ÀÚ¼¼È÷ ¼³°èÇØ µÑ Çʿ䰡 ¾ø´Ù´Â ¸»ÀÌÁö ½ºÆåÀÌ ´ÚÄ¡´Â ´ë·Î ÀÏ´Ü ÄÚµùºÎÅÍ ÇÏ°í º¸¸é µÈ´Ù´Â °ÍÀº ¾Æ´Õ´Ï´Ù. ÀÐÁö ¾ÊÀ» ¹®¼¸¦
¸¸µå´À¶ó ½Ã°£°ú ³ë·ÂÀ» ³¶ºñÇÏÁö ¾Ê´Â ´ë½Å ¼Ò½º Äڵ忡 Ãæ½ÇÇÑ ÄÚ¸àÆ®¸¦ ´Þ¾Æ¾ß ÇÕ´Ï´Ù. ÇÔ²² ÀÏÇÏ´Â »ç¶÷ÀÌ ²À Àоî¾ß ÇÒ ¹®¼°¡ ÀÖ´Ù¸é ¹Ýµå½Ã
¸¸µé°í ¾ðÁ¦³ª ¼Ò½º ÄÚµå¿Í ÀÏÄ¡ÇÏ´Â Á¤º¸¸¦ Áö´Ïµµ·Ï °»½ÅÇØ¾ß ÇÒ °ÍÀÔ´Ï´Ù. Âü°íÀڷḦ º¸¸é XP¸¦ µµÀÔÇϰíÀÚ ÇÏ´Â »ç¶÷µéÀÌ ÁÖÀÇÇØ¾ß ÇÒ »çÇ×µéÀÌ Àß Á¤¸®µÇ¾î ÀÖ½À´Ï´Ù.
»õ·Î¿î
¹æ¹ý·ÐÀ» ´ëÇÒ ¶§¿¡´Â È®½ÇÈ÷ °øºÎÇϰí Á¤¸» Áß¿äÇÑ °ÍÀÌ ¹«¾ùÀÎÁö Àß »ý°¢Çؼ ¹Þ¾Æµé¿©¾ß ÇÕ´Ï´Ù. °³¹ß ÀÏÁ¤¿¡ ÂÑ°Ü ÇÁ·ÎÁ§Æ®¿¡ ´ëÇÑ ÅëÁ¦·ÂÀ» ÀÒ°í
ÀÖ´Ù¸é, XP¿Í °°Àº »õ·Î¿î ¹æ¹ý·Ðµµ °øºÎÇØ º¸°í ÇöÀçÀÇ °³¹ß °üÇà¿¡ ´ëÇØ¼µµ ´Ù½Ã Çѹø µ¹¾Æº¸±â ¹Ù¶ø´Ï´Ù. @
|

 |
 |
Á¤º¸) Çѱ¹ eXtreme Programming »ç¿ëÀÚ ¸ðÀÓ
http://xper.org/wiki/xp/
°ü½ÉÀÖ¾î¼ ÀоîºÃ´Âµ¥ ¾ÆÁ÷Àº Á¦°¡ ÇÏ´Â ¾÷¹«¶ûÀº °Å¸®°¡ ÀÖ±º¿ä. |
 |
 |
 |
XP¿¡ ´ëÇØ ÀÌ·± Àú·± °æ·Î·Î Á¤º¸¸¦ ¾ò°í Ã¥À» »ç¼ °øºÎµµ ÇØºÃ´Âµ¥, ¾ÆÁ÷±îÁö´Â Çö½Ç°ú ±«¸®°¡ ÀÖ´Â°Ç Æ²¸²¾ø´õ±º¿ä. °ÔÀÓ¾÷ü µî ³»ºÎ °³¹ß ¾÷¹«¿¡¼´Â Àß µµÀÔÇØ ¾²°í ÀÖ´Â °÷µµ ÀÖ´Ù´øµ¥, SI¾÷Á¾ ƯÈ÷ °ø°ø SI ÂÊ¿¡¼´Â Àß ¾È¸Â´Â ºÎºÐÀÌ ¸¹¾Æ¿ä. |
 |

|
 |
 |
 |
 |
iWiz ShareBase, ¨ÏCopyleft by iWiz.
For more information contact
.
|
º» À¥»çÀÌÆ®¿¡ °Ô½ÃµÈ À̸ÞÀÏ ÁÖ¼Ò°¡ ÀüÀÚ¿ìÆí ¼öÁý ÇÁ·Î±×·¥À̳ª
±× ¹ÛÀÇ ±â¼úÀû ÀåÄ¡¸¦ ÀÌ¿ëÇÏ¿© ¹«´ÜÀ¸·Î ¼öÁýµÇ´Â °ÍÀ» °ÅºÎÇϸç,
À̸¦ À§¹Ý½Ã¿¡´Â Á¤º¸Åë½Å¸Á¹ý¿¡ ÀÇÇØ Çü»çó¹úµÊÀ» À¯³äÇϽñ⠹ٶø´Ï´Ù.
[°Ô½ÃÀÏ 2004. 1. 31]
|
|
 |
 |
 |
 |
|
|