翻蚳è ããïŒ1999幎ã®å€ã«ãã©ã€ã¢ã³ã»ããããšãžã§ã»ãã»ãšãŒããŒããæ³¥ã®å€§çãã®èšäºãæžããã 圌女ã¯ããœãããŠã§ã¢éçºã®æãäžè¬çãªã¢ã³ããã¿ãŒã³ããããã®çºçãšéçºã®çç±ã«ã€ããŠè©±ããŠããŸãã åè¡ãã18幎以äžãçµéããŠããã«ãããããããèšèŒãããŠããåé¡ã¯æ¶ããŠããªããããå·çã®å€§éšåã¯ä»æ¥ã«é¢é£ããŠããŸãã ããã¯3ã€ã®èšäºã®æåã®éšåã§ãããæ®ãã¯è¿ãå°æ¥ã«æçš¿ããããšèããŠããŸãã
ã¯ããã«
è¿å¹Žãæ°äººã®èè ãäžåºŠã«[Garlan and Shawã1993] [Shawã1996] [Buschmann and othersã1996] [Meszarosã1997]ã«ãããPIPELINEïŒãã€ãã©ã€ã³ïŒãLAYERED ARCHITECTUREïŒãã«ãã¬ãã«ã¢ãŒããã¯ãã£ïŒã
çæ³çãªäžçã§ã¯ããã¹ãŠã®ã·ã¹ãã ã1ã€ä»¥äžã®åæ§ã®é«ã¬ãã«ãã¿ãŒã³ã®äŸã«ãªããŸãã ãã ããå®éã«ã¯ããã§ã¯ãããŸããã çŸåšæ¯é çãªã¢ãŒããã¯ãã£ã¯ãŸã è°è«ãããŠããŸããã ããã¯ãæ³¥ã®å€§ããªããŒã«ãŸãã¯å€§ããªæ±ãã§ãã
LARGE DIRT LOCKã¯äžæ³šæã«èšèšãããæ§é ãããŠããããã¡æã¡ã§çã§ããããŸãã§ãã€ããããŒããšã¯ã€ã€ãŒããžã£ã³ã°ã«ã«çµ¡ãŸã£ãŠããã¹ãã²ããã£ã³ãŒãã®ããã§ãã ç§ãã¡ã¯çããã®ãããªã³ãŒããèŠãŸããã ãããã®ã·ã¹ãã ã§ã¯ãç¡ç§©åºãªæé·ãšç¶ç¶çãªããçŽãã®å åãç°¡åã«èŠã€ããããšãã§ããŸãã æ å ±ã¯ã·ã¹ãã ã®ãªã¢ãŒãèŠçŽ éã§ç¡å·®å¥ã«é ä¿¡ãããå€ãã®å ŽåãéèŠãªæ å ±ã¯ãã¹ãŠã°ããŒãã«ãŸãã¯è€è£œãããŸãã ã·ã¹ãã å šäœã®æ§é ãæ£ç¢ºã«æ±ºå®ãããããšã¯ãããŸããã ååšããå Žåããªãªãžãã«ãèªèã§ããªããªãã»ã©ç Žå£ãããŸããã ã¢ãŒããã¯ãã£ãå°ãç解ããŠããããã°ã©ãã¯ããã®æ²Œå°ãè¿åããŸãã ãããŠã圌女ãããŸãæ°ã«ãããŠããªã人ããããŠãããããæ¯æ¥ã·ã¹ãã ã«ç©Žãåããã人ã ããããã®ãããªã·ã¹ãã ã®ä»äºã«æºè¶³ããŠããŸãã
ãããããã§ãã£ãŠãããã®ã¢ãããŒãã¯çãç¶ããç¹æ ããŸãã ãã®ã¢ãŒããã¯ãã£ã¯ãªããããªã«äººæ°ãããã®ã§ããïŒ åœŒå¥³ã¯åœŒå¥³ã®ããã«æªãã§ããïŒ ãŸãã¯ãããä¿¡é Œæ§ã®é«ããšã¬ã¬ã³ããªä»£æ¿åãžã®éã®äžéé§ ãšããŠæ©èœã§ããŸããïŒ åªããããã°ã©ããŒããã®ãããªãã·ã¹ãã ãäœæããçç±ã¯äœã§ããïŒ ãããåé¿ã§ããŸããïŒ ãããŠããã¯å¿ èŠã§ããïŒ ãããã®ã·ã¹ãã ãã©ã®ããã«æ¹åã§ããŸããïŒ
ãã®èšäºã§ã¯ã次ã®7ã€ã®ãã¿ãŒã³ã瀺ããŸãã
- BIG BALL OF MUDïŒæ±ãã®å€§ããªå¡ïŒ
- ã¹ããŒã¢ãŠã§ã€ã³ãŒãïŒ1ã€ã®ã³ãŒãïŒ
- ç²æé·
- KEEP IT WORKINGïŒLET WORKSïŒ
- ããæå±€
- æ·ç©ã®äžã§æé€ãã
- å建
ã·ã¹ãã ããªãããŒãã®å€§ããªå¡ã«å€ããã®ã§ããïŒ ã¯ã³ã¿ã€ã ã³ãŒãïŒTHROWAWAY CODEïŒã®äœæã«ããã倧ãããŠæãããã·ã¹ãã ãçŸããããšããããŸãã ã¯ã³ã¿ã€ã ã³ãŒãã¯ãã³ãŒãã®ãã©ããããŒãžã§ã³ã§ãããäžåºŠã ã䜿çšããŠããç Žæ£ããå¿ èŠããããŸãã ãã ãããã®ãããªã³ãŒãã¯ãæªéçºã®æ§é ãäžååãªèšèšã®ããã¥ã¡ã³ãããŸãã¯äžåšã«ãããããããç¬èªã®ç掻ãéãå§ããããšããããŸãã ããã¯åäœããŸãããªãäœãã修埩ããã®ã§ããïŒ åé¡ãçºçããå Žåãããã解決ããæéã®æ¹æ³ã¯ãäœæ¥ã³ãŒããå€æŽããããšã§ãã ããã«ãããããã°ã©ã ãæåããäœæããå¿ èŠããªããªããŸãããæéã®çµéãšãšãã«ãåçŽãª1åéãã®ããã°ã©ã ã§å€§èŠæš¡ãªããŒããçºçããŸãã
æ確ã«å®çŸ©ãããã¢ãŒããã¯ãã£ãåããã·ã¹ãã ã§ããã厩å£ã®ãªã¹ã¯ãæ±ããŠããŸãã æåããã·ã¹ãã ã¯ãåžžã«å€åããèŠä»¶ã®åœ±é¿äžã«ããããã®æ§é ãåŸã ã«æãªãããŸãã ã¯ãªãŒã³ãªã·ã¹ãã ã¯ãæ§é ã®æ®µéçãªæé·ïŒPIECEMEAL GROWTHïŒã«ãã倧ãããªããã·ã¹ãã èŠçŽ ã¯å¶åŸ¡äžèœã«æé·ãå§ããŸãã
ãã®æé·ãæ¢ãŸããªãå Žåãã·ã¹ãã ã®æ§é ã¯ãæŸæ£ããªããã°ãªããªãã»ã©ä¹±ããŠããŸãã æžå°ããŠããéœåžã®ãšãªã¢ã®å Žåã®ããã«ããã®ç¶æ³ã¯å¢å ããããšã«ããæªåããŸãã ã·ã¹ãã ã®ç解ãé£ãããªãã«ã€ããŠããã®ãµããŒãã¯ããè€éã«ãªããããé«äŸ¡ã«ãªããŸãã åªããããã°ã©ããŒã¯ããã®ãããªæ§é ã§ã®äœæ¥ãæåŠããŸãã æè³å®¶ã¯è³æ¬ãåŒãåºããŸãã ããã«ãã1ã€ãéœåžéšãšæ¯èŒããããšãã§ããŸãããã®äœäžãåé¿ããããã«ã¯é転ãããæ¹æ³ããããŸãã ç§ãã¡ã®äžçã®ãããããã®ãšåæ§ã«ãå察ã®ãšã³ããããŒåã«ã¯ãšãã«ã®ãŒå ¥åãå¿ èŠã§ãã ãœãããŠã§ã¢ã®ãžã§ã³ããªãã£ã±ãŒã·ã§ã³ãäŸå€ã§ã¯ãããŸããã ãœãããŠã§ã¢ã§ãšã³ããããŒãåæ¢ãã1ã€ã®æ¹æ³ã¯ãåèšèšããããšã§ãïŒå±æåšïŒã å®æçãªãªãã¡ã¯ã¿ãªã³ã°ãžã®åãçµã¿ã«ãããã·ã¹ãã ã倧èŠæš¡ãªããŒãã«é¥ãã®ãé²ãããšãã§ããŸãã
æ·±å»ãªæŽªæ°Žãç«çœããŸãã¯æµå¯Ÿè¡çºã«ãããäœæ°ã®é¿é£ãšéœåžã®ãŒãããã®å建ãå¿ èŠã«ãªãå ŽåããããŸãã å€ãã®å Žåãå€æŽã¯åã ã®å»ºç©ãŸãã¯å°åºã«åœ±é¿ããéœåžèªäœãæ©èœãç¶ããŸãã äžåºŠç¢ºç«ãããKEEPING IT WORKINGæŠç¥ã¯ãéœåžã®æé·ãšåéçºã®éãéœåžã®ç掻ãå®ããŸãã
ã·ã¹ãã ãšãã®æ§æèŠçŽ ã¯ããŸããŸãªé床ã§é²åããŸãã ããéãå€åããã·ã¹ãã ãšèŠçŽ ã¯ããã£ãããšå€åããŠããã·ã¹ãã ãšèŠçŽ ãšã¯ç°ãªããŸãã ãããã®éã«åœ¢æãããã·ãããããå±€ïŒããæå±€ïŒã¯ãé害ã®å¢çãŸãã¯ç·ã«äŒŒãŠãããé·æéæç¶ããæœè±¡çãªã·ã¹ãã æ§é ã®åºçŸã«è²¢ç®ããŸãã
è¡°éãå¶åŸ¡ãå§ããç°¡åãªæ¹æ³ã¯ãã¹ã©ã è¡ãå²ã¿ããã®åšãã«çŸãããã¡ãµãŒããèšçœ®ããããšã§ãã ãã®æŠç¥ããæ·ç©ã®äžã§æãããšåŒã³ãŸãã ããæ·±å»ãªã±ãŒã¹ã§ã¯ã代æ¿æ¡ãèŠã€ããã®ãé£ãããããå šå¡ã解äœãããŒãããæ°èŠã«å»ºèšãéå§ããŸãã å®å šãªåæ§ç¯ãå¿ èŠãªå ŽåïŒRECONSTRUCTIONïŒãä¿åãããã®ã¯åºç€ãšãªããã¿ãŒã³ã®ã¿ã§ãã
äžèŠããããã¯ã¢ã³ããã¿ãŒã³[Brown and othersã1998]ãŸãã¯åœãã¿ãŒã³ã®ããã«èŠãããããããŸããããå°ãªããšãéåžžã®æå³ã§ã¯ããã§ã¯ãããŸããã å®éããããã®ã¢ãããŒãã¯ãç§ãã¡ã説æããããšãšå®è·µããããšã®éã®ã®ã£ãããåããŸãã ããã§ãããããã®ãã¿ãŒã³ãçãèªè ãããŸãã ãããã£ãŠããã¹ãŠã®ã«ãŒããããŒãã«ã«çœ®ããèªåã®äœçœ®ã宣èšããã®ãè³¢æã§ãã ç§ãã¡ã¯åªãã建ç¯ãç®æããŠããŸãã
ç§ãã¡ã®äž»ãªä»äºã¯ããããã®æ²Œå°ã®ææ°Žãæ¯æŽããããšã§ãã å¯èœã§ããã°ã建ç¯ã®è¡°éãé²æ¢ãåæ¢ããŸãã¯é転ãããªããã°ãªããŸããã ãããè¡ãæ¹æ³ã瀺ããŸãã æãé«åºŠãªã±ãŒã¹ã§ã¯ãããã€ãã®ã¢ãŒããã¯ãã£ã®åé¯ãåé€ããå¿ èŠããããŸãã
åæã«ããã®æ³¥æ²Œã«åŒã蟌ãŸãã人ã ãéé£ããã€ããã¯ãããŸããã ãã®ãããªäººã ã«å¯Ÿããç§ãã¡ã®æ 床ã¯ããç§ãã¡ã¯çœªã«å察ããŠããŸããã眪人ã§ã¯ãããŸããã åé¡ã¯ããã«æ·±ãã ãã¹ãŠã®è£åºã«å€§çç³ã®æ±ãç«ãŠãå¿ èŠã¯ãããŸããã å£çµããŠã¢ãŒããã¯ãã£ãããã¯ã°ã©ãŠã³ãã«åŒã蟌ã¿ãæ©èœçãªã¿ã¹ã¯ã®ã¿ãå®è¡ã§ãã匷åãªåããããŸãã ç¹ã«ãœãããŠã§ã¢éçºã®åæ段éã ã¢ãŒããã¯ãã£ãéçºããæ©äŒãšç解ã¯ãã»ãšãã©ã®å ŽåããœãããŠã§ã¢ã©ã€ããµã€ã¯ã«ã®åŸã®æ®µéã§ãã§ã«çŸããŠããŸãã
å¶åŸ¡ãããã«ãªã¹ã¯ãåççãªç¯å²ã§ã建èšäžã®èªç¶ãªããã»ã¹ã§ããããã¹ãŠãåŸã§ä¿®æ£ãããã°ãããã«åæããããšãã§ããŸãã ãã ããè€éãªã·ã¹ãã ã¯ãåé¡ãæªçã«ç解ããŠããããšã®ä¿¡é Œã§ããåæ ã§ããããšã«æ³šæããŠãã ããã ååãšããŠæ§ç¯ã§ããã·ã¹ãã ã®ã¯ã©ã¹ã¯ãå°ãªããšãæåã®æ®µéã§åªé ã«æ§ç¯ã§ããã·ã¹ãã ã®ã¯ã©ã¹ãããã¯ããã«å€§ããã§ãã èæœåããè€éãªã¢ãŒããã¯ãã£ã¯ãããŸãç解ãããŠããªããã¡ã€ã³ïŒç¥èã®ãã¡ã€ã³ïŒã®èžè¡äœåã«ãªãå¯èœæ§ããããŸãã ãããã話ã¯ããã§çµããã§ã¯ãããŸããã ãã®ãããªãã¡ã€ã³ã§ã®äœæ¥ã®çµéšãç©ããšãããå€ãã®ãšãã«ã®ãŒãå°ããéšåçã«æ£ããã¢ãŒããã¯ãã£ã®æœè±¡åãåéã§ããããã«ãªããŸãã
ããã§èª¬æãããã¿ãŒã³ã¯ãäºãã«å¥åã«èæ ®ãããããšã¯ãããŸããã ããããåäžã®ã³ã³ããã¹ãã«çµåããŸããããã®ã³ã³ããã¹ãã«ã¯ãç§ãã¡ãä»ã®èè ã«ãã£ãŠèšè¿°ãããä»ã®ãã¿ãŒã³ããããŸãã ç¹ã«ã[Foote and Opdykeã1995]ããã³[Coplienã1995]ã§èª¬æãããŠããã©ã€ããµã€ã¯ã«ãã¿ãŒã³ããããã¿ã€ãã³ã°ãã§ãŒãºïŒãããã¿ã€ããã§ãŒãºïŒãæ¡åŒµãã§ãŒãºïŒæ¡åŒµãã§ãŒãºïŒãããã³çµ±åãã§ãŒãºïŒçµ±åãã§ãŒãºïŒãšæ¯èŒããŸãã ãŸãããœãããŠã§ã¢ãã¯ããã¯ã¹ãã¿ãŒã³ïŒSOFTWARE TECTONICSïŒ[Foote and Yoderã1996]ããã³æ§é èšèšãã¿ãŒã³[Roberts and Johnsonã1998]ãšæ¯èŒããŠãã ããã
ãã®ç« ã§ã¯ãäž»ã«ç æ°ã«ã€ããŠèª¬æããŸããããäžèšã®ãã¿ãŒã³ã¯ãã¹ãŠããã®ç æ°ã®æ²»çæ³ã«ãªããšèããŠããŸãã ã€ãŸãããã£ãŒãããã¯ãåããæè»ã§é©å¿æ§ã®ããéçºããã»ã¹ãèšèšããã³ãªãã¡ã¯ã¿ãªã³ã°ã¯ãã¢ããªã±ãŒã·ã§ã³å ããã³ãã以éã®åã¢ãŒãã£ãã¡ã¯ããã³ã³ããŒãã³ããããã³æ§é ã®ã©ã€ããµã€ã¯ã«ã«é©çšãããŸãã
å
å€ãã®åãããã¡ããšããã¢ãŒããã¯ãã£ãæã€çµç¹ã§ãã倧èŠæš¡ãªæ³¥ã®å¡ãäœãå§ãããšããäºå®ã«è²¢ç®ããŠããŸãã ãããã®éåšãããã°ããŒãã«ããªåã¯ãåè¿°ã®ãã¹ãŠã®ãã¿ãŒã³ã«åœ±é¿ããŸãã ãããã®åã®äžã§ã以äžãåºå¥ããŸãã
æé ïŒç¹å®ã®èšèšãŸãã¯æ±ºå®ã®é·æçãªã¢ãŒããã¯ãã£ã®çµæããã¹ãŠåæããã®ã«ååãªæéã¯ãããŸããã ã·ã¹ãã ã®æ§é ãåªããŠããŠããã¢ãŒããã¯ãã£ã®åé¡ã¯ããå®çšçãªåŽé¢ã«åã£ãŠä»£ãããŸãã
ãœãããŠã§ã¢ã¢ãŒããã¯ãã£ãå¹³å¡ã§ããããšãå€ãçç±ã®1ã€ã¯ãã³ã¹ããã¢ã€ãã¢ããå®è£ ãŸã§ã®æéãããã°ã©ãã®ã¹ãã«ãªã©ãçŸåšã®åé¡ã«åã£ãŠä»£ããããšã§ãã å€ãã®å Žåã建ç¯ã¯èŽ æ²¢åãç¡é§ãªãã®ãšèŠãªãããŸãã 建ç¯ã¯ãã°ãã°ç¡èŠãããç¡èŠããããããŸãã ãã¡ããã建ç¯ã«å¯Ÿãããã®ãããªæ 床ãçºéããã®ã¯æªãããšã§ãããããã¯ç解ã§ããŸãã ã¢ãŒããã¯ãã£ã¯ãç¶ç¶çãªæ³šæãå¿ èŠãªé åã§ãã éçºäžã®è£œåãæåããææã§ããããšãæãå ŽåããŸã第äžã«ãäžã§æžããããå·®ãè¿«ã£ãåé¡ã«å¯ŸåŠããå¿ èŠããããŸãã ãŸããåªããã¢ãŒããã¯ãã£ã®å©ç¹ã¯ã補åããã§ã«å®å šã«åœ¢æãããåå©çšå¯èœãªã³ã³ããŒãã³ããåºçŸããã©ã€ããµã€ã¯ã«ã®åŸæã«çŸããŸã[Foot and Opdykeã1995]ã
ã¢ãŒããã¯ãã£ã¯ãåžå Žã®èŠä»¶ãæºããããšãç®çãšãããªãœãŒã¹ãæ¶è²»ãããªã¹ã¯ãšèŠãªãããšãã§ããŸãã ãŸãã¯ãããã«æå©ãªåºç€ãç¯ãæ©äŒãšããŠã
æªçãªã¢ãŒããã¯ãã£ã¯ãé²åããã·ã¹ãã ã®å©ç¹ã«ãªããŸããããŒã¿ãšæ©èœã¯ã人çºçãªã¢ãŒããã¯ãã£ã®å¶çŽãåããªãã·ã¹ãã ã§èªç¶ãªäœçœ®ãå ããããšãã§ããããã§ãã æªçãªãæ§æ¥ãªã¢ãŒããã¯ãã£ã¯ãã¢ãŒããã¯ãã£ã®æ¬ åŠããã倧ããªå±éºã䌎ããŸãããªããªããå®èšŒãããŠããªãã¢ãŒããã¯ãã£ã®ä»®èª¬ã¯ãã¢ãŒããã¯ãã£ã®ãããªãçºå±ã劚ãã足etterã«å€ããããã§ãã
ã³ã¹ã ïŒç¹ã«æ°ãããšãªã¢ãæ¢çŽ¢ããå Žåãã¢ãŒããã¯ãã£ã¯é«äŸ¡ã§ãã ã·ã¹ãã ãæ¢ã«æ©èœããŠããå Žåãé©åãªã¢ãŒããã¯ãã£ãèšèšããããšã¯ç¡æå³ãªèŽ æ²¢ã®ããã§ãã éçºãžã®æè³ã¯éåžžãããã«ã¯æ£åœåãããŸããã ããã«ã補åãåžå Žã«åºããŸã§ã«é·ãé 延ãçããå¯èœæ§ããããŸãã 建ç¯ãžã®æè³ããå©çãåŸãã®ã¯èª°ã§ããïŒãŸãããã€æè³åççãæåŸ ã§ããŸããïŒ ããã«åžå Žã«æå ¥ã§ããè¿ éã§ãçã®ããããžã§ã¯ãã®è³éã¯ãããç°¡åã«äœ¿çšãããŸãã è€éãªã¢ãŒããã¯ãã£ã®éçºãšåæã®ããã®è³éã¯ãããŸãæã¿ãªãæè³ãããŸãã ãã§ã«åç£ããå Žåã建ç¯è³ç£ã®è²»çšãååããããšã¯å°é£ã§ãã
èªåã§é«å質ã®ã¢ãŒããã¯ãã£ãç解ããéçºã§ããããã°ã©ãã¯ãé«äŸ¡ãªã¹ãã·ã£ãªã¹ããšããŠã®è©å€ããããŸãã ããã°ã©ãã®äœæ¥ã®ã³ã¹ãã¯ãé«äŸ¡ãªã·ã¹ãã ãææå°æ©ã«è¡°éããŠé埳çã«é³è åããå Žåã«çºçããã³ã¹ããšæ¯èŒããŠæšå®ããå¿ èŠããããŸãã è¯ãã¢ãŒããã¯ãã£ãé«äŸ¡ã ãšæããªããæªãã¢ãŒããã¯ãã£ãè©ŠããŠãã ããã
çµéš ïŒäººãæéãšã¢ãŒããã¯ãã£ã®åé¡ã«åãçµãæ欲ãããå Žåã§ããç¹å®ã®åéã§ã®åœŒã®çµéšãŸãã¯çµéšã®æ¬ åŠã¯ãç¹ã«ã·ã¹ãã éçºã®åæ段éã§ã·ã¹ãã ã«å°å ¥ãããå¯èœæ§ã®ããã¢ãŒããã¯ãã£äžã®å°é£ãå¶éã§ããŸãã äžéšã®ããã°ã©ããŒã¯ãæ°ããæœè±¡æŠå¿µãçºèŠããŠéçºã§ããç°å¢ã§æåããŸãããä»ã®ããã°ã©ããŒã¯ãããéãããç°å¢ïŒSmalltalk察Visual Basicãªã©ïŒã§å¿«é©ãªäœæ¥ã奜ã¿ãŸãã å€ãã®å Žåãã·ã¹ãã ã®åæããŒãžã§ã³ã¯ãç¹å®ã®åé¡ã解決ããããã«ããã°ã©ããŒãããŸããŸãªèŠçŽ ãå°å ¥ããããšããäžçš®ã®å®éšããŒã«ã§ãã ãããŠãåé¡ãšãã®è§£æ±ºçãèŠã€ãã£ãå Žåã«ã®ã¿ããããã®åã蟌ã¿èŠçŽ éã«ã¢ãŒããã¯ãã£ã®å¢çãçŸãå§ããŸãã çµéšäžè¶³ã«ã¯ããŸããŸãªåœ¢ããããŸãã åæ¥çã®çµ¶å¯ŸçãªæªçµéšããããŸãã åªããã¢ãŒããã¯ãã¯ãç¹å®ã®åéã§ã®çµéšããªããŠããã³ãŒããå®å šã«ç¥ã£ãŠããç¹å®ã®åéã®å°é家ã§ãªããŠããã¢ãŒããã¯ãã£ã®éçºçµéšããªãå ŽåããããŸãã
ã¹ã¿ããã®é¢è·ã¯çµç¹ã®çµç¹ã®èšæ¶ãæãªãå¯èœæ§ããããçããã劥åçãšããŠãçµç¹ã«ãæ°é®®ãªè¡ãã泚ãå¿ èŠããããŸãã ãã¹ãå€æŽãããšãããããã奜ã¿ã«åãããŠææãè¿œå ãããããç¿å šäœãå°ç¡ãã«ãªããŸãã
ã¹ãã« ïŒããã°ã©ããŒã¯ãç°ãªãã¬ãã«ã®ã¹ãã«ãç°ãªãå°éèœåãæ°è³ªãæ°è³ªãæã£ãŠããŸãã åªããæœè±¡åãç±å¿ã«æ€çŽ¢ããããã°ã©ããŒãããã°ãåä»»è ãæ®ããè€éãªã³ãŒãã®äžçã«ç²ŸéããŠããããã°ã©ããŒãããŸãã 圌ãã¯ãç¥èã®ããŸããŸãªåéãžã®ç²Ÿé床ãšãæ°ããæè¡ãåŠã¶èœåã倧ããç°ãªããŸãã ããã«ãèšèªãšããŒã«ã®äœ¿çšã«é¢ããŠç°ãªãèšå®ããããŸãã
å¯èŠæ§ïŒå»ºç©ã¯å ·äœçãªç©çæ§é ã§ãã 建ç©èªäœãèŠãããšãã§ããŸãã 建ç©ã®å»ºèšã芳å¯ã§ããŸãã ããªãã¯äžã«å ¥ãããã¶ã€ã³ãè³è³ãŸãã¯æ¹å€ããããšãã§ããŸãã
ããã°ã©ã ã®ãŠãŒã¶ãŒã€ã³ã¿ãŒãã§ã€ã¹ã¯ããã®ã¢ãŒããã¯ãã£ã建ç©ã®å€éšã«çµã¿èŸŒãŸããŠããããã«ãããã°ã©ã ã®ãããªãã¯ã€ã¡ãŒãžã§ãã ãã ãã建ç©ãšã¯ç°ãªããããã°ã©ã ãäœæãã人ã ããããã°ã©ã ã®å éšãèŠãããšãã§ããŸãã
ããã°ã©ã ã¯åã ã®èŠçŽ ã§æ§æãããŠããŸãã ããã°ã©ã ã«å¯Ÿããç§ãã¡ã®èªèã¯ããããã®èŠçŽ ãã©ã®ããã«æ瀺ããããã«äŸåããŸãã äžéšã®ãã¶ã€ããŒã¯ãã¢ããªã³ã°èšèªãŸãã¯PowerPointã€ã¡ãŒãžã䜿çšããããšã奜ã¿ãŸãã éåžžã®èª¬æã®ãããªä»ã®äººã ãŸããã³ãŒããèŠãã人ãããŸãã ã¢ãŒããã¯ãã£ãæ瀺ããæ¹æ³ã¯ããã®ã¢ãŒããã¯ãã£ã®èªèã«åœ±é¿ãäžããŸãããããè¯ããæªãããæ確ãè€éãããšã¬ã¬ã³ããæ±ãããªã©ã§ãã
å®éãã¢ãŒããã¯ãã£ãç¡èŠããçç±ã®1ã€ã¯ããã®ã»ãšãã©ãmost玢奜ããªç®ããé ãããŠããããšã§ãã ã·ã¹ãã ãæ©èœããã€ã³ã¹ããŒã«ã§ããå Žåã誰ãå éšããã®å€èŠ³ãæ°ã«ããŸããïŒ
è€éã ïŒããŒãã£ã¢ãŒããã¯ãã£ãåºçŸããçç±ã®1ã€ã¯ãã¢ããªã±ãŒã·ã§ã³ãå®è¡ãããé åã®è€éãããœãããŠã§ã¢ã«åæ ãããããšãå€ãããšã§ãã ãã«ãã¯ã¹ã¯ããã®çŸè±¡ã®çšèªãåºæã®è€éãããäœãåºããŸãã[Brooksã1995]ã èšãæããã°ãåé¡èªäœãç解ãããŠããªãããå°ãªããšãå®å šã«ã¯ç解ãããŠããªãããããœãããŠã§ã¢ã¯è€éã§ç解äžèœã«ãªããŸãã å€ãã®å Žåãã·ã¹ãã ã®çµç¹ã¯ããã®ã·ã¹ãã ãäœæããçµç¹ã®æŽå²ãåæ ããŠããŸãïŒCONVEY LAW [Coplienã1995]ã«æºæ ïŒã ã·ã¹ãã ã®èŠçŽ éã§åºæ¬çãªå¢çãæ¢ã«ç¢ºç«ãããŠãããããæ¢åã®é¢ä¿ãåèããããšã¯ãã°ãã°å°é£ã§ãã ãããã®é¢ä¿ã¯ãå®éã®éœåžã§èŠããããå°åºãå¢çã®ç¹åŸŽã垯ã³ãããšããããŸã[Brandã1994]ã ã¢ããªã±ãŒã·ã§ã³ããããã®å¢çãè¶ ããèªç±ãªå¯Ÿè©±ãå¿ èŠãšããå Žåã倧ããªåé¡ãçºçããŸãã ã·ã¹ãã ã¯ãã€ããããŒã«ã«å€ãããæåã«ãã£ãæ§é ã®æ®éªžã§ããããŸããŸãå£åãå§ããŸãã
å€æŽ ïŒã¢ãŒããã¯ãã£ã¯ããã®åŸã®å€æŽã¯ã¢ãŒããã¯ãã£ããŸããããããžã§ã¯ã空éã®äžéšã«éå®ããããšãããæªæ¥ã«é¢ãã仮説ã§ãã ãã¡ãããå®å®ã¯ãã®ãããªä»®å®ãšäºæž¬ãããããšããç§ãã¡ã®è©Šã¿ã«ç¬ããããå®å šã«äºæ³å€ã®äœããæããããŸãã ç§ãã¡ãç¥ãããšãã§ããåé¡ã¯ç§ãã¡ã®æ³šæããå®å šã«é€å€ãããŸããããçªç¶ãããã¯ç§ãã¡ãäžç·ã«åããšã¯æããªãã£ãæ°ããã¯ã©ã€ã¢ã³ãã«ãšã£ãŠéåžžã«éèŠã§ããããšãå€æããŸããã ãã®ãããªå€æŽã¯ããã®ãããªæ°ããäžæž¬ã®äºæ ã決ããŠèµ·ãããªããšããå®å šãªç¢ºä¿¡ã«ç §ãããŠæ¡çšãããåºæ¬çãªã¢ãŒããã¯ãã£äžã®æ±ºå®ãšã¯æ£å察ã«ãªããŸãã ãæ£ããã決å®ã¯ãã·ã¹ãã ã®å®å šãªåèšèšãããããŸããã ããããæãå¯èœæ§ã®é«ãçµæã¯ãæ°ããèŠä»¶ãæºããããã«ã·ã¹ãã ã®ã¢ãŒããã¯ãã£ãé©åã«éåãããããšã§ãã
èŠæš¡ ïŒå€§èŠæš¡ãããžã§ã¯ãã®ç®¡çã¯ãå°èŠæš¡ãããžã§ã¯ãã§ã®äœæ¥ãšã¯ç°ãªãã質çã«ç°ãªãåé¡ã§ãã ããã¯æ©å µéšéå šäœãæŠéã«å°ããç¹æ®éšéã®å°ããªåéãææ®ããæ¹æ³ã§ãã ãåå²ããŠåŸæããã-ããã¯ãæ¬è³ªçã«ãèŠæš¡ã«ãã£ãŠåŒãèµ·ããããåé¡ã«å¯Ÿããå¿ èŠãã€äžååãªè§£æ±ºçã§ãã OOPSLA '86ã§ã®ã¹ããŒãã§ã¢ã©ã³ã±ã€ã¯ããè¯ãã¢ã€ãã¢ã¯å¿ ãããæ¡å€§çž®å°ãããšã¯éããŸããããšè¿°ã¹ãŸããã ãã®èŠ³å¯ã¯ããã³ãªãŒãªãŒããŒãã³ããã®åå¿ãåŒãèµ·ãããŸããã圌ã¯ãã€ãŸããæªãã¢ã€ãã¢ãæ¡å€§ããå¿ èŠãããã®ãââããšå°ããŸããã
倧å£åŸ
圌ã¯
ã¹ã©ã è¡
ã¹ãã²ããã£ã³ãŒã
ã¹ã©ã è¡ã¯äžæ°å³ã§ä¹±éã§è²§ããå°åã§ãã ãããã誰ãã圌ãã«ã¯è¯ããã®ããªãããšã«åæããã§ãããããã¹ã©ã ã®åºçŸã«å¯äžãã客芳çãªçç±ããããŸãã 圌ãã¯äœã«é¢é£ããŠããŸããïŒ
ã¹ã©ã äœå® ã¯ãéåžžãæãåçŽãªããŒã«ã䜿çšããŠãã·ã³ãã«ã§å®äŸ¡ãªææããæ§ç¯ãããŸãã ã¹ã©ã ã¯ãæ¯èŒçæªçãªåŽååã䜿çšããŠæ§ç¯ã§ããŸãã ãŸããéåžžã®æå³ã§ã¯åŽååã¯ãæªçãã§ãããã¹ã©ã è¡ã®å»ºç©ã®å»ºèšãšç¶æã¯åŽåéçŽçãªããã»ã¹ã«ãªããŸãã å°éåã¯å®éã«ã¯å¿ èŠãããŸããã 家ã¯äž»ã«å± äœè èªèº«ã«ãã£ãŠå»ºãŠãããæ¹ä¿®ãããŠããŸãã ã€ã³ãã©ã¹ãã©ã¯ãã£ãŒã¯ãã¢ã¯ã·ã§ã³ãè³æ¬ãç¹å¥ãªãªãœãŒã¹ãç¹å¥ãªæ©åšãã¹ãã«ã®èª¿æŽã調æŽããå¿ èŠããããããã¹ã©ã è¡ã¯ã€ã³ãã©ã¹ãã©ã¯ãã£ãŒãæ°ã«ããŸããã ã¹ã©ã ã®æé·ãèšç»ãŸãã¯å¶åŸ¡ããããšãäºå®äžååšããŸããã ã¹ã©ã è¡ã¯ãäœå® ã®å¿ èŠæ§ãæªçç·ŽåŽåè ã®éå°äŸçµŠãããã³èšåæè³ã®äžè¶³ãããå Žæã«çŸããŸãã 圌ãã¯äœå® ã®å·®ãè¿«ã£ãå°å ã®ããŒãºãæºãããåé¡ã解決ããããã«å©çšå¯èœãªè³æºãéããŠããŸãã ããæŽç·Žãããã¢ãŒããã¯ãã£ã®ã¢ãããŒãã¯ãåŸ ã€ããšãã§ããèŽ æ²¢ã§ãã
ã¹ã©ã ãåŽåæ¡ä»¶ã«ç¶æããããšã¯åŽåéçŽçãªããã»ã¹ã§ãããå€ãã®ã¹ãã«ãå¿ èŠã§ãã å³åžã®ä¿®çãè¡ãããšãã§ããå³åžã®çŽ æã®ã¿ãå©çšå¯èœã§ãªããã°ãªããŸããã å±æ ¹ãä¿®çããè¡çç¶æ ãæäŸã§ããå¿ èŠããããŸãã ãã ããæçããçµæžã§èŠ³å¯ã§ããè³æ Œã¯å®è³ªçã«ãããŸããã
ã¢ãŒããã¯ãã£ã®èŠ³ç¹ããèŠããšãä»æ¥ã®ãœãããŠã§ã¢ã·ã¹ãã ã¯å€ãããŠããã®ãããªã¹ã©ã ã«äŒŒãŠããŸãã å€ãã®å ŽåãããŒã«ãšã€ã³ãã©ã¹ãã©ã¯ãã£ãžã®æè³ã§ã¯äžååã§ãã ããŒã«ã¯éåžžåå§çã§ãããã©ã€ãã©ãªãç°å¢ãªã©ã®ã€ã³ãã©ã¹ãã©ã¯ãã£ã¯æªéçºã§ãã ã·ã¹ãã ã®åã ã®éšåã¯æ€èšŒãªãã§éçºãããã€ã³ãã©ã¹ãã©ã¯ãã£ãšã¢ãŒããã¯ãã£ã®æ¬ åŠã«ãããã·ã¹ãã ã®äžéšã®åé¡ãæªåããã·ã¹ãã ã®é£æ¥ããéšåã«ææããŸãã ã·ã¹ãã ã®å®ææéã¯è¿ã¥ããŠããããã建ç¯ã®åªé ããéæããããšã¯äžå¯èœã«æããŸãã
ã·ã¹ãã ã®éçºãè¿ã¥ããŠãããšããå®éã®ãŠãŒã¶ãŒã¯åããŠãã®ã·ã¹ãã ã§äœæ¥ãéå§ã§ããŸãã , , , . , Brooks [Brooks, 1995], , / , - .
. Stewart Brand [Brand, 1994] , , , , . , , . , , . .
, , , . , , , , . , .
.
: â . , , , , , ; . . , . , , , . , , , .
: (Ralph Johnson) , « , ». , , -.
: , , , , , .
, â â â, â , . , , .
, , .
(Gabriel) « , » [Gabriel, 1991]. , ? « » ? ?
, ? . . .
, [Buschman, 1996], , , . , , , .
. , . . . . . . , , , , . ? ?
-, , , , . , . , . , , , . , , .
, â , « ». , , . , , .
(Kent Beck) : . . . [Beck, 1997]. « » , , . « » , , , , . « » , , , , . , , .
, , . «» «» . , , , .
â . , , . , â , .
. , , .
, . , , , . , . , , , . [Coplien, 1995], , , . [Foote Yoder, 1998a] , , . , . .
, , , , . , , , . , , . , , .
, . , . . . , .
, , . , . , . . . , .
, , . . . .
« » , , .
, , , â , , , . , , , . , , [Foote Opdyke, 1995]. (PROTOTYPE) (EXPANSION) . , , , â â. , , , , .
(Brian Marick) BIG BALL OF MUD ( ) . , , , , . , . 1970- (Lisp).
(THROWAWAY CODE), , ( « »).
(PIECEMEAL GROWTH) . , â « » (KEEP IT WORKING). (SHEARING LAYERS), , , (BIG BALL OF MUD).
[Foote Opdyke, 1995] , , .
, , (CONSOLIDATION PHASES) [Foote Opdyke, 1995], . (Extreme Programming) [Beck, 2000] .
[Brand, 1994] , , , , . , . (FREEDOM FROM CHOICE) [Foote, 1988] â , .
â . , , . â , , .
â [Beck, 2000]. , , . , . , .
, : . , , . . , , , , .
, . , , .
, , , . -. , .
. â . . . â . (RECONSTRUCTION) , . â .
[Vitruvius, 20 ..], : firmitas ( ), utilitas (), venustas (). . , . , , , .
2
ãªãªãžãã«èšäº