By 高煥堂 一、猛虎細(xì)嗅著薔薇 我一向主張軟件人員不要太偏向用戶,不要沉迷于需求之中。否則像戀愛(ài)中的人兒,一直想去問(wèn)清楚對(duì)方愛(ài)不愛(ài)他,既不浪漫又沒(méi)效果。許多人就因而批評(píng)我對(duì)需求視而不見(jiàn),其實(shí)這個(gè)批評(píng)是挺貼切的,「視而不見(jiàn)」也有其正面的意義。舉世知名建筑學(xué)家路康(Louis Khan)喜歡用“wink at”這個(gè)字,它也是視而不見(jiàn)的意思,其蘊(yùn)含有「我在意,但我心照不宣」的意思,也如同猛虎細(xì)嗅著薔薇一般,用心呵護(hù)它(即需求)、心疼它,細(xì)細(xì)品味其完整之美。 二、有情世界與無(wú)情世界 路康的建筑之道是: ◆ 先將有情世界抽離開(kāi)來(lái),就分成有情世界與無(wú)情世界了。 ◆ 然后求教于無(wú)情世界的物性(此時(shí)對(duì)有情世界視而不見(jiàn)),再融合有情世界的人為欲念,成就一項(xiàng)杰作。 將之對(duì)應(yīng)到軟件產(chǎn)業(yè)上,用戶需求屬于有情世界,而系統(tǒng)本身是偏向無(wú)情世界。則軟件開(kāi)發(fā)之道是: ◆ 先將有情世界的需求抽離開(kāi)來(lái)。 ◆ 然后求教于無(wú)情世界的軟件和諧關(guān)系(此時(shí)對(duì)需求視而不見(jiàn)),再融合有情世界的用戶欲為,成就一項(xiàng)杰出的軟件。 在金剛經(jīng)里也提到:若見(jiàn)諸相非相,即見(jiàn)如來(lái)。其中的“非相”也含有視而不見(jiàn)之意。當(dāng)我們觀察一棵樹(shù),看到茂密的樹(shù)葉,非相(對(duì)樹(shù)葉視而不見(jiàn))之后,即能見(jiàn)到樹(shù)干。同樣地,用戶需求是相,非相(對(duì)需求視而不見(jiàn))之后,即能見(jiàn)到系統(tǒng)架構(gòu),然后再以美好架構(gòu)支撐有情的用戶需求,融合成為杰出軟件,這就是新潮的「以架構(gòu)為中心」(architecture-centric)軟件開(kāi)發(fā)方法。例如,有個(gè)情境如下: ◆ 需求:七夕情人節(jié)快到了,需要建一座橋梁(即系統(tǒng))給情人約會(huì)之用。 ◆ 視而不見(jiàn):對(duì)人們“約會(huì)”的需求細(xì)節(jié)視而不見(jiàn)。 ◆ 求教于無(wú)情世界:專注于橋的形與本質(zhì),發(fā)揮美學(xué)想象力。 ◆ 發(fā)現(xiàn)未知的需求:除了人所需的一般橋梁之外,更需要優(yōu)先建造「喜鵲橋」給牛郎和織女相會(huì)。 ◆ 調(diào)整項(xiàng)目(項(xiàng)目)管理:改變項(xiàng)目管理的優(yōu)先次序,如何找到喜鵲? 如何搭成一條喜鵲橋? 這些跟原先從橋墩建起的工作程序及驗(yàn)收計(jì)劃完全不一樣了。 因之,對(duì)需求視而不見(jiàn)只是過(guò)程,它讓人們真心善待需求,始能成就杰出的軟件。 三、視而不見(jiàn)目標(biāo),用心掌握全局 無(wú)論是體能運(yùn)動(dòng)或智能運(yùn)動(dòng)(如下棋),大家都知道唯有保持「平常心」,才能將潛能充分發(fā)揮出來(lái)。視而不見(jiàn)目標(biāo)(即保持平常心),專注本身的潛能發(fā)揮,并兼顧全局,如此更容易達(dá)成目標(biāo)。君不見(jiàn),在荒野上的小獅子,肚子餓了就到處追捕兔子,愈追兔子肚子愈餓,兔子的聲音也愈來(lái)愈遠(yuǎn)了。后來(lái)獅子?jì)寢尵徒虪骸付亲羽I要躲起來(lái),假裝睡大覺(jué),對(duì)兔子視而不見(jiàn)。就會(huì)聽(tīng)到兔子的聲音愈來(lái)愈近了,全局盡在掌控中,目標(biāo)就在眼前!管浖枨笫巧谱兊哪繕(biāo),唯有從全局著手才能竟其功;欲掌握全局,則視而不見(jiàn)目標(biāo),可能是一條快捷之路。 四、暗室里抓黑貓 –從問(wèn)題開(kāi)始,忘了問(wèn)題 –反思(假設(shè))、聯(lián)想(關(guān)系)、醞釀(新視角) –讓解決方法浮現(xiàn)出來(lái) 于此,我們來(lái)聽(tīng)聽(tīng)一位杰出設(shè)計(jì)師 保羅.蘭德(Paul Rand)的說(shuō)法。他是當(dāng)今美國(guó)乃至全球,最杰出的logo設(shè)計(jì)師、思想家及設(shè)計(jì)教育家。前蘋(píng)果公司CEO喬伯斯贊譽(yù)他為「史上最偉大的平面設(shè)計(jì)師! 設(shè)計(jì)理念源自包浩斯倡導(dǎo)的現(xiàn)代主義美學(xué),所設(shè)計(jì)的IBM商標(biāo)無(wú)人不識(shí),蔚為經(jīng)典。針對(duì)設(shè)計(jì)和創(chuàng)意過(guò)程,他說(shuō)明如下: 「華勒斯(Graham Wallas)是個(gè)絕頂聰明的人,他在<>(Art of Thought, 1926)這本書(shū)里,發(fā)明了一套如何構(gòu)思想法的見(jiàn)解。先調(diào)查問(wèn)題的所有面向,做出粗略或精細(xì)的的概要,然后忘了那個(gè)問(wèn)題,總之把它拋到腦后就對(duì)了。這是思考過(guò)程的第一階段,稱為準(zhǔn)備期(Preparation)! 「第二階段是醞釀期(Incubation)。把問(wèn)題忘掉,讓它蘊(yùn)釀。讓它在你心里慢慢熬煮。這可不是我發(fā)明的。這是某個(gè)非常聰明的家伙,他發(fā)現(xiàn)事情就是這樣運(yùn)作的。我知道他說(shuō)的是對(duì)的,因?yàn)槲揖褪沁@樣想事情的。假使我要做某件事,我會(huì)先發(fā)出各種疑問(wèn),然后把他們拋到腦后,隔一個(gè)禮拜或隔個(gè)一天再回來(lái)想,然后就會(huì)有些念頭出現(xiàn)。所以,蘊(yùn)釀期非常重要,忘個(gè)一星期,或忘個(gè)一天,或隨便多久。你給它時(shí)間,你就能做出決定。」 「第三階段是豁朗期(Illumination),問(wèn)題整個(gè)浮現(xiàn)。你知道,你等了一個(gè)禮拜,然后突然之間,靈光一閃。你有了想法。這時(shí),你要立刻把想法記下來(lái),看看它是否符合你可能采取的行動(dòng)。等你全部設(shè)想完畢,你要仔細(xì)觀察,進(jìn)行評(píng)估。評(píng)估它可不可行? 大家會(huì)不會(huì)接受? 或你滿不滿意? 這就是設(shè)計(jì)的過(guò)程,或說(shuō),創(chuàng)意的過(guò)程。從問(wèn)題開(kāi)始,忘了問(wèn)題,讓問(wèn)題自己浮現(xiàn)或讓解決方法自己浮現(xiàn),然后重新加以評(píng)估。這就是你們未來(lái)一直要做的事! 五、結(jié)語(yǔ) 許多軟件人員不太用心對(duì)待需求;經(jīng)常如餓虎撲羊般切和解需求,好像以為把一朵薔薇分解成一堆花瓣,然后詳細(xì)紀(jì)錄之,就能產(chǎn)出需求分析文檔了。就如美國(guó)福特汽車(chē)創(chuàng)辦人 亨利.福特(Henry Ford)曾說(shuō): 「如果我完全聽(tīng)信用戶之言,我一定只會(huì)做出一匹更快的馬給他們。」 (If I’d listened to customers, I’d have given them a faster horse.) 需求是限制,當(dāng)我們細(xì)心阿護(hù)它,就能蘊(yùn)育出更多創(chuàng)意。像谷歌(Google)公司的基本思維是: 「創(chuàng)意與限制心心相印。」 (Creativity loves constraint.) 限制蘊(yùn)育創(chuàng)意,創(chuàng)意滿足限制,創(chuàng)意突破限制,實(shí)現(xiàn)完美設(shè)計(jì)。 |