ÄãºÃ£¬»¶Ó­À´µ½¾­¹ÜÖ®¼Ò [µÇ¼] [×¢²á]

ÉèΪÊ×Ò³ | ¾­¹ÜÖ®¼ÒÊ×Ò³ | Êղر¾Õ¾

[ÞDÙN] Èí¼þÏîÄ¿¹ÜÀíÖеġ°Ãô½ÝÁ÷³Ì¡±

·¢²¼Ê±¼ä£º À´Ô´£ºÈË´ó¾­¼ÃÂÛ̳
1991ÄêÇÔÚÃÀ¹úÀÕº£´óѧÑÇ¿Æ¿¨Ñ§ÔºµÄÒ»·ÝÑо¿±¨¸æ¡¶21ÊÀ¼ÍÃÀ¹úÖÆÔìÒµµÄÕ½ÂÔ£ºÒ»¸ö¹¤ÒµÖ÷µ¼µÄ¹Ûµã¡·ÖУ¬Ê×´ÎÌá³öÁËÃô½Ý¾ºÕùµÄ¸ÅÄî¡£ºÎνÃô½Ý£¨Agility£©£¿¶ÔÓÚÆóÒµ¶øÑÔ£¬Ãô½ÝÒâζ×ÅÆóÒµÄܹ»Ôڹ˿ͻú»á²»¶Ï±ä»¯¡¢ÄÑÒÔÔ¤²âµÄ¾ºÕù»·¾³ÖÐÓ®ÀûÔËÓª£»¶ÔÓÚ¸öÈ˶øÑÔ£¬Ãô½ÝÖ¸ÔÚÆóÒµ¶ÔÄÑÒÔÔ¤²âµÄ¹Ë¿Í»ú»á×ö³ö·´Ó¦£¬²»¶ÏÖØ×éÆäÈËÁ¦ºÍ¼¼Êõ×ÊÔ´µÄ¹ý³ÌÖУ¬¸öÈËÄܹ»¶ÔÓ®Àûµ×Ïß×ö³ö¹±Ï×£¬Ìá¸ßÆóÒµµÄ¾»ÊÕÈë¡£Òò´Ë£¬Ãô½Ý¿ÉÒÔ¿´×÷ÊǶԱ仯ºÍ²»È·¶¨µÄÈ«Ãæ·´Ó¦¡£
¡¡¡¡±ä»¯ºÍ²»È·¶¨£¬¶ÔÓÚÈí¼þÒµÀ´Ëµ£¬ÊǶàôÊìϤ¶øÓÖÈÃÈË·³ÄÕµÄÃû´Ê¡£Èí¼þ¹¤³Ì×Ôµ®ÉúÒÔÀ´£¬Ò»Ö±ÊÔͼͨ¹ý¼¼ÊõºÍ¹ÜÀíµÄÊÖ¶ÎÀ´½µµÍÈí¼þÏîÄ¿µÄ²»È·¶¨ÐÔ¡£ÔÚÕâ¸öÃÀºÃµÄÔ¸¾°Ö¸µ¼Ï£¬×¨¼ÒÃÇ·¢Ã÷Á˽ṹ»¯¡¢·¢Ã÷ÁËÃæÏò¶ÔÏó¡¢·¢Ã÷ÁËCMM£¬ÕâЩеļ¼ÊõºÍ·½·¨µÄÈ·ÓÐÖúÓÚ¡°Èí¼þΣ»ú¡±µÄ½â¾ö£¬´Ù½øÁËÈí¼þÒµµÄ·¢Õ¹£»È»¶ø£¬³¬Ö§¡¢³¬Ê±¡¢µÍÖÊÁ¿µÄÀÏÎÊÌⲢδµÃµ½¸ù±¾½â¾ö¡£ÎªÁ˶Կ¹²»È·¶¨£¬Èí¼þ¿ª·¢Ô½À´Ô½¸´ÔÓ£¬Ô½À´Ô½ÅӴ󣬴«Í³µÄÖØÁ¿¼¶£¨Heavy Weight£©·½·¨µÄ¸±×÷ÓÃÒ²Ô½À´Ô½Ã÷ÏÔ¡ª¡ª×éÖ¯Ó·Öס¢°ìʵÍЧ¡¢¹ÙÁÅÖ÷Òå...
¡¡¡¡Ïà¶ÔÓÚÖØÁ¿¼¶·½·¨£¬Èí¼þÒµÒ»Ö±ÓÐÁíÒ»ÖÖÉùÒôÔÚ£¬ÄǾÍÊÇÇáÁ¿¼¶·½·¨£¨Light Weight£©£¬ÆäÄ¿±êÊÇÒÔ½ÏСµÄ´ú¼Û»ñµÃÖØÁ¿¼¶Ï൱µÄЧ¹û¡£
¡¡¡¡×ʢÃûµÄÇáÁ¿¼¶·½·¨ÊÇXP¡£XPÊÇExtreme ProgrammingµÄËõд£¬´Ó×ÖÃæÉÏ¿ÉÒÔÒëΪ¼«¶Ë±à³Ì¡£µ«ÊÇ£¬XP²¢²»½ö½öÊÇÒ»ÖÖ±à³Ì·½·¨£¬Ò²²»ÊÇÖÐÎÄÖÐÀí½âµÄÄÇÖÖ²»¿ÉÀíÓ÷µÄ¡°¼«¶Ë¡±»¯×ö·¨¡£Êµ¼ÊÉÏ£¬XPÊÇÒ»ÖÖÉóÉ÷µÄ£¨deliberate£©¡¢ÓмÍÂÉ£¨disciplined£©µÄÈí¼þÉú²ú·½·¨¡£XP£¨Extreme Programming£©Ö²¸ùÓÚÉϸöÊÀ¼Í80Äê´úºóÆÚµÄSmalltalkÉçÇø¡£90Äê´ú£¬Kent BeckºÍWard Cunningham°ÑËûÃÇʹÓÃSmalltalk¿ª·¢Èí¼þµÄÏîÄ¿¾­Ñé×ܽáºÍÀ©Õ¹£¬Öð²½ÐγÉÁËÒ»ÖÖÇ¿µ÷ÊÊÓ¦ºÍÒÔÈËΪµ¼ÏòµÄÈí¼þ¿ª·¢·½·¨¡£
¡¡¡¡XPµÄºËÐÄÊÇËÄ´ó¼ÛÖµ£¬¼´¸ÄÉƹµÍ¨£¨communication£©£¬Ñ°Çó¼òµ¥£¨simplicity£©£¬»ñµÃ·´À¡£¨feedback£©ºÍ¸»ÓÐÓÂÆø£¨courage£©¡£ÔÚ´Ë»ù´¡ÉÏ£¬XP×ܽá³öÁËÈí¼þÉú²úµÄÊ®ÓàÌõ×ö·¨£¨practice£©£¬Éæ¼°Èí¼þÉè¼Æ¡¢²âÊÔ¡¢±àÂë¡¢·¢²¼µÈ¸÷¸ö»·½Ú¡£ÓëÆäËüÇáÁ¿¼¶·½·¨Ïà±È£¬XP¶ÀÒ»ÎÞ¶þµÄÍ»³öÁ˲âÊÔµÄÖØÒªÐÔ£¬ÉõÖÁ½«²âÊÔ×÷ΪÕû¸ö¿ª·¢µÄ»ù´¡£¬Ã¿¸ö¿ª·¢ÈËÔ±²»½öÒªÊéдÈí¼þ²úÆ·µÄ´úÂ룬ͬʱҲ±ØÐëÊéдÏàÓ¦µÄ²âÊÔ´úÂ룻ËùÓÐÕâЩ´úÂëͨ¹ý³ÖÐø¹¹½¨ºÍ¼¯³É£¨Continuous Build & Integration£©ÎªÏÂÒ»²½µÄ¿ª·¢´ò¶¨ÁËÒ»¸ö¸ß¶ÈÎȶ¨µÄ»ù´¡Æ½Ì¨¡£ÓÐÁËÕâÑùµÄ»ù´¡Æ½Ì¨µÄ±£Ö¤£¬XP¾Í¿ÉÒÔʵʩÈí¼þÉè¼ÆµÄÔÙÔ죨Refactoring£©¡£XPµÄÉè¼ÆÀíÄîÊÇ£¬ÔÚÿ´Îµü´úÖÜÆÚ½ö½öÉè¼ÆÕâ´Îµü´úËùÒªÇóµÄ²úÆ·¹¦ÄÜ£¬Éϴεü´úÖÜÆÚÖеÄÉè¼Æͨ¹ýRefactoringÐγɴ˴εÄÉè¼Æ¡£
¡¡¡¡2001Äê2Ô£¬ÔÚÃÀ¹úÓÌËûÖݵÄÒ»¸ö»¬Ñ©³¡£¬17λÇáÁ¿¼¶Èí¼þ¿ª·¢·½·¨µÄ´´Ê¼È˺Íר¼Ò£¬°üÀ¨Kent Beck£¨Extreme Programming£©¡¢Alistair Cockburn£¨Crystal Methodologies£©¡¢Jim Highsmith£¨Adaptive Software Development£©µÈµÈ£¬¹²Í¬·¢²¼ÁË¡°The Manifesto for Agile Software Development¡±£¨Ãô½ÝÈí¼þ¿ª·¢ÐûÑÔ£©¡£Õâ±íÃ÷£¬ÔÚÈíÒµ¾­ÀúÁËÎÞÊý´ÎµÄÏîĿʧ°ÜÖ®ºó£¬ÈËÃÇ¿ªÊ¼·´Ë¼Èí¼þ¿ª·¢µÄ¹¤³ÌÌØÐÔ£¬·´Ë¼¼Æ»®ºÍ¿ØÖƵÄÓÐЧÐÔ£¬·´Ë¼¹ýÈ¥¶ÔÓÚ²»È·¶¨ÐÔµÄ̬¶ÈºÍ·´Ó¦¡£Ãô½ÝÖÕÓÚΪÕâ¸öÐÐÒµ£¬ÒÔ¼°Õâ¸öÐÐÒµÖеÄһЩÈËËùÈÏʶ¡¢Àí½âºÍÍƳ硣
¡¡¡¡Óë»áÕßÖ®Ò»Martine FowlerÔÚÆäºóÀ´µÄÎÄÕ¡°The New Methodology¡±ÖÐÕâÑù½âÊÍÖØÁ¿¼¶¡¢ÇáÁ¿¼¶ºÍÃô½Ý£º
¡¡¡¡ÇáÁ¿¼¶ÓëÖØÁ¿¼¶µÄ²îÒìÀ´×ÔÓÚÈËÃǶÔÁ½ÖÖ·½·¨µÄÎĵµÊýÁ¿µÄÖ±¹Û¸ÐÊÜ£¬¼´ÇáÁ¿¼¶·½·¨½ÏÉÙ²úÉúºÍÒÀÀµÓÚÅÓ´óµÄÎĵµ£¬µ«ÕâÖ»ÊÇÒ»¸ö±íÃæÏÖÏó£»ÔÚÖî¶àµÄÇáÁ¿¼¶·½·¨Ö®¼ä´æÔÚןܶàÏàͨµÄµØ·½£¬Ãô½Ý¸üÇ¡µ±µÄ±í´ïÁËÕâЩÇáÁ¿¼¶·½·¨µÄ×î¸ù±¾Ö®´¦¡£
¡¡¡¡Ê×ÏÈ£¬Ãô½ÝÇ¿µ÷ÊÊÓ¦£¬¶ø·ÇÔ¤²â¡£ÖØÁ¿¼¶·½·¨»¨·Ñ´óÁ¿µÄÈËÁ¦ÎïÁ¦£¬ÊÔͼÖƶ©ÏêϸµÄ¼Æ»®À´Ö¸µ¼³¤ÆڵŤ×÷£¬¶øÒ»µ©Çé¿ö±ä»¯£¬ÄÇô¼Æ»®¾Í²»ÔÙÊÊÓá£Òò´Ë±¾ÖÊÉÏÖØÁ¿¼¶·½·¨ÊǵÖÖƱ仯µÄ£¬¶øÃô½Ý·½·¨ÔòÇ¿µ÷ÊÊÓ¦±ä»¯¡£Æä´Î£¬Ãô½Ý·½·¨ÒÔÈËΪÖÐÐÄ£¬¶ø·ÇÒÔÁ÷³ÌΪÖÐÐÄ£¨¼´ÒÔÊÂΪÖÐÐÄ£©¡£Ãô½Ý·½·¨Ç¿µ÷Èí¼þ¿ª·¢Ó¦Ë³ºõ±¾ÐÄ£¨work with people''s nature £©£¬Èí¼þ¿ª·¢Ó¦´øÀ´ÀÖȤ¡£
¡¡¡¡Ãô½ÝÁ÷³Ì£¨Agile Process£©¼³È¡ÖÚ¶àÇáÁ¿¼¶·½·¨µÄ¡°¾«»ª¡±£¬¸ü¼ÓÇ¿µ÷¶Ô±ä»¯µÄÊÊÓ¦ºÍ¶ÔÈËÐԵĹØ×¢¡£³ýÁËÉÏÃæ½éÉܵÄXPÒÔÍ⣬ÆäËûÖªÃûµÄÃô½ÝÁ÷³Ì°üÀ¨£º
¡¡¡¡1.Crystal
¡¡¡¡CystalÊÂʵÉϲ»ÊÇÒ»ÖÖ¿ª·¢·½·¨£¬¶øÊÇһϵÁеķ½·¨¡£ÒòΪCrystalµÄ·¢Ã÷ÈËAlistair CockburnÈÏΪ£¬²»Í¬ÀàÐ͵ÄÏîÄ¿ÐèÒª²ÉÓò»Í¬µÄ·½·¨¡£Alistair Cockburn´ÓÁ½¸öά¶ÈÀ´»®·ÖÏîÄ¿£¬Ò»ÊÇÏîÄ¿¹æÄ££¬ÒÔÈËÊý¼ÆË㣻¶þÊDzúÆ··¢Éú´íÎóµÄºó¹û£¬ÒÔÑÏÖØÐÔ¼ÆËã¡£
¡¡¡¡Crystal·½·¨¼¯Ò²ÐγÉÓÚ90Äê´ú£¬µ±Ê±£¬Cockburn½ÓÊÜÁËIBMµÄÈÎÎñȥдһЩ¹ØÓÚ¿ª·¢·½·¨µÄ¶«Î÷¡£Ïà¶Ô¶øÑÔ£¬CrystalµÄ¸öÈËÉ«²ÊÒªµ­Ð©£¬ÒòΪËü²»½öÀ´Ô´ÓÚCockburnµÄ¸öÈ˾­Ñ飬¶øÇÒÒ²À´Ô´ÓÚCockburn×߷õĺܶ಻ͬµÄÏîÄ¿£»¶øCockburn±¾ÈËÒ²½ÏΪ˼Ï뿪·Å£¬ÀÖÓÚ½ÓÊÜ¡°Òì¼û¡±¡£
¡¡¡¡ÔÚÒÔÈËΪµ¼ÏòÉÏ£¬CrystalºÍÆäËûÃô½Ý·½·¨ÓÐЩ²îÒì¡£ÔÚCockburn¿´À´£¬×ÔÓÉÊÇÈËÖ®±¾ÐÔ£¬ÒªÈË×ñÊؼÍÂÉ×ÜÊÇÓÐÄѶȵģ»Òò´Ë£¬ÒªÔÚ¹¤×÷Éú²úÂʺÍÁ÷³ÌµÄ¼ÍÂÉÐÔÖ®¼ä×÷һȨºâ¡£Á÷³ÌÒªÒ×ÓÚ×ñÕÕÖ´ÐУ¬¶øÕâÊÇÒÔÎþÉüÉú²úÂÊΪ´ú¼ÛµÄ¡£CockburnÈÏΪ£¬XPµÄÁ÷³Ì¹æ·¶ÈÔÌ«¸´ÔÓºÍÄÑÓÚÖ´ÐУ¬¶ø²ÉÓÃCrystalËäÈ»Éú²úÂʲ»ÈçXP£¬µ«¿ª·¢ÈËÔ±¸üÀÖÓÚ²ÉÓá£CystalҲǿµ÷ÔÚÿ¸öµü´úºóµÄReview£¬²¢ÒԴ˽øÐÐCystal·½·¨µÄ×ÔÉí¸Ä½ø¡£
2. ASD
¡¡¡¡ASD£¨Adaptive Software Development£©µÄ·¢Ã÷ÈËJim Highsmith±¾À´ÊÇÒ»¸ö´«Í³¿ª·¢·½·¨µÄ¹¤×÷Õߣ¬ËûÓжàÄêµÄÔ¤²âÐÍ·½·¨µÄÑо¿¡¢½ÌѧºÍʵʩ¾­Ñ飬µ«ºóÀ´£¬Ëû·¢ÏÖÕâЩԤ²âÐÍ·½·¨¸ù±¾¾Í´æÔںܴóȱÏÝ£¬ÓÈÆä²»Êʺϵ±Ç°µÄÈí¼þÒµÎñ¡£
¡¡¡¡ASDÇ¿µ÷¿ª·¢·½·¨µÄÊÊÓ¦ÐÔ£¨Adaptive£©£¬Õâһ˼ÏëÀ´Ô´ÓÚ¸´ÔÓϵͳµÄ»ìãçÀíÂÛ¡£ASD²»ÏóÆäËû·½·¨ÄÇÑùÓкܶà¾ßÌåµÄʵ¼ù×ö·¨£¬Ëü¸ü²àÖØΪASDµÄÖØÒªÐÔÌṩ×î¸ù±¾µÄ»ù´¡£¬²¢´Ó¸ü¸ßµÄ×éÖ¯ºÍ¹ÜÀí²ã´ÎÀ´²ûÊö¿ª·¢·½·¨ÎªÊ²Ã´Òª¾ß±¸ÊÊÓ¦ÐÔ¡£
¡¡¡¡3. SCRUM
¡¡¡¡SCRUMͬÑùÒ²°üÀ¨Á˺ܶà¾ßÌå×ö·¨£¬ÕâЩ×ö·¨²¢ÎÞ¶àÉÙÌرðÖ®´¦£¬µ«¶àÊýÓÐÒ»¸ö¡°¹ÖÒ족µÄÃû³Æ¡£±ÈÈ磬SCRUM½«¿ª·¢¹ý³Ì»®·ÖΪ30ÌìµÄµü´úÖÜÆÚ£¬Ã¿¸öµü´úÖÜÆÚ½Ð×öÒ»¸öSprint£»Ã¿ÌìÓÐÒ»¸ö15·ÖÖӵĶ̻ᣬÓÃÀ´¾ö¶¨µÚ¶þÌìµÄÈÎÎñ°²ÅÅ£¬ÕâÑùµÄ¶Ì»á¾Í½Ð×öscrum¡£
¡¡¡¡SCRUM½ÏΪÓÐÌØÉ«µÄ£¬ÊÇËüÌرðÇ¿µ÷¿ª·¢¶ÓÎéºÍ¹ÜÀí²ãµÄ½»Á÷Э×÷¡£Ã¿Ì죬¿ª·¢¶ÓÎ鶼»áÏò¹ÜÀí²ã»ã±¨½ø¶È£¬Èç¹ûÓÐÎÊÌ⣬Ҳ»áÏò¹ÜÀí²ãÒªÇó°ïÖú½â¾ö¡£
¡¡¡¡4. FDD
¡¡¡¡FDD£¨Feature Driven Development£©µÄ·¢Ã÷ÈËÊÇJeff De LucaºÍPeter Coad¡£FDDÔÚOOÉçÇø½ÏΪÈËËùÖª¡£FDD¶¨ÒåÁË5¸öÁ÷³Ì£¬·Ö±ðÊÇDevelop an Overall Model¡¢Build a Features List¡¢Plan by Feature¡¢Design by FeatureºÍBuild by Feature¡£ÆäÖÐÇ°3¸öÁ÷³ÌÊÇÔÚÏîÄ¿¿ªÊ¼¾Í½øÐеģ¬¶øºóÁ½¸öÔò³öÏÖÔÚÿ´Îµü´úÖÜÆÚÖС£FDDµÄµü´úÖÜÆÚÊÇÁ½ÖÜ¡£Ã¿¸öÁ÷³Ì±»»®·ÖΪ²»Í¬µÄÈÎÎñºÍÏàÓ¦µÄÑéÖ¤±ê×¼¡£
¡¡¡¡¿ª·¢ÈËÔ±±»¹éΪÁ½ÖÖ£¬Ò»ÖÖÊÇÖ÷³ÌÐòÔ±£¬ÁíÒ»ÖÖÊÇclassËùÓÐÕß¡£Ö÷³ÌÐòÔ±²»×÷¾ßÌåµÄ±à³Ì¹¤×÷£¬µ«Òª¸ºÔð½«FeatureºÍClass¶ÔÓ¦ÆðÀ´£¬²¢³äµ±¿ª·¢Ð­µ÷Õß¡¢Éè¼ÆÕß¡¢¼¼ÊõÖ§³ÖºÍÖ¸µ¼Õߵȣ»classËùÓÐÕßÔò½øÐÐʵ¼ÊµÄ±à³Ì¡£
¡¡¡¡ÔÚÈí¼þÒµ£¬Ãô½ÝÁ÷³Ì»¹ÓÌÈçÐÇÐÇÖ®»ð£¬ÌرðÊÇÔÚ¹úÄÚ£¬Ãô½ÝÁ÷³Ì»¹ÏÊΪÈËÖª¡£ÔÚ¼´½«µ½À´µÄδÀ´£¬Ãô½ÝÁ÷³Ì½«ºÎÈ¥ºÎ´Ó£¬ÖйúµÄÈí¼þ´ÓÒµÕßÓÖ½«ÔÚÆäÖаçÑݺÎÖֵĽÇÉ«£¬Ì×ÓÃÒ»¾äÖйúµÄ¹Å»°£¬¡°Â·ÂþÂþÆäÐÞÔ¶Ù⣬ÎὫÉÏ϶øÇóË÷¡±¡£
¾­¹ÜÖ®¼Ò¡°Ñ§µÀ»á¡±Ð¡³ÌÐò
  • ɨÂë¼ÓÈë¡°¿¼ÑÐѧϰ±Ê¼ÇȺ¡±
ÍƼöÔĶÁ
¾­¼ÃѧÏà¹ØÎÄÕÂ
±êÇ©ÔÆ
¾­¹ÜÖ®¼Ò¾«²ÊÎÄÕÂÍƼö