æž IT 這行一定會碰到技術和需求 (requirement) 相è¡çªçš„æ™‚候,有些來自æ¥å‹™éƒ¨é–€çš„需求è¦å˜›æ˜¯å¤©é¦¬è¡Œç©ºã€ä¸ç„¶å°±æ˜¯ç–ŠåºŠæž¶å±‹ã€‚ä»¥æŠ€è¡“çš„è§’åº¦ä¾†èªªï¼Œå¾€å¾€ä¸æ˜¯åšä¸åˆ°ï¼Œè€Œæ˜¯å€¼ä¸å€¼å¾—åšçš„å•題。
å¸ç•Œè¨“練技術人æï¼Œæ˜¯æ•™å°Žå¸ç”Ÿæ‰¾å‡ºå¥½çš„è§£ç”ï¼Œå°±ç®—ä¸æ˜¯æœ€ä½³è§£ï¼Œè‡³å°‘ä¹Ÿæ‡‰è©²è¦æ‰¾å‡ºæ¬¡ä½³è§£ (suboptimal solution)。”Dirty-hack” 並ä¸åœ¨å¸æ ¡æ•™å°Žçš„範疇內。å³ä¾¿é€²å…¥æ¥ç•Œï¼Œæ‰€è¬‚çš„æŠ€è¡“å¤§å¸«ä¹Ÿå¾€å¾€æ˜¯å› ç‚ºèƒ½å¤ æå‡ºæ¼‚亮的架構或是清楚的系統介é¢è€Œå—åˆ°å°Šæ•¬ï¼Œè€Œä¸æ˜¯å› 為 “總是能讓一個陳舊的系統還å¯ä»¥é‹è¡Œ” 而å—人稱é“。如果說 MBA ç•¢æ¥ç”Ÿå…¶å¯¦åªè¦å¸æœƒåœ¨ä¸€ä¸Šä»»å°±å–Š “組織é‡çµ„” å°±å¯ä»¥ç•¢æ¥ï¼Œé‚£è³‡æ·±ç³»çµ±æž¶æ§‹å¸«æˆ–許也åªéœ€è¦æœƒ “reboot”, “re-install” å’Œ “re-architect” å°±å¯ä»¥æ··å£é£¯åƒäº†ã€‚
坿˜¯åååšç”Ÿæ„是沒有è¦å‰‡çš„,需求 (requirement) 是沒有æ¢ç›¡çš„ï¼Œæ°¸é æœƒæœ‰ä¸€å€‹æ–°çš„生æ„éœ€è¦ Dirty hackï¼Œæ°¸é æœƒæœ‰ä¸€å€‹æ–°å®¢æˆ¶æƒ³è¦è€Œç•¶åˆæ²’考慮到的需求。這也是跟åšä¸€å€‹æ‹‹æ£„å¼çš„網站最大的ä¸åŒï¼Œå› 為拋棄å¼çš„網站沒有ç¶è·çš„å•é¡Œã€æ²’有陳年的商æ¥é‚è¼¯ã€æ²’有新需求注入。
å…ˆå‰æˆ‘èªç‚ºå¥½çš„æž¶æ§‹æ˜¯ç³»çµ±ç©©å®šæœ€é‡è¦çš„å› ç´ ï¼Œä½†å¾Œä¾†ç™¼ç¾ï¼Œå•†æ¥ç¶²ç«™çš„程å¼ç¢¼å’Œå•†æ¥é‚輯是切ä¸é–‹çš„,並沒有一個架構有辦法讓商æ¥é‚輯自æˆä¸€æ ¼ã€‚除éžåšç”Ÿæ„的變化種類減少,ä¸ç„¶ç¶²ç«™çš„程å¼è¤‡é›œåº¦å°±ä¸å¯èƒ½æœƒæ¸›å°‘。一旦é‚è¼¯è¤‡é›œï¼Œå°±åªæœ‰èµ°å‘ dirty hack 一途。
æŸç¨®ç¨‹åº¦ä¸Šé€™ä¹Ÿè§£é‡‹äº†ç‚ºä»€éº¼å¤§å…¬å¸æ²’è¾¦æ³•åƒæ–°å‰µå°å…¬å¸ä¸€æ¨£å¿«é€Ÿç”¢ç”Ÿç¶²ç«™ï¼›æ‰£æŽ‰ç¹è¤‡çš„內部æµç¨‹ï¼Œç¨‹å¼è¨è¨ˆå¸«è¦æ“”å¿ƒçš„ä¸æ˜¯ “æˆ‘åŠ äº†ä»€éº¼æ–°åŠŸèƒ½?”,而是 “我æžçˆ›äº†ä»€éº¼èˆŠåŠŸèƒ½?”
純技術性的想法是,拋棄舊的架構,在新的架構把所有æ±è¥¿é‡å¯«ã€‚ä¸éŽèµ°é€™æ¢è·¯è¦æˆåŠŸæ˜¯é›£ä¸ŠåŠ é›£ï¼Œæƒ³åƒä½ å¿…é ˆæŠ„å¯«ä¸€å¼µå·²ç¶“è¢«ç«‹å¯ç™½å¡—抹了å幾年的手寫è‰ç¨¿ï¼Œè¦æ€Žéº¼çŸ¥é“ç¾åœ¨å¯«åœ¨ä¸Šé¢çš„æ±è¥¿ï¼ŒçœŸçš„æ˜¯å®ƒè¡¨é¢ä¸Šçš„æ„æ€å‘¢?
釿–°æž¶æ§‹çš„å¦ä¸€å€‹å•é¡Œæ˜¯ï¼Œé€™æ®µæ™‚é–“ä½ çš„ç ”ç™¼èƒ½é‡å°±è¢«ä½”æ»¿äº†ï¼›ä½ åœ¨åŽŸåœ°è¸æ¥ï¼Œåªå¸Œæœ›æœªä¾†å¯ä»¥è·‘得比競çˆè€…å¿« — æˆ‘å¸Œæœ›ä½ èƒ½æ´»åˆ°é‚£æ™‚å€™ã€‚
å°±å› ç‚ºé€™å…¶å¯¦ä¸¦ä¸æ˜¯å€‹ç°¡å–®çš„å•題,所以æ‰è®“èƒ½å¤ å¦¥å–„è™•ç†é€™ç¨®å•題的公å¸èƒ½å¤ 脫穎而出å§ã€‚ä¸éŽï¼Œé€™æ¨£æ›´å¥½çŽ©ï¼Œä¸æ˜¯å—Ž?