在过åŽÈš„åå¹´ä¸ï¼ŒCEO 们在产生½EÏx¥å¢žåŠ çš„æ”¶å…¥æ–¹é¢é¢ä¸´å·¨å¤§çš„压力。他们通过在许多方é¢é‡‡å–一¾pÕdˆ—举措æ¥è§£å†Œ™¿™ä¸€é—®é¢˜åQŒä¾‹å¦‚羃ž®å…¬å¸è§„模ã€å¤–包ã€å†å·¥ç¨‹ã€ä¼ä¸šèµ„æºè§„åˆ?(ERP) ½{‰ç‰ã€‚这些对低效率的解决措施è®?S&P 500 ä¸çš„许多ä¼ä¸šåœ?90 òq´ä»£æœ«èƒ½å¤Ÿè¿ž¾lå‡ òq´ä¿æŒä¸¤ä½æ•°çš„æ”¶å…¥å¢žé•Ñ€‚但˜q™ç§æ–¹å¼ä¹Ÿå¸¦æ¥äº†ä¸€äº›è´Ÿé¢åª„å“ã€?/p>
åœ?Gary Hamel 所著的 Leading the RevolutionåQˆè¯·å‚阅 å‚考资æ–?/font>åQ‰ä¸€ä¹¦ä¸åQŒä»–å£°ç§°å·²æœ‰ä¸€äº›è¿¹è±¡è¯æ˜Žä¼ ¾lŸä¼ä¸šæ¨¡å¼çš„优势已ä¸é‚£ä¹ˆæ˜Žæ˜¾ã€‚我们必™åÀL‰¾åˆîC¸€äº›æ›¿ä»£æ–¹æ³•æ¥ä¸ºæ”¶å…¥çš„æŒç®‹å¢žé•¿æä¾›åŠ¨åŠ›ã€‚ä»–å»ø™®®å”¯ä¸€èƒ½è®©å…¬å¸¾l§ç®‹å¢žé•¿çš„办法是˜q›è¡Œä¸€‹Æ¡å½»åº•的创新。我们认为在软äšgå¼€å‘领域丞®¤å…¶éœ€è¦è¿™æ —÷€?
å¦‚æžœä½¿ç”¨æ ‡å‡†è½¯äšg开呿–¹æ³•,那么å³ä‹Éåœ?Java òq›_°ä¸Šè¿›è¡Œå¼€å‘,也è¦åšå¥½å¤±æœ›çš„准备。如å›?1 所½Cºï¼Œæœ€˜q‘çš„ç ”ç©¶è¡¨æ˜ŽåQŒæœ‰ä¸€åŠé¡¹ç›®å°†æ»žåŽåQŒè€Œä¸‰åˆ†ä¹‹ä¸€çš„项目将‘…过预算。这一推测æ¯?1979 òq´ç”±¾ŸŽå›½æ€Õd®¡è®¡å±€çš„ç ”½I¶ç»“果好ä¸äº†å¤šå°‘ã€?/p>
å›?1. 软äšg™å¹ç›®æˆåŠŸå’Œå¤±è´¥ï¼Œ˜q‡åŽ»å’ŒçŽ°åœ?
如果我们希望˜q™äº›æ•°å—有显著æé«˜ï¼Œåˆ™éœ€è¦å½»åº•创新的æ–ÒŽ³•æ¥å¼€å‘èÊY件。有两个主è¦å› ç´ å½±å“现有的方法:
没有人打½Ž—失败。具有讽刺æ„å‘³çš„æ˜¯äØ“ä½¿å¤±è´¥æœ€ž®åŒ–而创建的æ–ÒŽ³•是失败的。对软äšgçš„è¯¯è§£æ˜¯é—®é¢˜çš„æ ¹æºã€‚ææƒ§å®žé™…ä¸Šåªæ˜¯ä¸€¿U症状。现有的æ–ÒŽ³•是由那些有良好愿望但忘记了èÊYä»¶ä¸çš?#8220;è½?#8221;çš„é‚£äº›èªæ˜Žäh所创å¾çš„。他们å‡å®šå¼€å‘èÊYä»¶å°±è±¡é€ æ¡¥ã€‚å› æ¤ä»–们从å„ç§è®¾è®¡è§„范ä¸å€Ÿé‰´äº†ä¸€äº›é€‚用äº?#8220;¼‹?#8221;物体åQˆä¾‹å¦‚æ¡¥æ¢ï¼‰çš„æœ€ä¼˜æ–¹æ³•。结果是åŸÞZºŽ Big Design Up-front (BDUF) æ€æƒ³çš„åæ˜ 迟é’çš„å¼€å‘æ–¹æ³•,软äšgä¸å ªä¸€å‡»ï¼ŒäºÞZ»¬æ— 法使用它们ã€?/p>
![]() ![]() |
![]()
|
一¿Uè§£å†Ïx–¹æ¡ˆï¼šç‰|´»æ–ÒŽ³•
最˜q‘å‘生了一些è{å˜ï¼Œä»Žæ‰€è°“çš„“é‡é‡åž?#8221;æ–ÒŽ³•转å‘äº?#8220;è½»é‡åž?#8221;æˆ?#8220;ç‰|´»”æ–ÒŽ³•åQŒä¾‹å¦?Crystal æ–ÒŽ³•ã€é€‚应性èÊYä»¶å¼€å‘å’ŒåQˆå½“剿œ€‹¹è¡Œçš„)XP。所有这些过½E‹éƒ½æœ‰è¿™æ ·ä¸€ä¸ªäº‹å®žï¼Œå³éœ€è¦ähä»¬å…±åŒæ¥å¼€å‘èÊY件。æˆåŠŸçš„è½¯äšg˜q‡ç¨‹å¿…é¡»ž®†äh们的长处最大化åQŒå°†ä»–们的缺ç‚ÒŽœ€ž®åŒ–åQŒå› ä¸ÞZ¼˜ç‚¹å’Œ¾~ºç‚¹æ¯‹åº¸è´¨ç–‘都å˜åœ¨ã€‚在我们看æ¥åQŒXP æœ€å‡ø™‰²çš„地方在于它能够解决所有媄å“å‚åŠ äh员的互补力é‡ã€?/p>
XP æä¾›äº†åòq´æ¥æœ€å¤§çš„一‹Æ¡æœºä¼šï¼Œ¾l™èÊYä»¶å¼€å‘过½E‹å¸¦æ¥å½»åº•å˜é©ã€‚å°±è±?Peopleware 作家 Tom DeMarco 所è¯ß_¼Œ“XP æ˜¯å½“ä»Šæˆ‘ä»¬æ‰€å¤„é¢†åŸŸä¸æœ€é‡è¦çš„一™å¹è¿åŠ¨ã€‚é¢„è®¡å®ƒå¯¹äºŽç›®å‰ä¸€ä»£çš„é‡è¦æ€§å°±è±?SEI åŠå…¶èƒ½åŠ›æˆç†Ÿåº¦æ¨¡åž‹å¯¹ä¸Šä¸€ä»£çš„é‡è¦æ€§ä¸€æ —÷€?#8221;
XP 规定了一¾l„æ ¸å¿ƒäh值和æ–ÒŽ³•åQŒå¯ä»¥è®©è½¯äšgå¼€å‘ähå‘˜å‘æŒ¥ä»–们的专长åQšç¼–写代ç 。XP 消除了大多数é‡é‡åž‹è¿‡½E‹çš„ä¸å¿…è¦äñ”ç‰©ï¼Œé€šè¿‡å‡æ…¢å¼€å‘速度ã€è€—费开å‘äh员的¾_‘ÖŠ›åQˆä¾‹å¦‚干特图ã€çŠ¶æ€æŠ¥å‘Šï¼Œä»¥åŠå¤šå·éœ€æ±‚æ–‡æ¡£ï¼‰ä»Žç›®æ ‡å¼›…R€‚我们认识到一个称ä¸?#8220;æžç«¯¾~–程”的东西å¯èƒ½å¾ˆéš¾ä½œä¸ºæ£å¼çš„å¼€å‘过½E‹æŽ¨èç»™½Ž¡ç†å±‚ï¼Œä½†å¦‚æžœæ‚¨çš„å…¬åæ€»Žäº‹èÊY件行业,您应该帮助管ç†å±‚¾l•过其å¿U°è®¤è¯†åˆ° XP å¯ä»¥æä¾›çš„竞争优åŠÑ€?/p>
Kent Beck 在他所著的 Extreme Programming Explained: Embrace Change䏀书䏿¦‚括äº?XP çš„æ ¸å¿ƒähå€û|¼ˆè¯·å‚é˜?å‚考资æ–?/font>åQ‰ã€‚我们对它们˜q›è¡Œäº†æ€È»“åQ?
XP 的方法将˜q™äº›ä»·å€ÆD{æ¢æˆå¼€å‘äh员æ¯å¤©åº”åšçš„事情。这里没什么新鲜内å®V€‚多òq´ä»¥æ¥ï¼Œè¡Œä¸šè®¤è¯†åˆ?XP æ–ÒŽ³•æ˜?#8220;最优方æ³?#8221;。实际上åQŒXP ä¸çš„“æžç«¯”æ¥è‡ªä¸¤æ–¹é¢ï¼š
˜q™æ˜¯æ€Žæ ·çš„æƒ…景呢åQŸä»£ç 夿Ÿ¥æ˜¯ä¸ªå¥½çš„åšæ³•ï¼Œå› æ¤å§‹ç»ˆé€šè¿‡æˆå¯¹åœ°ç¼–å†™ä»£ç æ¥åšåˆ°ã€‚æµ‹è¯•ä¹Ÿæ˜¯ä¸ªå¥½çš„åšæ³•åQŒå› æ¤æ€ÀL˜¯é€šè¿‡åœ¨ç¼–写代ç 之å‰ç¼–写测试æ¥åšåˆ°ã€‚文档很ž®‘与代ç ä¿æŒä¸€è‡ß_¼Œå› æ¤åªåšé‚£äº›æœ€éœ€è¦çš„事,余下的部分则å–决于明¼‹®ç¼–写的代ç 和测试。XP ä¸ä¿è¯äh们æ€Õdšæ£ç¡®çš„事åQŒä½†å®ƒå…è®æ€hä»¬è¿™æ ·åšã€‚它ž®†è¿™äº?#8220;æžç«¯”æ–ÒŽ³•以一¿U相互支æŒçš„æ–¹å¼¾l“åˆèµäh¥åQŒæ˜¾è‘—æé«˜äº†é€Ÿåº¦å’Œæœ‰æ•ˆæ€§ã€?/p>
![]() ![]() |
![]()
|
XP çš„åäºŒç§æ–ÒŽ³•åQˆå¦‚å›?2 所½Cºï¼‰ž®†å…¶å®šä¹‰ä¸ø™§„åˆ™ã€‚è®©æˆ‘ä»¬ä»”ç»†ç ”ç©¶æ¯ä¸€ä¸ªæ–¹æ³•æ¥å¯?#8220;执行 XP”表示什么有个更全é¢çš„ç†è§£ã€?/p>
å›?2. XP çš„åäºŒç§æ–ÒŽ³•
规划½{–ç•¥
有些äºÞZ¼šæŒ‡è´£ XP 是一¿U美其å的剽½Hƒï¼Œåªæ˜¯ä¸€¾Ÿ¤ç‰›ä»”在没有ä»ÖM½•规则的情况下ž®†ä¸€ä¸ªç³»¾lŸæ‹¼å‡‘在一赗÷€‚错。XP æ˜¯äØ“æ•îC¸å¤šçš„å‡ ç§æ‰¿è®¤æ‚¨åœ¨å¼€å§‹æ—¶ä¸å¯èƒ½äº‹äº‹é€šæ™“çš„æ–¹æ³•ä¹‹ä¸€ã€‚æ— è®ºæ˜¯ç”¨æˆ·˜q˜æ˜¯å¼€å‘äh员都是éšç€™å¹ç›®çš„进展过½E‹æ‰é€æ¥äº†è§£äº‹ç‰©çš„ã€‚åªæœ‰é¼“励和信奉˜q™ç§æ›´æ”¹çš„æ–¹æ³•æ‰æ˜¯æœ‰æ•ˆæ–¹æ³•。状æ€é™å®šæ–¹æ³•忽视更æ”V€‚è€?XP 则留心更æ”V€‚它們֬所用的æ–ÒŽ³•ž®±æ˜¯“规划½{–ç•¥”åQŒä¸€ä¸ªç”± Kent Beck åˆ›é€ çš„æ¦‚å¿µã€?
˜q™ä¸€æ–ÒŽ³•背åŽçš„ä¸»è¦æ€æƒ³æ˜¯è¿…速地制定¾_—略计划åQŒç„¶åŽéšç€äº‹ç‰©çš„䏿–清晰æ¥é€æ¥å®Œå–„。规划ç–略的产物包括åQšä¸€å †çƒ¦å¼•å¡åQŒæ¯ä¸€å¼ 都包å«ä¸€ä¸ªå®¢æˆïL´ æï¼Œ˜q™äº›ç´ æé©±åЍ™å¹ç›®çš„è„P代;以åŠå¯¹ä¸‹ä¸€ä¸¤ä¸ªå‘行版的¾_—略计划åQŒå¦‚ Kent Beck å’?Martin Fowler 在他们的 Planning Extreme Programming䏿˜q°çš„é‚£æ ·åQˆè¯·å‚阅 å‚考资æ–?/font>åQ‰ã€‚让˜q™ç§å½¢å¼çš„è®¡åˆ’å¾—ä»¥å‘æŒ¥ä½œç”¨çš„å…³é”®å› ç´ æ˜¯è®©ç”¨æˆ·åšä¼ä¸šå†³½{–,让开å‘å°¾l„åšæŠ€æœ¯å†³½{–ã€‚å¦‚æžœæ²¡æœ‰è¿™ä¸€å‰æåQŒæ•´ä¸ªè¿‡½E‹å°±ä¼šåœŸå´©ç“¦è§£ã€?
å¼€å‘å°¾l„è¦å†›_®šåQ?/p>
客户需è¦å†³å®šï¼š
规划¾l常å‘ç”Ÿã€‚è¿™æ øP¼Œåœ¨å®¢æˆähˆ–å¼€å‘äh员å¦ä¹ æ–°äº‹ç‰©çš„åŒæ—Óž¼Œž®×ƒØ“他们调整计划æä¾›äº†é¢‘¾J机会ã€?/p>
æˆå¯¹¾~–程
使用 XPåQŒæˆå¯¹çš„å¼€å‘äh员编写所有äñ”å“代ç 。这¿Uæ–¹å¼å¬ä¸ŠåŽ»å¥½è±¡¾~ÞZ¹æ•ˆçŽ‡ã€‚Martin Fowler è¯ß_¼Œ“当äh们说æˆå¯¹¾~–程é™ä½Žç”Ÿäñ”力时åQŒæˆ‘回ç”åQ?#8216;é‚£æ˜¯å› äØ“å¤§å¤šæ•°è€—è´¹æ—‰™—´çš„ç¼–½E‹éƒ¨åˆ†æ˜¯é 输入æ¥å®Œæˆçš„ã€?#8217;”实际上,æˆå¯¹¾~–ç¨‹æ— è®ºåœ¨ç»‹¹Žè¿˜æ˜¯å…¶å®ƒæ–¹é¢éƒ½æä¾›äº†è®¸å¤šå¥½å¤„:
ç ”ç©¶˜q˜æ˜¾½Cºæˆå¯¹çš„¾~–程实际上比å•独¾~–程更有效(有关详细信æ¯åQŒè¯·å‚阅 å‚考资æ–?/font> ä¸?Alistair Cockburn å’?Laurie Williams 所著的 The Costs and Benefits of Pair ProgrammingåQ‰ã€?
‹¹‹è¯•
åœ?XP 䏿œ‰ä¸¤ç§‹¹‹è¯•åQ?
å¼€å‘äh员在他们¾~–写代ç çš„åŒæ—¶ç¼–写å•å…ƒæµ‹è¯•ã€‚å®¢æˆ·åœ¨ä»–ä»¬å®šä¹‰äº†ç´ æå޾~–写验收‹¹‹è¯•。å•å…ƒæµ‹è¯•åŠæ—¶å‘Šè¯‰å¼€å‘äh员系¾lŸåœ¨æŸä¸€ç‚¹ä¸Šæ˜¯å¦“工作”。验收测试告诉团队系¾lŸæ˜¯å¦æ‰§è¡Œç”¨æˆ·å¸Œæœ›å®ƒæ‰§è¡Œçš„æ“ä½œã€?/p>
å‡è®¾å›¢é˜Ÿä½¿ç”¨çš„æ˜¯å¦?Java ˜q™æ ·çš„é¢å‘对象è¯a€åQŒå¼€å‘äh员在ä¸ÞZ¸€äº›æ–¹æ³•编写代ç 之å‰äØ“æ¯ç§æœ‰å¯èƒ½å¤±è´¥çš„æ–ÒŽ³•¾~–写å•å…ƒ‹¹‹è¯•。然åŽä»–们编写èƒö够的代ç 使之能通过‹¹‹è¯•。有时äh们会å‘现˜q™æœ‰ç‚¹å¥‡æ€ªã€‚ç”æ¡ˆå¾ˆ½Ž€å•ã€‚ç¼–å†™æµ‹è¯•é¦–å…ˆäØ“æ‚¨æä¾›ï¼š
å¼€å‘ähå‘˜åªæœ‰åœ¨é€šè¿‡æ‰€æœ‰å•å…ƒæµ‹è¯•åŽæ‰å¯ä»¥å°†ä»£ç ‹‚€å…¥åˆ°æºä»£ç 资æºåº“ä¸ã€‚å•元测试ä‹Éå¼€å‘ähå‘˜æœ‰ä¿¡å¿ƒç›æ€¿¡ä»–们的代ç 能够工作。这为其他开å‘äh员留下线索,å¯ä»¥å¸®åЩ他们ç†è§£æœ€æ—©çš„å¼€å‘äh员的æ„图åQˆå®žé™…上åQŒè¿™æ˜¯æˆ‘们看到过的最好的文档åQ‰ã€‚å•元测试还¾l™äº†å¼€å‘ähå‘˜å‹‡æ°”é‡æ–°åˆ’分代ç ï¼Œå› äØ“‹¹‹è¯•å¤ÞpÓ|å¯ä»¥ç«‹åˆ»å‘Šè¯‰å¼€å‘äh员å˜åœ¨é”™è¯¯ã€‚应该将å•å…ƒ‹¹‹è¯•自动化,òq¶æä¾›æ˜Ž¼‹®çš„通过åQ失败结果。xUnit 框架åQˆè¯·å‚阅 å‚考资æ–?/font> åQ‰åšåˆ°çš„˜qœä¸æ¢è¿™äº›ï¼Œå› æ¤å¤§å¤šæ•?XP ž®ç»„都ä‹É用它们ã€?
用户负责¼‹®ä¿æ¯ä¸ªç´ æéƒ½æœ‰éªŒæ”¶‹¹‹è¯•æ¥ç¡®è®¤å®ƒä»¬ã€‚用户å¯ä»¥è‡ªå·Þq¼–写测试ã€å¯ä»¥å¾å‹Ÿç»„¾l‡ä¸çš„å…¶ä»–æˆå‘˜ï¼ˆä¾‹å¦‚ QA 人员或业务分æžå‘˜åQ‰ç¼–写它们,也å¯ä»¥å°†˜q™ä¸¤¿U方法结åˆè“væ¥ã€‚测试告诉他们系¾lŸæ˜¯å¦å…·æœ‰åº”该具有的那些ç‰ÒŽ€§ï¼Œä»¥åŠæ˜¯å¦å¯ä»¥æ£ç¡®å·¥ä½œã€‚ç†æƒÏxƒ…况下åQŒç”¨æˆ·åœ¨˜q代完æˆä¹‹å‰ž®±åº”该写好è„P代ä¸é‚£äº›ç´ æçš„验收测试了。应该将验收‹¹‹è¯•自动化,òq¶è¦¾l常˜q行æ¥ç¡®ä¿å¼€å‘ähå‘˜åœ¨å®žçŽ°æ–°ç‰¹æ€§æ—¶æ²¡æœ‰ç ´åä»ÖM½•çŽ°æœ‰çš„ç‰¹æ€§ã€‚é€šå¸¸æƒ…å†µä¸‹ï¼Œå®¢æˆ·éœ€è¦æ¥è‡ªå¼€å‘团队的æŸäº›å¸®åŠ©æ¥ç¼–写验收测试。我们对一个项目开å‘一个å¯é‡ç”¨çš„自动验收测试框æžÓž¼Œå¯ä»¥è®©ç”¨æˆ·åœ¨½Ž€å•编辑器ä¸è¾“å…¥ä»–ä»¬çš„è¾“å…¥å’Œæ‰€æœŸæœ›çš„è¾“å‡ºã€‚æ¡†æž¶å°†è¾“å…¥è½¬æ¢æˆ?XML æ–‡äšgã€è¿è¡Œæ–‡ä»¶ä¸çš„æµ‹è¯•,然åŽä¸ºæ¯ä¸ªæµ‹è¯•显½C?#8220;通过”æˆ?#8220;å¤ÞpÓ|”。客户喜‹Æ¢è¿™ä¸€å𿳕ã€?/p>
䏿˜¯æ‰€æœ‰éªŒæ”¶æµ‹è¯•都必须在所有情况下通过。问题是验收‹¹‹è¯•帮助客户衡釙å¹ç›®“完戔的情况如何。它们还å¯ä»¥è®©å®¢æˆ¯‚Ž·æ‚‰æœ‰å…ÏxŸäº›äº‹ç‰©æ˜¯å¦å¯ä»¥å‘行的军_®šã€?/p>
釿–°åˆ’分
釿–°åˆ’åˆ†æ˜¯åœ¨ä¸æ›´æ”¹åŠŸèƒ½æ€§çš„å‰æä¸‹å¯¹ä»£ç åŠ ä»¥æ”¹è¿›ã€‚XP ž®ç»„åœ¨è¿›è¡Œé‡æ–°åˆ’åˆ†æ—¶æ¯«ä¸æ‰‹èÊYã€?
å¼€å‘ähå‘˜é‡æ–°åˆ’分有两个é‡è¦æ—¶æœºåQšå®žçŽ°ç‰¹æ€§ä¹‹å‰å’Œä¹‹åŽã€‚å¼€å‘äh员å°è¯•ç¡®å®šæ›´æ”¹çŽ°æœ‰ä»£ç æ˜¯å¦å¯ä»¥è®©æ–°ç‰¹æ€§çš„开呿›´å®ÒŽ˜“。他们查看刚刚写好的代ç åQŒçœ‹æ˜¯å¦æœ‰æ–¹æ³•å¯ä»¥å¯¹å®ƒè¿›è¡Œç®€åŒ–ã€‚ä¾‹å¦‚ï¼Œå¦‚æžœä»–ä»¬è®¤äØ“æœ‰æŠ½è±¡çš„æœÞZ¼šåQŒå°±ä¼šè¿›è¡Œé‡æ–°åˆ’分æ¥ä»Žå…·ä½“实çŽîC¸é™¤åŽ»é‡å¤çš„代ç ã€?/p>
XP 廸™®®æ‚¨åº”该编写å¯èƒ½è¿è¡Œçš„æœ€½Ž€å•的代ç åQŒä½†åŒæ—¶ä¹Ÿå¾è®®æ‚¨åº”è¯¥ä¸æ–å¦ä¹ ã€‚é‡æ–°åˆ’分让您将å¦åˆ°çš„çŸ¥è¯†åŠ å…¥åˆ°ä»£ç ä¸ï¼ŒåŒæ—¶åˆä¸ä¼šç ´å测试。它使您的代ç 简¾lƒã€‚è¿™æ„味ç€å®ƒå¯ä»¥å˜åœ¨ç›¸å½“长的时间ã€äؓ以åŽçš„å¼€å‘äh员引入更ž®‘问题,òq¶äؓ他们指引æ£ç¡®çš„æ–¹å‘ã€?/p>
½Ž€å•的设计
XP 的诽谤者说该过½E‹å¿½ç•¥äº†è®¾è®¡ã€‚äº‹å®žä¸æ˜¯è¿™æ —÷€‚问题是é‡é‡åž‹æ–¹æ³•å¾è®®æ‚¨åšçš„ä¸è¿‡æ˜¯æå‰å®Œæˆå¤§éƒ¨åˆ†ç碎的设计ä“Q务。这ž®Þp±¡æ˜¯æ‹ä¸€å¼ 陿€çš„地åã^¾U¿çš„照片åQŒé™æ¢ä¸åŠ¨ï¼Œç„¶åŽž®è¯•ç”ÖM¸€å¼ 如何到è¾ùN‚£é‡Œçš„完美的地图。XP 说设计ä¸åº”è¯¥åœ¨äº‹ç‰©å°†ä¿æŒä¸å˜çš„å‰æä¸‹é¢„å…ˆä»“ä¿ƒ˜q›è¡Œã€‚XP è®¤äØ“è®¾è®¡éžå¸¸é‡è¦åQŒå› æ¤åº”该是一个挾l的事务。我们æ€ÀL˜¯å…ˆå°è¯•ä‹É用能够工作的最½Ž€å•的设计åQŒç„¶åŽéšç€çŽ°å®žçš„ä¸æ–æ˜¾çŽ°æ¥æ›´æ”¹å®ƒã€?
什么是å¯èƒ½å·¥ä½œçš„æœ€½Ž€å•的设计åQŸå®ƒæ˜¯ç¬¦åˆä»¥ä¸‹æ¡ä»¶çš„设计åQˆæ„Ÿè°?Kent Beck 为我们一一列出åQ‰ï¼š
对简å•è®¾è®¡çš„éœ€æ±‚åÆˆä¸æ˜¯è¯´æ‰€æœ‰è®¾è®¡éƒ½å¾ˆå°åQŒä¹Ÿä¸è¡¨½Cºå®ƒä»¬æ˜¯æ— èƒöè½»é‡çš„。它们åªä¸è¿‡éœ€è¦å°½å¯èƒ½½Ž€å•,但是ä»èƒ½å·¥ä½œã€‚ä¸è¦åŒ…括ä¸ä½¿ç”¨çš„é¢å¤–特性。我们称˜q™æ ·çš„äº‹ç‰©äØ“ YAGNIåQŒè¡¨½C?#8220;您将ä¸éœ€è¦å®ƒåQˆYou Aren't Going to Need ItåQ‰ã€?#8221;ä¸è¦è®?YAGNI ç ´åæ‚¨æˆåŠŸçš„æœÞZ¼šã€?/p>
集åˆä½“ä»£ç æ‰€æœ‰æƒ
ž®ç»„ä¸çš„ä»ÖM½•人都应该有æƒå¯¹ä»£ç 进行更æ”ÒŽ¥æ”¹è¿›å®ƒã€‚æ¯ä¸ªäh都拥有全部代ç ,˜q™æ„å‘³ç€æ¯ä¸ªäººéƒ½å¯¹å®ƒè´Ÿè´£ã€‚è¿™¿U技术å¯ä»¥è®©äºÞZ»¬å¯šwƒ¨åˆ†ä»£ç 进行必è¦çš„æ›´æ”¹è€Œä¸ç”¨ç»˜q‡ä»£ç 拥有者个人的瓉™¢ˆã€‚æ¯ä¸ªähéƒ½è´Ÿè´£è¿™ä¸€äº‹å®žæ¶ˆé™¤äº†æ— ä»£ç æ‰€æœ‰æƒæ‰€å¸¦æ¥çš„æØœä¹±ã€?
“æ¯äh拥有所有代ç ?#8221;ä¸?#8220;没ähæ‹¥æœ‰ä»£ç ”çš„è¯´æ³•åÆˆä¸ä¸€æ —÷€‚æ²¡äººæ‹¥æœ‰ä»£ç æ—¶åQŒäh们å¯ä»¥éšå¤„è¿›è¡Œç ´å而ä¸å¿…è´Ÿä»ÖM½•è´£ä“Q。è€?XP è¯ß_¼Œ“å¦‚æžœæ˜¯æ‚¨ç ´å的,应该您æ¥å¼¥è¡¥ã€?#8221;我们有一些必™åÕdœ¨æ¯æ¬¡é›†æˆä¹‹å‰å’Œä¹‹åŽè¿è¡Œçš„å•å…ƒ‹¹‹è¯•ã€‚å¦‚æžœæ‚¨ç ´å了æŸäº›äº‹ç‰©ï¼Œæ‚¨è¦è´Ÿè´£˜q›è¡Œä¿®è¡¥åQŒæ— 论它ä½äºŽä»£ç çš„å“ªä¸€éƒ¨åˆ†ã€‚è¿™éœ€è¦æžç«¯è§„则。å¯èƒ½è¿™æ˜¯å¿UîC¸å¸¦æœ‰“æžç«¯”çš„å¦ä¸€ä¸ªåŽŸå› ã€?/p>
æŒç®‹çš„集æˆ?/strong>
¾l常˜q›è¡Œä»£ç 集æˆå¯ä»¥å¸®åŠ©æ‚¨é¿å…é›†æˆæ¢¦™ì‡ã€‚XP 团队在一天ä¸é›†æˆäº†ä»£ç å‡ ‹Æ¡ï¼Œæ¯æ¬¡éƒ½åœ¨æ‰€æœ‰å•元测试对¾pÈ»Ÿ˜qè¡ŒåŽæ‰§è¡Œã€?
ä¼ ç»Ÿæ–ÒŽ³•工作方å¼å¦‚下åQšç¼–写大é‡ä»£ç åŽæ‰§è¡Œä¸€‹Æ¡å¤§çˆ†ç‚¸å¼çš„集æˆåQŒç„¶åŽèŠ±è´¹ç›¸å½“é•¿çš„æ—¶é—´æ¥æ”ÒŽ£é—®é¢˜ã€‚è¿™¿U笨拙的形å¼çš„确佉K¡¹ç›®é€Ÿåº¦å‡ç¼“。大爆炸å¼çš„集戾l™å›¢é˜Ÿç«‹å›_¸¦æ¥å¤§é‡é—®é¢˜ï¼Œòq¶ä¸”˜q™äº›é—®é¢˜é€šå¸¸éƒ½æœ‰å‡ 百¿Uå¯èƒ½çš„åŽŸå› ã€?/p>
如果¾l常˜q›è¡Œé›†æˆåQŒä“Q何特定集æˆå¤±è´¥çš„åŽŸå› éƒ½ä¼šéžå¸¸æ˜Žæ˜¾åQˆä»¥å‰è¿è¡Œè¿‡‹¹‹è¯•åQŒå› æ¤é”™è¯¯ä¸€å®šæ˜¯æ–îCº‹ç‰©çŠ¯ä¸‹çš„åQ‰ã€‚ä‹É用这¿U方法,当é‡åˆ°é—®é¢˜æ—¶åQŒå¯èƒ½çš„åŽŸå› ž®Þq›¸å½“有é™ã€‚修改è“væ¥æ›´å®ÒŽ˜“åQŒèŠ±çš„æ—¶é—´å°‘å¾—å¤šåQŒä‹Éå›¢é˜Ÿä¿æŒæœ€å¿«é€Ÿåº¦å‰è¿›ã€?/p>
现场客户
è¦ä‹ÉåŠŸèƒ½æœ€ç†æƒ³åQŒXP ž®ç»„需è¦åœ¨çŽ°åœºæœ‰ä¸€ä½å®¢æˆäh¥æ˜Žç¡®ç´ æåQŒåƈåšå‡ºé‡è¦çš„ä¼ä¸šå†³½{–。开å‘äh员是ä¸å…许å•独嚘q™äº›äº‹æƒ…çš„ã€‚è®©å®¢æˆ·éšæ—¶åœ¨åœºå¯ä»¥æ¶ˆé™¤å¼€å‘äh员ç‰å¾…决½{–时出现的瓶颈ã€?
XP ä¸ä¼šå‡è£…ç´ æå¡æ˜¯å¼€å‘äh员交付必è¦ä»£ç æ‰€éœ€çš„å”¯ä¸€æŒ‡ç¤ºã€‚ç´ ææ˜¯å¯¹ä»¥åŽåœ¨å®¢æˆ·å’Œå¼€å‘äh员之间填写细节的对è¯çš„一™åÒŽ‰¿è¯ºã€‚与ž®†æ‰€æœ‰è¦æ±‚å†™åœ¨ä¸€ä¸ªé™æ€æ–‡æ¡£ä¸ä¸åŒåQŒå…¶æ€æƒ³æ˜¯è¿›è¡Œé¢å¯šw¢çš„交‹¹ï¼Œå‡å°‘产生误解的机会ã€?/p>
我们å‘现让客户在现场是å¯èƒ½æœ€å¥½çš„一¿Uæƒ…å½¢ï¼Œä½†è¿™ä¸æ˜¯è§£å†³é—®é¢˜çš„唯一æ–ÒŽ¡ˆã€‚底¾U¿æ˜¯å®¢æˆ·å¿…é¡»éšæ—¶åœ¨éœ€è¦å›ž½{”问题和æ ÒŽ®ä¼ä¸šä»·å€égؓ团队æä¾›æŒ‡ç¤ºæ—¶æœ‰½Iºã€‚å¦‚æžœå®¢æˆ·åÆˆéžåœ¨çŽ°åœºä¸“èŒé™ªä¼´å›¢é˜Ÿçš„æƒ…况下ž®Þpƒ½åšåˆ°˜q™äº›åQŒé‚£å¾ˆå¥½ã€‚å¦‚æžœèƒ½å’Œå›¢é˜Ÿå¾…åœ¨ä¸€èµøP¼Œ˜q™ä¼šæ›´æ–¹ä¾¿ï¼Œä½†åªæ˜¯å¾è®®è€Œå·²ã€?/p>
ž®å‘行版
å‘行版应该尽å¯èƒ½åœ°å°åQŒåŒæ—¶ä»ç„¶æä¾›èƒö够的ä¼ä¸šä»·å€ég»¥è¯æ˜Žå®ƒä»¬å€¼å¾—ã€?
åªè¦è§‰å¾—有æ„义就å¯ä»¥å‘布¾pÈ»Ÿã€‚è¿™æ ·å°±ž®½å¯èƒ½æ—©ä¸ºç”¨æˆäh供了价å€û|¼ˆè¯¯‚®°ä½ï¼Œä»Šå¤©çš„钱比明天的钱æ¥å¾—值钱åQ‰ã€‚å°å‘行版将为开å‘äh员æä¾›å…·ä½“çš„å馈æ„è§åQŒå‘Šè¯‰ä»–们哪些符åˆå®¢æˆ·éœ€è¦ï¼Œå“ªäº›ä¸ç¬¦åˆå®¢æˆ·éœ€è¦ã€‚ç„¶åŽï¼Œž®ç»„å¯ä»¥ž®†è¿™äº›ç»éªŒæ•™è®åŒ…括在其下一å‘行版的规划ä¸ã€?/p>
一å‘?40 ž®æ—¶
Kent Beck 说他希望“...æ¯å¤©æ—©æ™¨éƒ½æ„Ÿåˆ°æœ‰‹zÕdŠ›æœ‰æ¿€æƒ…ï¼Œæ¯å¤©æ™šä¸Šéƒ½æ„Ÿåˆ°ç–²æƒ«è€Œæ»¡‘Ÿë€?#8221;一å‘?40 ž®æ—¶å·¥ä½œå¯ä»¥è®©æ‚¨åšåˆ°˜q™ä¸€ç‚V€‚确切的ž®æ—¶æ•°åƈä¸é‡è¦ï¼Œé‡è¦çš„æ˜¯åŽŸåˆ™ã€‚é•¿æ—‰™—´åœ°æŒ¾l工作会扼æ€å·¥ä½œ¾l©æ•ˆã€‚疲劳的开å‘äh员会犯更多错误,从长期æ¥è¯ß_¼Œž®†æ¯”æŒ?#8220;æ£å¸¸”æ—‰™—´è¡¨è¿›è¡Œçš„开呿…¢å¾—多ã€?
å³ä‹Éå¼€å‘äh员å¯ä»¥åœ¨é•¿æ—¶é—´å¾ˆå¥½å·¥ä½œï¼Œ˜q™ä¹Ÿä¸æ„味ç€ä»–们应该˜q™æ ·ã€‚最¾lˆä»–们会厌倦,会离开他们的工作,或者äñ”生媄å“他们工作ç‡W效的éžå·¥ä½œé—®é¢˜ã€‚å¦‚æžœæ‚¨æ‰“äØ•äº†äh们的生活åQŒå°†ä¼šå°åˆ°å®ƒæ‰€å¸¦æ¥çš„æ¶æžœã€‚åŠ çåÆˆä¸æ˜¯è§£å†³™å¹ç›®é—®é¢˜çš„ç”æ¡ˆã€‚实际上åQŒå®ƒæ˜¯æ›´å¤§é—®é¢˜çš„症状。如果您è¦èµ°å‘ç亡,ž®±æ— è¯å¯æ•‘了ã€?/p>
¾~–ç æ ‡å‡†
拥有¾~–ç æ ‡å‡†æœ‰ä¸¤ä¸ªç›®çš„:
如果没有¾~–ç æ ‡å‡†åQŒé‡æ–°åˆ’分代ç ä¼šæ›´åŠ å›°éš¾åQŒæŒ‰åº”当的频度交æ¢å¯¹æ›´å›°éš¾ï¼Œå¿«é€Ÿå‰˜q›ä¹Ÿæ›´å›°éš¾ã€‚ç›®æ ‡åº”è¯¥æ˜¯å›¢é˜Ÿä¸æ²¡æœ‰äh辨认得出是è°å†™çš„哪一部分代ç 。以团队为å•ä½å¯¹æŸä¸€æ ‡å‡†è¾¾æˆåè®®åQŒç„¶åŽéµå®ˆè¿™ä¸€æ ‡å‡†ã€‚ç›®æ ‡ä¸æ˜¯åˆ›å»ÞZ¸€ä¸ªäº‹æ— å·¨¾l†çš„规则列表åQŒè€Œæ˜¯æä¾›ž®†ç¡®ä¿æ‚¨çš„代ç å¯ä»¥æ¸…æ™îCº¤‹¹çš„æŒ‡å¯¼æ–šw’ˆã€‚ç¼–ç æ ‡å‡†å¼€å§‹æ—¶åº”该很简å•ï¼Œç„¶åŽæ ÒŽ®å›¢é˜Ÿ¾léªŒé€æ¥˜q›åŒ–。ä¸è¦é¢„å…ˆèŠ±è´¹å¤ªå¤šæ—¶é—´ã€‚åˆ›å»ø™ƒ½å¤Ÿå·¥ä½œçš„æœ€½Ž€å•æ ‡å‡†ï¼Œç„¶åŽé€æ¥å‘展ã€?/p>
¾pÈ»Ÿæ¯”å–»
体系¾l“构是åšä»€ä¹ˆç”¨çš„?它æä¾›äº†¾pÈ»Ÿå„ç§¾l„äšg以åŠå®ƒä»¬æ˜¯å¦‚ä½•äº¤äº’çš„ç”»é¢ -- 一¿Uæ˜ ž®„,å¯ä»¥è®©å¼€å‘äh员了解新的代ç éƒ¨åˆ†é€‚åˆæ”‘Öœ¨å“ªé‡Œã€?
XP ä¸çš„¾pÈ»Ÿæ¯”喻与大多数æ–ÒŽ³•¿UîC½œçš„体¾pÈ»“构差ä¸å¤šã€‚比å–ÖMؓ团队æä¾›äº†ä¸€è‡´çš„ç”»é¢åQŒä»–们å¯ä»¥ç”¨å®ƒæ¥æè¿°çŽ°æœ‰¾pÈ»Ÿçš„工作方å¼ã€æ–°éƒ¨äšg适åˆçš„ä½¾|®ï¼Œä»¥åŠå®ƒä»¬åº”该采å–çš„åÅžå¼ã€?/p>
é‡è¦çš„æ˜¯è¦è®°ä½ï¼Œå…³é”®è¦è®©æ¯ä¸ªäººç†è§£ç³»¾lŸæ˜¯å¦‚何¾l„åˆåœ¨ä¸€èµïLš„åQŒè€Œä¸æ˜¯ç¾Žä¸½çš„æ¯”喻。有时您ž®±æ˜¯æ— 法惛_ˆ°ä¸€ä¸ªå¥½çš„æ¯”å–…R€‚想到时ž®±å¤ªå¥½äº†ã€?/p>
![]() ![]() |
![]()
|
整体大于å„个部分之和。您å¯ä»¥å®žçްå•一æ–ÒŽ³•或一ž®éƒ¨åˆ†æ–¹æ³•,比ä¸ä½¿ç”¨ä»ÖM½•æ–ÒŽ³•得到更大收益。但您åªèƒ½åœ¨å®žçŽ°æ‰€æœ‰æ–¹æ³•çš„æƒ…å†µä¸‹èŽ·å¾—æœ€å¤§æ”¶ç›Šï¼Œå› äØ“å®ƒä»¬çš„åŠ›é‡æ¥è‡ªå®ƒä»¬ä¹‹é—´çš„交互ã€?/p>
æœ€åˆæ—¶æŒ‰ç…§ä¹¦ç±æ¥æ‰§è¡?XPåQŒä½œä¸ºåŸºå‡†ã€‚一旦ç†è§£äº†å¦‚何˜q›è¡Œäº¤äº’åQŒå°±æ‹¥æœ‰äº†å°†å®ƒä»¬é€‚应于自íw«çŽ¯å¢ƒæ‰€éœ€çš„çŸ¥è¯†ã€‚è¯·è®îC½åQ?#8220;˜q›è¡Œ XP”䏿˜¯ç›®çš„åQŒè€Œæ˜¯åˆ°è¾¾¾lˆç‚¹çš„一¿U手ŒDüc€‚ç›®æ ‡æ˜¯å¿«é€Ÿåœ°å¼€å‘高¾U§èÊY件。如果您的过½E‹æœ‰ä¸€äº›å˜å¼‚,已称ä¸ä¸Šæ˜¯åœ¨˜q›è¡Œ XPåQŒä½†¾l“æžœä»èƒ½è®©æ‚¨æˆ˜èƒœæ‰€æœ‰ç«žäº‰å¯¹æ‰‹ï¼Œæ‚¨å·²¾læˆåŠŸäº†ã€?/p>
![]() ![]() |
![]()
|
å¦çŽ‡åœ°è¯´åQŒXPåQˆæˆ–者ä“Q何其它絋zÀL–¹æ³•)æ ÒŽœ¬ž®×ƒ¸é‡è¦ã€‚它能够产生çš?¾l“æžœ æ‰æ˜¯å…³é”®ã€‚如果如 XP ˜q™æ ·çš„絋zÀL–¹å¼å¯ä»¥å¸®åŠ©æ‚¨æ›´å¿«åœ°å¼€å‘æ›´å¥½çš„软äšg而少å—痛苦,那么它值得考虑ã€?
˜q˜è®°å¾—我们在˜q™ç¯‡æ–‡ç« 开始时æåˆ°çš„那些ä×o人生ç•的数å—å—ï¼Ÿæˆ‘ä»¬ç›æ€¿¡ä½¿ç”¨ XP å¼€å‘é¢å‘对象èÊYä»¶å¯ä»¥æœ‰æœÞZ¼šž®†å®ƒä»¬å˜å¾—æ›´å¥½ã€‚ç›®å‰æˆ‘们的¾l验已ç»è¯å®žäº†è¿™ä¸€ä¿¡å¿µã€?/p>
![]() |
||
|
![]() |
Roy W. Miller æ˜?RoleModel Software, Inc çš„èÊYä»¶å¼€å‘äh员。在 RoleModel 期间åQŒRoy å¼€å‘了åŸÞZºŽ Java/XML 的自动验收测试框æžÓž¼Œòq¶äØ“ Dallas Semiconductor çš?TINI Java òq›_°åˆ›å¾äº†å‡ ä¸ªåº”ç”¨çš„åŽŸåž‹ã€‚åœ¨åŠ ç›Ÿ RoleModel 之å‰åQŒä»–åœ?Andersen ConsultingåQˆçŽ°åœ¨æ˜¯ AccentureåQ‰ä¸æœåŠ¡äº†å…òqß_¼Œç”¨è¿‡ä»–们的专用é‡é‡åž‹å•†ä¸šé›†æˆæ–ÒŽ³• (MIB) åŠå…¶å˜ä½“ã€‚è‡ªä»ŽåŠ ç›?RoleModel åŽï¼Œä»–获得了许多有关 XP 以åŠå¯¹è¯¥æ–ÒŽ³•的本地适应的ç»éªŒã€‚Roy 与他人åˆè‘—了 Addison-Wesley XP ¾pÕdˆ—ä¸çš„一本书åQ?XP Applied åQŒå°†äº?2001 òq?10 月出版)åQŒåƈ是在 XP2001 "Business of XP" 展示会上的一å特邀专题讨论ž®ç»„æˆå‘˜ã€‚å¯ä»¥é€šè¿‡ rmiller@rolemodelsoft.com ä¸?Roy è”ç³»ã€? |
![]() |
||
|
![]() |
Christopher T. Collins æ˜?RoleModel Software, Inc 的高¾U§èÊYä»¶å¼€å‘äh员。在 RoleModel 期间åQŒChris å‚与了è¿è¡Œå°†˜q‘两òq´çš„一ä¸?XP ™å¹ç›®åQŒäؓ新的摩托¾|—拉蜂çªå¼ç”µè¯åã^å°å¼€å‘äº†ä¸€ä¸ªåµŒå…¥å¼ Java 应用½E‹åºåQŒåƈž®?JUnit ¿UÀL¤åˆ?Sun çš?J2ME òq›_°ä¸Šè¿è¡Œã€‚åœ¨åŠ ç›Ÿ RoleModel 之å‰åQŒä»–èŠ×ƒº† 5 òq´çš„æ—‰™—´ä½¿ç”¨è®¸å¤šä¸åŒçš„è¯a€ä¸ÞZ¸€äº›ç»„¾l‡å¼€å‘èÊYä»Óž¼Œæœ€˜q‘的一‹Æ¡æ˜¯ä¸ºç¾Žå›½å›½é˜²éƒ¨å¼€å‘应用程åºã€‚他拥有使用和适应涉åŠå‡ ç§ç‰|´»å’Œé‡é‡åž‹çš„ä¸åŒå¼€å‘方法的¾l验åQŒåŒ…æ‹?RUP å’?XP。Chris 拥有¾ŸŽå›½è¥¿ä½›¾|—里辑֤§å¦è®¡½Ž—机¿U‘å¦å’ŒèÊYä»¶å·¥½E‹çš„¼‹•士å¦ä½åQŒç›®å‰åœ¨åŒ—塾|—楾U›_·žç«‹å¤§å¦æ•™æŽ?Java ¾~–程评¡¨‹ã€‚他曾是æœå…‹å¤§å¦æœ‰å…³ XP 的特邀演讲人,òq¶å°†åœ?XP2001 上介¾l有兌™¿‡½E‹é€‚应的论文。通过 ccollins@rolemodelsoft.com ä¸?Chris è”ç³»ã€? |