|
1. 產(chǎn)品需要滿(mǎn)足用戶(hù)需求。
每天都在用windows、ie、word、firefox等,都很好用,但對(duì)用戶(hù)來(lái)講誰(shuí)關(guān)心后面的代碼、架構(gòu)是什么樣子。
生產(chǎn)線(xiàn)上的人每天都在用你寫(xiě)的產(chǎn)品,他們只關(guān)心產(chǎn)品是否能準(zhǔn)確地完成功能,沒(méi)有故障,操作是否方便。
有很多人覺(jué)得架構(gòu)不好,代碼ugly,所以重寫(xiě)產(chǎn)品,下面幾個(gè)老鏈接大家可以看看。
說(shuō)說(shuō): http://blog.joycode.com/demonfox/archive/2007/03/21/98381.ASPx
Things You Should Never Do, Part I: http://www.joelonsoftware.com/articles/fog0000000069.html
里面提到NETScape的重寫(xiě)等,甚至微軟的word也曾打算過(guò)重寫(xiě),好像是這些文章還是別的什么地方提到過(guò)一個(gè)ftp代碼重寫(xiě)了3、4年才完成。
我們每天面對(duì)著一行行代碼時(shí),是否能多想想這些代碼怎樣方便的幫助用戶(hù)完成想要的工作?它們?cè)鯓硬拍軒椭緦?shí)現(xiàn)更多的利潤(rùn),幫助客戶(hù)實(shí)現(xiàn)更大的價(jià)值?新的設(shè)計(jì)思想的運(yùn)用、代碼中隱藏的每個(gè)錯(cuò)誤會(huì)給項(xiàng)目帶來(lái)什么影響,會(huì)給客戶(hù)造成什么損失?
這些不僅僅是老板、架構(gòu)師、項(xiàng)目經(jīng)理的責(zé)任,項(xiàng)目中的每個(gè)人應(yīng)該有比較深刻的認(rèn)識(shí),才能做出好產(chǎn)品。程序員的職業(yè)生涯想要往高處走,哪怕是升為一個(gè)高級(jí)程序員、架構(gòu)師,都需要不斷的將目光關(guān)注在這些方面。所以不要一天到晚只盯著代碼看問(wèn)題,總跟代碼過(guò)不去。
2. 產(chǎn)品需要滿(mǎn)足市場(chǎng)需求,滿(mǎn)足市場(chǎng)運(yùn)作策略。
很多程序員出身的,后來(lái)做項(xiàng)目經(jīng)理了,做銷(xiāo)售了,不少已經(jīng)在做老板了,多了解一下他們面臨的問(wèn)題,他們的想法。也許不久之后你也打算創(chuàng)業(yè)做老板了。
沒(méi)有多少項(xiàng)目能夠像暴雪那樣,動(dòng)不動(dòng)寫(xiě)個(gè)6、7年,產(chǎn)品推出來(lái)還能保證巨大的市場(chǎng)成功,Vista寫(xiě)了5年已經(jīng)很長(zhǎng),再寫(xiě)個(gè)幾年可能要失控。尤其國(guó)內(nèi)這種激烈的競(jìng)爭(zhēng)環(huán)境,慢個(gè)半拍人家就已經(jīng)把它做的很好了。
所以老板有市場(chǎng)壓力,項(xiàng)目經(jīng)理需要承擔(dān)項(xiàng)目周期與質(zhì)量壓力,需要處理各種技術(shù)、未知故障風(fēng)險(xiǎn)。
很多時(shí)候老板的要求并不是錯(cuò)的,客戶(hù)的要求并不是不合理的,只是你沒(méi)有理解,所以都被你宣判為無(wú)理的、搞笑的、不適合產(chǎn)品開(kāi)發(fā)的要求。所以心里開(kāi)始抵觸,不能全面的配合老板、經(jīng)理實(shí)現(xiàn)目標(biāo),有時(shí)候做出來(lái)的東西牛頭不對(duì)馬嘴。最后老板說(shuō)程序員不可思議,程序員說(shuō)老板真差,double-lose!
3. 不要盲從。
"不要迷失在技術(shù)的海洋中"應(yīng)當(dāng)也是這個(gè)意思。
看《領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)》,作者開(kāi)始就說(shuō)了這種方法不是萬(wàn)能藥,他的不少項(xiàng)目使用這種方法都失敗了。看《企業(yè)應(yīng)用架構(gòu)模式》,作者并不會(huì)告訴你你的項(xiàng)目應(yīng)該用領(lǐng)域模型、事物腳本還是表模塊,要根據(jù)實(shí)際狀況選擇。最近剛開(kāi)始看《分析模式》,每一種模式都從簡(jiǎn)單到復(fù)雜講述,但一開(kāi)始作者就提出了根據(jù)需求具體選擇采用簡(jiǎn)單方式還是復(fù)雜模型,正確實(shí)現(xiàn)需求的就是好模型,不要盲目的為產(chǎn)品做過(guò)多假設(shè)。
盡管Martin Fowler和Eric Evans都受敏捷思想的影響,這不是關(guān)鍵,其它書(shū)籍也差不多如此。他們提供的只是一種方法、思想,具體環(huán)境具體運(yùn)用,開(kāi)篇不起眼的一些話(huà),在理解了這些思想之后,這些話(huà)才是最重要的。
一個(gè)經(jīng)理如果總能按園子里大家的想法來(lái)管理、開(kāi)發(fā)產(chǎn)品,極有可能是一個(gè)徹底失敗的經(jīng)理。
4. 產(chǎn)品需要積累。
產(chǎn)品的成熟并不是指代碼多漂亮,架構(gòu)多完美,這些東西只占據(jù)比較小的分量。產(chǎn)品成熟更多的是指產(chǎn)品功能、性能、穩(wěn)定性、用戶(hù)使用性,以及從業(yè)務(wù)功能、運(yùn)營(yíng)部署要求面看起來(lái)一定的靈活、擴(kuò)展性。
很多時(shí)候會(huì)聽(tīng)到這種話(huà):這個(gè)項(xiàng)目這么簡(jiǎn)單,真搞不懂他們?cè)趺椿四敲撮L(zhǎng)時(shí)間;這么簡(jiǎn)單一件事,想不透為什么寫(xiě)的這么復(fù)雜。
仔細(xì)看過(guò)上面推薦的兩個(gè)鏈接,結(jié)合自己的經(jīng)驗(yàn)很容易理解,很多非常ugly的代碼中隱藏了不少疑難雜癥的修復(fù)知識(shí),這是一個(gè)方面。
另外一個(gè)方面,將需求一步步收集起來(lái),將產(chǎn)品從無(wú)到有做起來(lái),能夠滿(mǎn)足用戶(hù)要求在生產(chǎn)線(xiàn)上運(yùn)行起來(lái),不是件容易的事情,這個(gè)里面很多困難你想不到,交給你重做一次未必比前人做的好。
很多人在學(xué)習(xí)設(shè)計(jì)模式,很多人每天都在不斷的重構(gòu)代碼,有沒(méi)有人實(shí)際的去關(guān)注過(guò),你做的這些工作,真的給產(chǎn)品、給用戶(hù)帶來(lái)了多少好處,實(shí)現(xiàn)了多少價(jià)值。其實(shí)脫離實(shí)際需求,程序員拍腦袋想的很多東西,花了很大精力去實(shí)現(xiàn),可能從頭到尾就沒(méi)有發(fā)揮過(guò)作用,或者作用非常有限。
很多時(shí)候你發(fā)現(xiàn)自己負(fù)責(zé)的產(chǎn)品很靈活、功能很強(qiáng),可是到用戶(hù)那邊,到下一個(gè)項(xiàng)目/客戶(hù),新的需求非常多,不少時(shí)候已有架構(gòu)無(wú)法滿(mǎn)足。
比較長(zhǎng)一段時(shí)間內(nèi),要象大家討論的方式來(lái)做項(xiàng)目,象不少程序員心中想象的情景去開(kāi)發(fā)一個(gè)產(chǎn)品,是不大可能的。我們只能不斷的在項(xiàng)目中做小的修改來(lái)積累產(chǎn)品,在適當(dāng)?shù)臅r(shí)候做一些大的調(diào)整來(lái)改善產(chǎn)品。
如果從產(chǎn)品最開(kāi)始就采用大家推崇的各種方法、思想來(lái)做一個(gè)產(chǎn)品,這個(gè)產(chǎn)品成功的概率多大?
不要說(shuō)小公司才有這種爛做法,沒(méi)有心胸的經(jīng)理才會(huì)否定這種做法,看看Oracle、MS、HP等,看看印度的軟件工廠(chǎng),難道都是采用大家理想的做法?
保證第一個(gè)版本可用,第二個(gè)版本好用,第三第四個(gè)版本能夠通用,不是代碼層面,而是功能層面的,相信不少公司產(chǎn)品都是這樣的戰(zhàn)略。這里不僅有市場(chǎng)策略,也有產(chǎn)品項(xiàng)目迭代開(kāi)發(fā)方式,功能的逐步完善、用戶(hù)反饋等等其它各方面的考量因素。
最后:
看待問(wèn)題不要太單純,面向?qū)ο笠埠梅敲嫦驅(qū)ο笠埠茫?a href=/pingce/cunchu/ target=_blank class=infotextkey>存儲(chǔ)過(guò)程也好SQL也好,多探討交流讓大家都加深認(rèn)識(shí)就行了,至于實(shí)際環(huán)境應(yīng)該采用什么方式,都不能做定論。
不少程序員、開(kāi)發(fā)團(tuán)隊(duì)確實(shí)是得過(guò)且過(guò),對(duì)未掌握的東西不大愿意去了解,因陳守舊,也確實(shí)是一個(gè)方面,有的是本身上進(jìn)心不夠,有的是生活或其它壓力太大,工作的事情只是敷衍。既然是在園子里活躍的,應(yīng)該大部分不屬此列,所以更應(yīng)該注重的是注意改變自己的視角去分析問(wèn)題,使自己的技術(shù)研究更有針對(duì)性方向性,看待問(wèn)題更全面。
it知識(shí)庫(kù):為什么無(wú)法面向?qū)ο?/a>,轉(zhuǎn)載需保留來(lái)源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。