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