±è¼º sung21.kim@samsung.com£ü»ï¼º¼ÒÇÁÆ®¿þ¾î¸â¹ö½Ê ȸ¿øÀ¸·Î Ȱµ¿ÇÑ ¹Ù ÀÖ°í, ÇöÀç´Â »ï¼ºÀüÀÚ¿¡¼ ±Ù¹«Çϰí ÀÖ´Ù. Enterprise Architecture °³¹ß°ú °ü·ÃµÈ ½Ç¹« °æÇèÀ» °®°í ÀÖÀ¸¸ç ¼ÒÇÁÆ®¿þ¾î °øÇÐ ºÐ¾ß¿¡ ¸¹Àº °ü½ÉÀ» °®°í ÀÖ´Ù.
¿¾¸»¿¡ ‘¼Ò ÀÒ°í ¿Ü¾ç°£ °íÄ£´Ù’¶ó´Â ¼Ó´ãÀÌ Àִµ¥ ¼ÒÇÁÆ®¿þ¾î °³¹ß °üÁ¡¿¡¼ ºÁµµ ¿ì¸®¿¡°Ô Áß¿äÇÑ ±³ÈÆÀ» ÁØ´Ù. ºñ¿ë Ãø¸é¿¡¼ º¼ ¶§ ¼Ò ÀÒ°í ¿Ü¾ç°£À» °íÄ¡´Â °Í°ú ¼Ò ÀÒ±â Àü¿¡ ¿Ü¾ç°£À» °íÄ¡´Â °Í Áß ¾î¶² °ÍÀÌ ´õ ÀûÀº ºñ¿ëÀÌ µé±î? ´ç¿¬È÷ ¼Ò ÀÒ±â Àü¿¡ ¿Ü¾ç°£À» °íÄ¡´Â °ÍÀÌ´Ù. ¼Ò¸¦ ÀÒ°í ¿Ü¾ç°£À» °íÄ¡´Â °ÍÀº ¼Ò¸¦ ÀÒÀº °Í¿¡ ´ëÇÑ ¼Õ½Ç»Ó¸¸ ¾Æ´Ï¶ó ¿Ü¾ç°£ÀÌ ´Ù ºÎ¼Á®¼ ¸¹Àº ºÎºÐÀ» °íÃÄ¾ß Çϱ⠶§¹®¿¡ ¼Ò¸¦ ÀÒ±â Àü ¿Ü¾ç°£ÀÇ ÀϺθ¦ °íÄ¡´Â °Íº¸´Ù ´õ ¸¹Àº ºñ¿ëÀ» ÁöºÒÇØ¾ß¸¸ ÇÑ´Ù. ¿Ü¾ç°£ÀÌ °¡Áö°í ÀÖ´Â Á¶±×¸¶ÇÑ ÀáÀç °áÇÔÀ» ¹Ì¸® ¹ß°ßÇÏ°í °íÄ¥ ¼ö ÀÖ´Ù¸é ¼Ò°¡ ¶Ù¾î ³ª°¡¸ç¼ ¾öû³ª°Ô Å« ¹®Á¦·Î È®´ëµÇ°í ¹øÁ®°¡´Â °ÍÀ» ¸·À» ¼ö ÀÖÀ» °ÍÀÌ´Ù.
°áÇÔ°ú ºñ¿ë °ü°è
¼ÒÇÁÆ®¿þ¾î¿¡¼µµ ¸¶Âù°¡Áö·Î °³¹ß ½Ã Á¶±×¸¶ÇÑ ÀáÀç ¹ö±×°¡ ´Ù¸¥ ¸ðµâ¿¡ ¿µÇâÀ» ÁÖ¾î ´Ù¸¥ ¸ðµâ·Î ¹®Á¦°¡ ¹øÁ®°¡¸é¼ ÀÇÁ¸¼ºÀ» °®´Â ¸ðµç ¼ÒÇÁÆ®¿þ¾îÀÇ ¹ö±×·Î À̾îÁú ¼ö ÀÖ´Ù. ÀÌ·¯ÇÑ ¹ö±×¸¦ °³¹ß ´Ü°è¿¡ ÇØ°áÇÏÁö ¸øÇϰí Ãâ½ÃµÇ¾î »ç¿ëÀÚ°¡ ÀÌ¿ëÇÏ´Â ½ÃÁ¡¿¡¼ ¹ß»ýÇÑ´Ù¸é ¾öû³ ºñ¿ëÀ» »ç¿ëÇØ ¹®Á¦¸¦ ÇØ°áÇØ¾ß ÇÒ »Ó¸¸ ¾Æ´Ï¶ó ½Å·Úµµµµ ¶¥¿¡ ¶³¾îÁö°Ô µÉ °ÍÀÌ´Ù.
¹ö±×ÀÇ ¹ß»ý½ÃÁ¡¿¡ µû¶ó ÇØ°á ºñ¿ë¿¡ ¸¹Àº Â÷À̸¦ °¡Áö°Ô µÈ´Ù. °³¹ß ½ÃÁ¡¿¡ ¹ö±×°¡ ¹ß»ýµÇ¸é ¼Ò½º ÄÚµå ¼öÁ¤¸¸À¸·Î ³¡³´Ù. ±×·¯³ª Å×½ºÆ® ½ÃÁ¡¿¡ ¹ß»ýÇÏ°Ô µÇ¸é ¼Ò½º ÄÚµå ¼öÁ¤ À̿ܿ¡ ÆÐŰ¡ÇÏ´Â ÀÛ¾÷, Å×½ºÆ® ÆÀÀ¸·Î ¸±¸®ÁîÇÏ´Â ÀÛ¾÷, Å×½ºÆ® ÀÛ¾÷, ¹ö±×¸¦ ¸®Æ÷ÆÃÇÏ´Â ÀÛ¾÷, µð¹ö±ëÇÏ´Â ÀÛ¾÷ µî ¸¹Àº ºÎ°¡ÀûÀÎ ÀÛ¾÷ÀÌ ÇÊ¿äÇÏ°Ô µÈ´Ù. ¶ÇÇÑ Ãâ½ÃµÇ¾î »ç¿ëÀÚ ÀÌ¿ë ½ÃÁ¡¿¡ ¹ß»ýµÈ ¹ö±×´Â ¼Ò½º ÄÚµå ¼öÁ¤°ú Å×½ºÆ® ½ÃÁ¡¿¡ ¹ö±× ¹ß»ýÀ¸·Î ¼öÇàÇß´ø ÀÛ¾÷ À̿ܿ¡ ¾÷±×·¹À̵带 À§ÇÑ ¸±¸®Áî ÀÛ¾÷, ¾÷±×·¹À̵å ÀÛ¾÷ µî ´õ ¸¹Àº ºÎ°¡ÀûÀÎ ÀÛ¾÷ÀÌ ÇÊ¿äÇÏ°Ô µÈ´Ù. ÀÌ·¯ÇÑ ºÎ°¡ÀûÀÎ ÀÛ¾÷Àº ǰÁúÀ» ¶³¾î¶ß¸®¸ç ºñ¿ëÀ» Áõ°¡½Ãų »Ó¸¸ ¾Æ´Ï¶ó »ç¿ëÀڷκÎÅÍ ¼ÒÇÁÆ®¿þ¾î¿¡ ´ëÇÑ ½Å·Ú¸¦ ÀÒ°Ô µÈ´Ù. ±×·¯¹Ç·Î ¾ó¸¶³ª °áÇÔÀ» »¡¸® ¹ß°ßÇÏ´À³Ä°¡ ºñ¿ë¿¡ ¹ÐÁ¢ÇÑ °ü·ÃÀ» °®°Ô µÈ´Ù.
‘°áÇÔÀÇ ¹ß°ß½ÃÁ¡ÀÌ ºü¸¦¼ö·Ï ºñ¿ëÀº ³·¾ÆÁø´Ù.’
°áÇÔÀ» °É·¯³»´Â ÇÊÅÍ
¼ÒÇÁÆ®¿þ¾î ¼Ó¿¡ ¼û¾î ÀÖ´Â °áÇÔÀ» ¿Ïº®ÇÏ°Ô Ã£¾Æ ³¾ ¼ö ÀÖÀ»±î? °áÇÔÀ» ¿Ïº®ÇÏ°Ô Ã£¾Æ³»´Â °ÍÀº ºÒ°¡´ÉÇÏ´Ù.
¿ì¸®´Â º¸Åë °áÇÔÀ» ã´Â µ¥ Å×½ºÆ®¿¡ ¸¹Àº ºÎºÐÀ» ÀÇÁöÇϰí ÀÖ´Ù. ±×·¯¹Ç·Î ÇÁ·ÎÁ§Æ®¿¡¼ Å×½ºÆ®¿Í À¯Áöº¸¼ö°¡ Â÷ÁöÇÏ´Â ºñÁßÀÌ ³ôÀ» ¼ö¹Û¿¡ ¾ø´Ù. Å×½ºÆ®¿¡ ¸¹Àº ºÎºÐÀ» ÀÇÁöÇÒ¼ö·Ï °áÇÔÀ» ¹ß°ßÇÏ´Â ½ÃÁ¡ÀÌ ´Ê¾îÁö°í ±× °á°ú °áÇÔ ÇØ°á ºñ¿ëÀÌ ³ô¾ÆÁö°Ô µÈ´Ù. Å×½ºÆ®¶ó´Â °ÍÀº ÇÊÅÍ¿Í °°¾Æ¼ ¸ðµç ¹®Á¦¸¦ ã±â¿¡´Â ÇѰ谡 ÀÖ´Ù.
ÀÌ·¯ÇÑ ÇѰ踦 ±Øº¹Çϱâ À§ÇØ ´Ù¾çÇÑ ¹æ¹ýÀ¸·Î ´Ù¾çÇÑ °ªÀ¸·Î Å×½ºÆ®¸¦ ÁøÇàÇØ º¸Áö¸¸ Å×½ºÆ® ÄÉÀ̽º°¡ Ä¿¹öÇÒ ¼ö ÀÖ´Â ¼öÁØ¿¡ ÇѰ谡 ÀÖ´Â °ÍÀÌ´Ù. ¶ÇÇÑ µ¿ÀÏÇÑ Å×½ºÆ® ÄÉÀ̽º·Î ¹Ýº¹ÀûÀ¸·Î ¶È°°Àº Å×½ºÆ®°¡ ÀÌ·ïÁö¹Ç·Î ã¾ÆÁöÁö ¾Ê´Â °áÇÔÀº °è¼ÓÇØ¼ ã±â Èûµé°Ô µÈ´Ù.
.jpg)
<±×¸² 1> °áÇÔÀ» °É·¯³»´Â ÇÊÅÍ
±×·¸´Ù¸é Å×½ºÆ®¿¡¸¸ ÀÇÁöÇÒ °ÍÀÌ ¾Æ´Ï¶ó Å×½ºÆ® Àü¿¡ °áÇÔÀ» ãÀ» ¼ö ÀÖ´Â ¹æ¹ýÀ» ã¾Æ¾ß ÇÑ´Ù. °áÇÔÀ» °É·¯³»´Â ÇÊÅ͸¦ ±¸Çö ´Ü°è¿¡¼µµ Àû¿ëÇÑ´Ù¸é ´õ ¸¹Àº ÇÊÅͰ¡ »ý°Ü³ª°Ô µÇ°í ±× °á°ú ´õ ¸¹Àº °áÇÔÀÌ °É·¯Áö°Ô µÉ °ÍÀÌ´Ù. ±×·¯ÇÑ ¹æ¹ý ÁßÀÇ Çϳª°¡ ¹Ù·Î ÄÚµå ¸®ºäÀÌ´Ù. °³¹ßÀÚ°¡ °³¹ßÇÑ Äڵ带 ¸®ºäÇØ Äڵ忡 ÀáÀçµÈ °áÇÔÀ» »¡¸® ã¾Æ ÇØ°áÇϹǷΠ°áÇÔÀÌ È®´ëµÇ°í ¿Å°Ü°¡´Â °ÍÀ» ¸·À» ¼ö ÀÖ¾î Ãß°¡ÀûÀÎ °áÇÔÀÇ Áõ°¡¸¦ ¸·À» ¼ö ÀÖ´Ù. »Ó¸¸ ¾Æ´Ï¶ó °áÇÔÀ» »¡¸® ã¾Æ³»¾î ÀûÀº ºñ¿ëÀ¸·Î ½±°Ô °áÇÔÀ» ÇØ°áÇÒ ¼ö ÀÖ°Ô µÈ´Ù.
ÄÚµå ¸®ºä°¡ ÇϳªÀÇ ÇÊÅÍ ¿ªÇÒÀ» ÇÏ°Ô µÇ¸é ¸¹Àº °áÇÔÀ» ã¾Æ ÇØ°áÇÒ ¼ö ÀÖ´Ù. ÃÖÁ¾ÀûÀÎ °á°ú¹°¿¡ ´ëÇÑ °áÇÔÀÇ ¼ö¸¦ ¸¹ÀÌ ÁÙ¿©ÁÙ ¼ö ÀÖÀ¸¸ç À̸¦ ÅëÇØ ǰÁúÀÇ È®º¸¿Í ºñ¿ëÀ» ÁÙÀÏ ¼ö ÀÖ°Ô µÈ´Ù.
ÄÚµå ¸®ºä¿¡ µû¸¥ °áÇÔ ¼ö¿Í ºñ¿ë
10¸íÀÇ °³¹ßÀÚ°¡ °³¹ßÇÑ 10,000¶óÀÎÀÇ ÇÁ·ÎÁ§Æ®ÀÇ ÄÚµå ¸®ºä Àü°ú ÈÄÀÇ °á°ú¸¦ ºñ±³ÇØ º¸¸é <±×¸² 2>¿Í °°´Ù.
.jpg)
<±×¸² 2> ÄÚµå ¸®ºä¿Í °áÇÔ¼öÀÇ °ü°è
ÄÚµå ¸®ºä¸¦ ÇÏÁö ¾Ê°í »ç¿ëÀÚ¿¡°Ô ¹èÆ÷µÈ ¼ÒÇÁÆ®¿þ¾î´Â 194°³ÀÇ ¹ö±×°¡ ¹ß°ßµÇ¾úÁö¸¸ ÄÚµå ¸®ºä¸¦ ÇÏ°í »ç¿ëÀÚ¿¡°Ô ¹èÆ÷µÈ ¼ÒÇÁÆ®¿þ¾î´Â 32°³ÀÇ ¹ö±×¸¸ÀÌ ¹ß°ßµÇ¾úµíÀÌ ÄÚµå ¸®ºäÀÇ À¯¹«¿¡ µû¶ó ¹ö±×ÀÇ ¼ö¿¡ ¸¹Àº Â÷À̸¦ º¸À̰í ÀÖ´Ù. ÀÌ °á°ú¿Í °°ÀÌ ÄÚµå ¸®ºä¿¡¼ ¹Ì¸® ¸¹Àº ¹ö±×¸¦ ¹ß°ßÇϰí ÇØ°áÇÔÀ¸·Î½á Å×½ºÆ® ½ÃÁ¡°ú »ç¿ëÀÚ ÀÌ¿ë ½ÃÁ¡¿¡ ¹ß»ýÇÏ´Â ¹ö±×°¡ »ó´ëÀûÀ¸·Î ÁÙ¾îµé°Ô µÇ´Â °ÍÀÌ´Ù.
¶ÇÇÑ ¹ö±×ÀÇ ¹ß»ý ½ÃÁ¡Àº ¹ö±×¸¦ ÇØ°áÇÏ´Â ºñ¿ë°ú ¹ÐÁ¢ÇÑ °ü·ÃÀÌ ÀÖ´Ù. ´Ê°Ô ¹ß°ßµÈ ¹ö±×Àϼö·Ï ¹ö±×¸¦ ÇØ°áÇÏ´Â µ¥ ´õ ¸¹Àº ºñ¿ëÀÌ µé¾î°¡°Ô µÈ´Ù. ±×·¯¹Ç·Î ÄÚµå ¸®ºä Àü¿¡ ¼öÄ¡ÀûÀ¸·Î 162°³¿¡ À̸£´Â Ãß°¡ ¹ß»ý ¹ö±×´Â »ç¿ëÀÚ ÀÌ¿ë ÈÄ ¹ß»ýÇØ Àü ´Ü°è¿¡¼ ¹ß»ýÇÑ ¹ö±×¸¦ ÇØ°áÇÏ´Â ºñ¿ëº¸´Ùµµ ´õ ¸¹Àº ºñ¿ëÀ» ÁöºÒÇØ¾ß ÇÑ´Ù.
ÄÚµå ¸®ºä¿Í ºñ¿ëÀÇ °ü°è¸¦ º¸¸é <±×¸² 3>°ú °°´Ù. ÄÚµå ¸®ºä¸¦ ÇÏÁö ¾Ê°Ô µÇ¸é ¿ä±¸ºÐ¼®°ú ¼³°è ´Ü°è¿¡¼ ¹ß»ýÇÏ´Â °áÇÔÀÇ ¼ö´Â ÄÚµå ¸®ºä¸¦ ÇÒ ¶§º¸´Ù »ó´ëÀûÀ¸·Î ÀûÀº °áÇÔÀÌ ¹ß»ýÇÏÁö¸¸ °³¹ß, Å×½ºÆ®, ¸±¸®Áî ´Ü°è¿¡¼´Â ´õ ¸¹Àº °áÇÔÀÌ ¹ß»ýÇÑ´Ù. ¶ÇÇÑ ¸®ºä¸¦ ÇÏÁö ¾Ê°Ô µÇ¸é °áÇÔÀÌ ¹ß»ýÇÏ´Â ±â°£µµ ±æ¾îÁö°Ô µÇ¾î ºñ¿ëÀÌ °è¼ÓÀûÀ¸·Î Áõ°¡ÇÏ´Â ¿øÀÎÀÌ µÈ´Ù. ±× °á°ú ºñ¿ë Áõ°¡»Ó¸¸ ¾Æ´Ï¶ó ÇÁ·ÎÁ§Æ® Áö¿¬À¸·Îµµ À̾îÁú ¼ö ÀÖ´Ù.
.jpg)
<±×¸² 3> ÄÚµå ¸®ºä¿Í ºñ¿ëÀÇ °ü°è
ÄÚµå ¸®ºä ¼º°ø ¿ä¼Ò
ÄÚµå ¸®ºäÀÇ ¼º°ø ¿ä¼Ò·Î´Â üũ¸®½ºÆ®, Ãæ½ÇÇÑ Áغñ °úÁ¤, µ¥ÀÌÅÍ ¼öÁýÀÌ ÀÖ´Ù. ±¸ÇöµÈ Äڵ忡¼ Á¤È®ÇÏÁö ¾ÊÀº ºÎºÐ¿¡ ´ëÇØ¼´Â ¿ä±¸»çÇ×À» ´Ù½Ã üũÇÑ´Ù. ·ÎÁ÷¿¡ »ç¿ëÇÑ ¾Ë°í¸®ÁòÀ» ÀûÀýÇÏ°Ô »ç¿ëÇß´ÂÁö Ã¼Å©ÇØ¾ß ÇÑ´Ù. ±×¸®°í Àû¿ëµÈ ¸ÞÄ¿´ÏÁòÀÌ ½Ã½ºÅÛ¿¡ ¸Â°Ô Á¤È®ÇÏ°Ô Àû¿ëµÇ¾ú´ÂÁö, ÄÚµù ·êÀ» ÁöÄ×´ÂÁö, È®À强Àº ÀÖ´ÂÁö, ±¸Á¶´Â ÀûÀýÇÑÁö µî Äڵ忡 ´ëÇØ ¿©·¯ Ãø¸é¿¡¼ ÃÖ´ëÇÑ ¸¹Àº °ËÅä°¡ ÀÌ·ïÁ®¾ß ÇÑ´Ù. üũÇÒ Ç׸ñÀ» ¹Ì¸® Á¤Çسõ°í üũ¸®½ºÆ®¸¦ ¸¸µé¾î ¼öÇà ¶§¸¶´Ù üũÇÏ´Â ÇüÅ·ΠÁøÇàÇÏ´Â °Íµµ È¿°úÀûÀÌ´Ù. üũ¸®½ºÆ® Ç׸ñÀº Requirement, Algorithm, Data Structure, Performance, Usability, Extensibility, Scalability, Best Practice, Coding Guideline Áؼö, ÇÁ·Î±×·¥ ±¸Á¶ÀÇ ÀûÀý¼º, Library FunctionÀÇ ÀûÀýÇÑ »ç¿ë, Code Reuse °¡´É¼º µîÀÇ Ç׸ñÀ¸·Î ÇÊ¿äÇÑ »çÇ×À» Á¤¸®ÇØ Ã¼Å©¸®½ºÆ® ¸¸µé¾î ÁøÇàÇÒ ¼ö ÀÖ´Ù. Ãæ½ÇÇÑ Áغñ °úÁ¤À» À§ÇØ Àϰü¼º, ÀûÁ¤¼º, ÇÔÃ༺ÀÌ Àû¿ëµÈ »êÃâ¹°À» ÁغñÇϰí ÃæºÐÇÑ °ËÅä ½Ã°£À» ÇÒ´çÇØ ÄÚµå ¸®ºä¸¦ ÁøÇàÇØ¾ß ÇÑ´Ù. µ¥ÀÌÅÍÀÇ ¼öÁýÀº °¢ ´Ü°è¿¡ ¼Ò¿äµÇ´Â ½Ã°£, °áÇÔÀÇ ÇüÅ¿¡ µû¸¥ °áÇÔ ¼ö, º¸¿Ï¿¡ ¼Ò¿äµÈ ½Ã°£ µîÀÇ Á¤º¸¸¦ ¼öÁýÇÑ´Ù. À̸¦ ÅëÇØ üũ¸®½ºÆ®¸¦ º¸¿ÏÇÏ°í ¸®ºä ÇÁ·Î¼¼½º¸¦ °³¼±ÇØ Ç¥ÁØÈÇÏ´Â µ¥ Ȱ¿ëÇÏ°Ô µÈ´Ù.
ÄÚµå ¸®ºä ¹æ¹ý
ÄÚµå ¸®ºä¿¡´Â »ç¶÷ ±¸¼º¿¡ µû¶ó ¼¼ °¡Áö ÇüŰ¡ ÀÖÀ» ¼ö ÀÖ´Ù. ù°´Â È¥ÀÚ ÇÏ´Â Self Code ReviewÀÌ´Ù. ÀÌ´Â °³¹ßÀÚ°¡ ´çÀÏ °³¹ßÇÑ ¼Ò½º Äڵ带 ¸ÅÀÏ °³¹ßÀÚ ÀÚ½ÅÀÌ °ËÅäÇÏ´Â ¹æ½ÄÀ» ÀǹÌÇÑ´Ù. ¸ÅÀÏ ÀÚ½ÅÀÇ Äڵ忡 ´ëÇÑ ¸®ºä¸¦ ÅëÇØ ÇÏ·ç µ¿¾È ÀÚ½ÅÀÌ ÀÛ¾÷ÇÑ ¼Ò½º°¡ ³í¸®ÀûÀ¸·Î ÀÌ»óÀº ¾ø´ÂÁö¸¦ Æò°¡ÇÏ°í ¹®Á¦Á¡À» ã´Â´Ù. ÀûÀº ºñ¿ëÀ¸·Î È¿À²ÀûÀ¸·Î °áÇÔÀ» ¹ß°ßÇϰí Á¶±â¿¡ ¹®Á¦¸¦ ÇØ°áÇÒ ¼ö ÀÖ´Ù. È¥ÀÚ¼ ¸®ºä¸¦ ÁøÇàÇϹǷΠ½Ã°£Àû Á¦¾àµµ ¾ø¾î ÀÚ½ÅÀÌ ¸®ºä °¡´ÉÇÑ ½Ã°£´ë¿¡ ÄÚµå ¸®ºä¸¦ ÁøÇàÇÒ ¼ö ÀÖ´Â ÀåÁ¡ÀÌ ÀÖ´Ù. ¶ÇÇÑ ¹®Á¦°¡ ¹ß»ýÇÏ¸é ¹Ù·Î ÇØ°áÇØ ¹Ý¿µÇϹǷΠ¹®Á¦¿¡ ´ëÇÑ ºü¸¥ ÇØ°á°ú ¹Ý¿µÀÌ °¡´ÉÇÏ´Ù.
µÎ ¹øÂ°´Â 2¸íÀÌ ÇÔ²²ÇÏ´Â Peer Code ReviewÀÌ´Ù. ÀÌ´Â °³¹ßµÈ ¼ÒÇÁÆ®¿þ¾î¸¦ ¦ÀÌ µÇ´Â °³¹ßÀÚ¿Í ÇÔ²² ¸®ºäÇÏ¸é¼ ¼·ÎÀÇ ÀǰßÀ» ±³È¯Çϰí ÇÔ²² À߸øµÈ ºÎºÐÀ» ã¾Æ ¼öÁ¤ÇÏ´Â ÀÛ¾÷À» ÇÏ°Ô µÈ´Ù. »ó´ë¹æÀ» ÅëÇØ È¥ÀÚ ÀÛ¾÷ÇÒ ¶§ º¸Áö ¸øÇß´ø ¹ö±×¸¦ ¸¹ÀÌ ¹ß°ßÇÒ ¼ö ÀÖ´Â °ÍÀÌ ÀåÁ¡ÀÌ´Ù.
¼¼ ¹øÂ°´Â ¿©·¯ »ç¶÷ÀÌ ÇÔ²²ÇÏ´Â Team Code ReviewÀÌ´Ù. ÀÌ´Â Á¤±âÀûÀ¸·Î ÄÚµå ¸®ºä ȸÀǸ¦ ÅëÇØ °³¹ßÇÑ Äڵ忡 ´ëÇØ ¸®ºäÇÑ´Ù. ¸®ºä °á°ú¿¡ ´ëÇØ ÀǰßÀ» ±³È¯ÇÏ°í ¼Ò½º ÄÚµåÀÇ ¼öÁ¤°ú Ãß°¡°¡ ÀÌ·ïÁö°Ô µÈ´Ù. °³¹ßµÈ ¼ÒÇÁÆ®¿þ¾î¸¦ »óÀ§ °³¹ßÀÚ¿Í ÇÔ²² ¸®ºäÇÑ´Ù¸é »óÀ§ °³¹ßÀÚÀÇ Á¶¾ðÀ» ¾ò°í ÇÔ²² À߸øµÈ ºÎºÐÀ» ã°í ÇØ°áÇÒ ¼ö ÀÖ¾î È¿À²ÀûÀÌ´Ù. ÄÚµå ¸®ºäÀÇ ¸ñÀûÀº ÀûÀº ºñ¿ëÀ» µé¿© È¿À²ÀûÀ¸·Î °áÇÔÀ» ¹ß°ßÇϰí Á¶±â¿¡ ¹®Á¦¸¦ ÇØ°áÇÏ´Â µ¥ ÀÖÀ¸¹Ç·Î ÇöÀç ÀÚ½ÅÀÇ È¯°æ¿¡ ¸Â´Â ÀûÀýÇÑ ¹æ¹ýÀ» ¼±Á¤ÇØ ÁøÇàÇÏ´Â °ÍÀÌ ÁÁ´Ù.
Formal Inspection
¿©·¯ ¸íÀÇ Âü°¡ÀÚ°¡ ÇÁ¸°Æ®¹° ¶Ç´Â ÇÁ·ÎÁ§Å͸¦ ÀÌ¿ëÇØ ÁøÇàÇÑ´Ù. Âü°¡ÀÚ´Â ‘moderator’ ¶Ç´Â ‘controller’°¡ ÀÖÀ¸¸ç ȸÀǸ¦ Á¶Á÷ÇÏ°í ¸®ºä¸¦ ÄÁÆ®·ÑÇÏ¸ç ºÐÀïÀ» Á¶Á¤ÇÏ´Â ¿ªÇÒÀ» ¼öÇàÇÑ´Ù. ¸ðµç Âü°¡ÀÚ´Â ¸®ºä¸¦ ÁغñÇϱâ À§ÇØ »çÀü¿¡ ¹®Á¦¸¦ Àаí Âü¼®ÇÏ°Ô µÇ¸ç °¢ Âü¼®ÀÚ´Â °íÀ¯ÀÇ ·ÑÀÌ ÇÒ´çµÇ´Âµ¥ ¸®ºä¸¦ ÇÏ´Â »ç¶÷Àº °áÇÔÀÌ ¹ß°ßµÇ¸é ÀÚ¼¼ÇÑ »çÇ×À» ³²°Ü³õ°Ô µÈ´Ù. ³²°Ü³õ´Â Á¤º¸´Â À§Ä¡, ½É°¢¼º, ŸÀÔ(¾Ë°í¸®Áò, ¹®¼È, µ¥ÀÌÅÍ »ç¿ë, ¿¡·¯ ó¸®), ¿¡·¯°¡ ¹ß»ýÇÑ ½ÃÁ¡(°³¹ßÀÚ ½ÃÁ¡, µðÀÚÀÎ ½ÃÁ¡, ¿ä±¸»çÇ× ½ÃÁ¡) µîÀÇ Á¤º¸¸¦ ÁÖ±âÀûÀ¸·Î ¸®ºäÇÏ¸ç »ó¼¼È÷ ³²±â°Ô µÈ´Ù. ÀÌ·¸°Ô ¹ß°ßµÈ °áÇÔÀº Rework ÀÛ¾÷À» ÅëÇØ ¼öÁ¤ÇÏ°í ¹Ý¿µÇÑ´Ù.
.jpg)
<±×¸² 4> Formal Inspection Process
È¿°úÀûÀÎ ÄÚµå ¸®ºä°¡ µÇ±â À§Çؼ´Â ´Ù¸¥ Á¤º¸¿¡ ´ëÇÑ Åë°èµµ °®´Â °ÍÀÌ ÁÁ´Ù. ¸®ºä ½Ã ³²°Ü ³õÀº ¸®ºä ½Ã°£, ¸®ºäÀ², ¹®Á¦ ¹ß»ý °³¼ö¿¡ ´ëÇÑ Åë°è´Â ¸®ºä¸¦ ÅëÇØ ¾òÀº È¿°ú¸¦ È®ÀÎ ÇÒ ¼ö ÀÖÀ¸¸ç ´ÙÀ½ ¸®ºä¿¡ ´ëÇÑ ¹æÇâÀ» Á¦½ÃÇÑ´Ù. È¿°úÀûÀÎ ¸®ºä¸¦ À§Çؼ´Â ±³À°ÀÌ ÇÊ¿äÇϸç À̰ÍÀº Ãß°¡ÀûÀÎ ½Ã°£°ú ºñ¿ëÀ» ¿ä±¸ÇÑ´Ù.
Over-The-Shoulder
°³¹ßÀÚ°¡ Äڵ带 º¯°æÇÏ´Â ÀÛ¾÷À» ÁöÄѺ¸¸é¼ Űº¸µå¿Í ¸¶¿ì½º¸¦ ÀÌ¿ëÇØ ´Ù¾çÇÑ ÆÄÀÏÀ» ¿°í º¯°æµÈ ºÎºÐÀ» °¡¸®Å°°í ¼³¸íÇÏ¸é¼ ¸®ºä¸¦ ÁøÇàÇÑ´Ù. ¸®ºä¸¦ ÁøÇàÇÒ ¶§ ÅøÀ» ÀÌ¿ëÇÑ´Ù¸é º¯°æµÈ ³»¿ë¿¡ ´ëÇØ ½±°Ô È®ÀÎÇÒ ¼ö ÀÖ°í ÀÌÀü ¹öÀü°úÀÇ Â÷ÀÌÁ¡À» ½±°Ô ºñ±³ÇÒ ¼ö ÀÖ´Ù. µ¥½ºÅ©Åé °øÀ¯ ¼ÒÇÁÆ®¿þ¾î¸¦ ÅëÇÑ ÄÚµå ¸®ºä´Â ¿ø°Å¸®¿¡¼µµ ÄÚµå ¸®ºä¸¦ °¡´ÉÇÏ°Ô ÇÑ´Ù. ±×·¯³ª ¸®ºäÇÏ´Â »ç¶÷ÀÌ ¼·Î ¿ø°Å¸®¿¡ ¶³¾îÁ® ÀÖ´Ù¸é ½ºÄÉÁÙÀ» ¼·Î ¸ÂÃç¾ß Çϰí ÀüÈ·Î Ä¿¹Â´ÏÄÉÀ̼ÇÇØ¾ß ÇÏ´Â ¾î·Á¿òÀÌ µû¸¥´Ù. Ưº°ÇÑ ÀýÂ÷°¡ ¾ø°í ¸¹Àº »ç¶÷µéÀÌ ¸®ºä¿¡ Âü¿©ÇÏÁö ¾ÊÀ¸¹Ç·Î ½ÇÇàÀÌ °£´ÜÇÏ°í ´©±¸µçÁö, ¾îµð¿¡ ÀÖ´øÁö ±³À° ¾øÀÌ ½ÇÇàÇÒ ¼ö ÀÖ´Ù. ¸®ºä¸¦ ¼·Î ¶³¾îÁ® ÁøÇàÇÑ´Ù¸é ÇÔ²² ¸®ºäÇØ ¾òÀ» ¼ö ÀÖ´Â ÀÌÁ¡À» ÀÒ°Ô µÇ¹Ç·Î °¡´ÉÇÏ¸é °°Àº Àå¼Ò¿¡¼ ÇÔ²² ÄÚµå ¸®ºä¸¦ ÁøÇàÇÏ´Â °ÍÀÌ ÁÁ´Ù.
.jpg)
<±×¸² 5> Over-The-Shoulder Process
Email-Pass-Around
ÀϹÝÀûÀÎ ÄÚµå ¸®ºä ¹æ½ÄÀ¸·Î ¿ÀǼҽº ÇÁ·ÎÁ§Æ®¿¡¼ ¼±È£ÇÏ´Â ¹æ½ÄÀÌ´Ù. Àüü ÆÄÀϰú º¯°æµÈ ³»¿ëÀº ÀÛ¼ºÀÚ¿¡ ÀÇÇØ ÆÐŰ¡µÇ¾î ¸®ºäÇÏ´Â »ç¶÷¿¡°Ô ¸ÞÀÏ·Î Àü´ÞµÇ°í ¸®ºäÇÏ´Â »ç¶÷Àº ÀÛ¼ºÀÚ³ª ´Ù¸¥ °³¹ßÀÚ¿Í ÅäÀÇÇϰí Áú¹®ÇØ º¯°æÇÒ ³»¿ë¿¡ ´ëÇØ Á¦¾ÈÇÏ°í ÆÄÀÏÀ» ½ÇÇèÇÑ´Ù. ¹öÀü ÄÁÆ®·Ñ ½Ã½ºÅÛÀÇ µµ¿òÀ» ¹Þ´Â´Ù¸é ¹öÀü ÄÁÆ®·Ñ ½Ã½ºÅÛ¿¡ üũÀÎÇÔÀ¸·Î½á üũÀÎ ÄÚµå¿Í °ü·ÃµÈ »ç¶÷¿¡°Ô ¸ÞÀÏÀ» º¸³»´Â µîÀÇ Æí¸®ÇÑ ±â´ÉÀ» ÀÌ¿ëÇÒ ¼öµµ ÀÖ´Ù.
ÆÄÀÏÀ» ¾ò¾î¿À±â À§ÇÑ ½Ã°£Àº ´õ °É¸®Áö¸¸ Over-The-Shoul der¿Í °°ÀÌ ½±°Ô °¡´ÉÇÏ´Ù.
.jpg)
<±×¸² 6> Email-Pass-Around Process
Pair-Programming
¹ö±× ã±â¿Í Áö½Ä Àü´ÞÀ̶ó´Â µÎ ¸¶¸® Åä³¢¸¦ ÇѲ¨¹ø¿¡ ÀâÀ» ¼ö ÀÖ´Â ¸Å¿ì È¿À²ÀûÀÎ ¹æ¹ýÀÌ´Ù. ¸®ºäÇÏ´Â °³¹ßÀÚ´Â ¼Ò½º Äڵ忡 ±íÀÌ ÀÖ°Ô °ü¿©ÇÏ°Ô µÇ¸ç ±× °úÁ¤¿¡¼ ¹ö±×¸¦ ÇÔ²² ã°í ÇØ°áÇÏ¸é¼ ¼·ÎÀÇ Áö½ÄÀÌ Àü´ÞµÈ´Ù. ¶ÇÇÑ ÀÌ·¯ÇÑ °úÁ¤Àº ÀÚµ¿ÀûÀ¸·Î °³¹ßÀÚ°£ÀÇ ¼Ò½º ¹é¾÷À¸·Î À̾îÁø´Ù. ±×·¯³ª °¡Àå Å« ºÒ¸¸Àº ½Ã°£ÀÌ ³Ê¹« ¸¹ÀÌ ¼Ò¿äµÈ´Ù´Â °ÍÀÌ´Ù. ¶ÇÇÑ °°Àº Àå¼Ò¿¡ ÀÖ¾î¾ß ÇÑ´Ù´Â Àå¼ÒÀû Á¦¾àÀÌ Å©´Ù. ±×·¯³ª óÀ½¿¡´Â µÎ »ç¶÷ÀÌ ÇϳªÀÇ ÀÛ¾÷À» °°ÀÌ ÇϹǷΠ½Ã°£ÀÌ ¸¹ÀÌ ¼Ò¿äµÇ´Â °Íó·³ ´À²¸ÁöÁö¸¸ ¹ß»ý °¡´ÉÇÑ °áÇÔÀ» ¹Ì¸® ã¾Æ ÇØ°áÇϰųª °áÇÔÀÌ ¹ß»ýÇÏÁö ¾Êµµ·Ï ÇÔÀ¸·Î½á ÇÁ·ÎÁ§Æ® ÈĹݺο¡¼´Â ¹ß»ýÇÏ´Â °áÇÔ ¼ö¸¦ ÁÙÀ̰í À̸¦ ÅëÇØ ÇÁ·ÎÁ§Æ® Àüü ±â°£ÀÇ °üÁ¡¿¡¼ ½Ã°£À» ´õ ÁÙÀÏ ¼ö ÀÖ´Ù. ¾î¶² °³¹ßÀÚ´Â Pair-ProgrammingÀ» ½È¾îÇϴµ¥ ±× ÀÌÀ¯´Â ´©°¡ ÆÄÆ®³Ê°¡ µÇ´ÂÁö°¡ Å« ºñÁßÀ» Â÷ÁöÇϱ⠶§¹®ÀÌ´Ù. ±×·¯¹Ç·Î Çù¾÷ÀÌ Àß µÉ ¼ö Àִ ȯ°æ°ú ¼·Î°£ÀÇ ¼º°Ýµµ ÃæºÐÈ÷ °í·ÁÇØ¾ß ÇÑ´Ù. ÄÚµå ¸®ºä¿¡ °¡Àå ¸¹Àº ½Ã°£ÀÌ ¼Ò¿äµÇÁö¸¸ °¡Àå ¸¹Àº °áÇÔÀ» ãÀ» ¼ö ÀÖ´Â ¹æ¹ýÀÌ´Ù.
Tool-Assisted
ÄÚµå ¸®ºä¿¡ Æ¯ÈµÈ ÅøÀ» »ç¿ëÇÏ´Â ¹æ¹ýÀÌ´Ù. Automated file gathering ÅøÀº ¹öÀü ÄÁÆ®·Ñ ½Ã½ºÅÛ°ú ÅëÇÕ(integration)µÇ¾î¾ß Çϸç ÇöÀç ¹öÀü°ú ÀÌÀü ¹öÀüÀÇ Â÷À̸¦ ½±°Ô ¾ò¾î¿Ã ¼ö ÀÖ¾î¾ß ÇÑ´Ù. ÅøÀº ÀÌ¹Ì Ã¼Å©ÀÎµÈ ¹öÀü°ú üũÀεÇÁö ¾Ê´Â ¹öÀüÀ» È®ÀÎ °¡´ÉÇØ¾ß ÇÑ´Ù. Combined display°¡ Àִµ¥ ¸®ºäÇÏ´Â »ç¶÷°ú °³¹ßÀڴ ƯÁ¤ ÆÄÀϰú ¶óÀÎ ¼ö¸¦ ÀÌ¿ëÇØ À̾߱âÇÒ ¼ö ÀÖµµ·Ï µ½°Ô µÈ´Ù. ±×·¯¹Ç·Î ÅøÀº ÆÄÀÏÀ» µð½ºÇ÷¹ÀÌÇϰí ÀÌÀü ÀÌÈÄ ÆÄÀÏÀÇ Â÷À̸¦ º¼ ¼ö ÀÖ¾î¾ß ÇÑ´Ù. Automated metrics collection ÅøÀº ¸®ºä¿¡ ´ëÇÑ Á¤È®ÇÑ ÃøÁ¤Ä¡¸¦ ¼öÁýÇÏ¹Ç·Î½á ¸®ºä ÇÁ·Î¼¼½º¿¡ ´ëÇÑ ÀÌÇØ¿Í Æò°¡¸¦ °¡´ÉÇÏ°Ô ÇÑ´Ù. ÅøÀ» ÅëÇØ ½Ã°£´ç ¸®ºä ¶óÀÎ ¼ö(kLOC/hour, inspection rate), ½Ã°£´ç ¿À·ù °ËÃâ·ü(defect/hour, defect rate), ¿À·ù ºÐÆ÷(defects/kLOC, defect density) Á¤º¸¸¦ ¾òÀ» ¼ö ÀÖ´Ù.
Âü°í ÀÚ·á
1. Jason Cohen, Best Kept Secrets of Peer Code Review, 2006
2. ÀλçÀÌÆ®, ÀͽºÆ®¸² ÇÁ·Î±×·¡¹Ö 2ÆÇ, 2006
3. WILEY, Architecting Enterprise Solutions, 2004