如何做項目

總寫失敗的經歷,可能會誤導大家,也可能會對剛開始學習軟件技術的人也會有一些消極的負面的影響,大部分人也會覺得我的開發水平、管理水平很糟糕一樣,其實我也說不出來有啥獨特的技術,自己總結下來後:“以最快的速度搞定客戶的實際工作需要,把項目用最快的速度做好、最穩定高效運行,能經得起長期的考驗,大數據量的考驗”。

 

   故事的一切前提:

     你是個工作狂,工作拼命,不管是打工還是創業,不管是週末還是春節,你心思都用在工作上,爲了把工作做好就算打工你也可能經常搞個通宵,沒有這樣的拼盡、幹勁,幾乎什麼東西也做不成的,連打工都打不好的人,想獨立做項目或者創業,那基本上失敗的可能性是90%還要多吧。

 

   我創業時總結了一些開發方面失敗的經驗:

   01。當你想自己開公司時,做項目需要的東東,不是你自己開公司時纔開始準備,而是在你打工的時候就全部提煉好,真正做項目時一個月4-5千元薪資的程序員,一個月有可能啥明顯的工作成果也幹不出來的,你也不能因爲這個把他開除了,你也拿他沒辦法的,而且你還要指導他怎麼怎麼做,而且做出來的東西也不太穩定,複用性也比較差,而且還有人員流動的風險,給你留下搞了一半的半攤子項目,讓你死去活來,現在開軟件公司的老闆應該會有比較深的體會。

   02。你需要有個比較穩定可靠的數據庫訪問層等等,可以提高軟件開發速度、減少編碼工作量的穩定高效的組件、同時也可以適當的約束你的同事、合作伙伴。

   03。你需要一個萬能的管理類軟件的後臺管理效果,例如菜單的控制管理,裏面的頁面都怎麼做,需要有一整套的固定風格,而且做得也比較漂亮大氣、穩定可靠的那種,這樣你不管接了什麼項目,稍微修改一下就可以在下一個項目裏用,見效快不會亂折騰,儘量不要在這方面消耗過多的成本。

   04。你應該有一套穩定高效的後臺控制工具,例如用戶管理、用戶的權限控制,系統的菜單管理、用戶的菜單訪問權限管理、角色管理等,而且不能有絲毫的錯誤,穩定得要命,你可以在幾分鐘內就可以部署好你的管理功能工具,幾個小時內就可以把用戶的賬戶權限等全部配置好,想都不用想就可以搞定了。

   05。你還需要一套高效的數據庫設計工具,總不能系統需要啥功能就建一個表、做到哪裏算到哪裏,那你這系統早晚會崩潰的、明顯是屬於亂搞嘛。

   06。你還需要一個高效的代碼生成工具,那些底層的,沒有技術含量的代碼都不要靠人工寫了,人會累會馬虎會大意會走神會偷懶,這些都使用代碼生成器寫就可以了。

   07。你有一整套的成熟的日常工作上遇到的問題如何解決的成熟思路,例如編號序列生成器、參數管理工具、日誌管理、數據備份、當然哪些左鏈接啥的對你來說是小菜一碟就是,想都不用想就可以搞定了。

   08。簡單的頁面,你可以在半個小時內做得一個bug沒有,而且精力旺盛、鬥志比較高、身體也強壯一些,否則也吃不消連續的高工作壓力下連續工作多天,有上百個功能等着你要實現,你要有足夠的心理承受能力,否則會精神分裂或者壓抑暴躁。

   09。你有嚴謹的思維,可以把一個項目分解成幾百個小功能點,然後不重複折騰,先後順序井然的,一個個的,一口氣作戰把一個個頁面、一個個功能都能搞定,每天都搞定10-20個功能,甚至更多,而且就像是玩一樣的速度,工作就當成娛樂而不是痛苦。

   10。你能處理非常複雜要求的功能頁面的能力,遇到再複雜的功能,你也心不亂、心不慌,估計需要你一天之內就可以搞定吧,Javascript 、ajax 等用得也比較熟悉一些,三下兩下就可以調試通過。

   11。你還有幾招必殺技,例如有比較技術震撼力的解決思路,解決方法,解決方式,友善的操作頁面等等。

   12。你需要有一天能測試出別人程序100-200個錯誤,能檢查出上百個代碼不規範,同事可以檢查3-5個人的代碼,一眼掃過去就能大致知道這個人寫程序哪裏會有問題,程序還沒運行時,你就能說出這個程序會有哪些Bug,哪些安全隱患等等的能力。

   13。你有最高配置的筆記本電腦,電腦要能跟上你的思路,N多的工程瞬間就能編譯好,根本不會在編譯調試上浪費時間,有熟練的調試能力,三下兩下就可以把複雜的功能調試好。

   14。你有大規模可複製粘貼的大量範例程序,可能是你3-5年來一直在完善的例子程序,哪個功能從哪個文件的哪個位置複製粘貼,連想都不用想,瞬間就可以找到複製的區域,我的電腦的ctrl + c, ctrl + v 鍵盤幾乎是磨損得最厲害,我根本不講什麼創造性,1個月搞定10萬,客戶也滿意,你也滿意就可以了,何必瞎折騰呢?

   15。說百了,需要“數據庫設計規範、編碼規範、頁面規範、權限架構規範、規範的例子程序、代碼生成器”有了這些,再來一個神速的複製粘貼 + 驚人的調試組織能力,嚴謹的項目拆分、組織、先後順序安排能力,這個項目就像玩一個搞定了,只不過是一個過程而已,因爲是重新開發、有上百上千個功能點所以再神也不可能一天內搞定而已。

  16。客戶要的不是高科技,就是那些通俗的日常業務,只是需要你做得越快越好,越好用越好,越省錢越好,越穩定越好、你懂什麼設計模式、接口、泛型、委託、代理、工作流、silverlight、WCF、WF、WebService等等一大對狗屁技術還不能能做得界面漂亮一些,你懂什麼某個性能的極致優化,還不如把你的項目整體做得最穩定、最可靠、最方便客戶操作、整體運行效率高,客戶就最滿意,而不會偏重與某個細節上,客戶更注重的是項目的整體。

  17。客戶關心的不是編碼、用什麼語言、代碼質量等等,客戶關心的是能否滿足他們的需求、能否實現那些最基本的功能,但是你編碼太爛,就經不起客戶的折騰,人家功能稍微變動一下、邏輯稍微更改一下,你的爛代碼就癱瘓了,俗話講的話,就經不起折騰了,在我眼裏,代碼再爛能經得起客戶的反覆折騰而不亂就是好代碼。 

 

那你若具備了以上幾個要求,那下面的故事就可以開始了。

 

   有一家上海的小型IT公司(10個開發人員內左右吧,估計其中有2個人開發這個項目)承接了杭州一家電子商務公司的B2C網上購物系統,前後搞了3個月,總是遠遠滿足不了客戶的實際需求,因爲軟件系統必須要經得起實戰,客戶的投資也不小,項目等一天就是損失好幾千元,還有跟錢一樣重要的是時間成本,機會成本,十幾號相關的配套人員就等着這個項目上線運作,前後3個月了也遠遠滿足不了客戶的各種需要,客戶的運行總監自己也是IT行業軟件出身他也看出來要靠這個小軟件公司早晚是個死,就下決心叫停這個項目的開發了。

 

   他找我,問我多久能做出來這個項目來?我評估了他們已經做好的功能、程序代碼、數據庫設計等等,基本上是中等偏下的水平吧,代碼有些亂,數據庫有些亂,類也亂,分層也亂,我也沒耐心去維護那個代碼,我就直接跟客戶講,這個公司的水平不怎麼高,接下來能把這個項目能做好的希望是渺茫一些,而且他們越做越賠錢而已,開發公司也確實支撐不下去了。

 

   我網上找了一些網上購物的現成的軟件,基本上是PHP的多,我是沒能力去折騰修改PHP的程序,那估計對我來說是個折磨,我找了一些其他.net開發的項目,也不是很理想,我自己也評估了一下,系統整套的功能做下來估計需要3周-4周,而且接下來都會非常容易維護,系統的穩定性也高一些。

   客戶的時間和寶貴,後面還有更大投資在進行中,客戶跟我說得很實在他們只肯出10萬的軟件開發預算,只能有1個月時間,問我是不是願意幫他們一下?我想了一下,也不好拒絕,正好想買個車子,有10萬也差不多了,不夠的按揭買個車也不錯。

   客戶說,我怎麼可以相信你,你一個月內可以完整的完成這個項目?我的回答“若我不能按時完成這個項目,我願意賠償4萬元”,因爲我只有這麼多存款,其他實在沒錢了,那就籤一個合同,不能按時完成,就按合同來。

 

   接下來,我大致的時間安排是:

   01:用了一天時間,說服他們的公司的從上到下,是足夠可以完成這個項目,讓他們徹底相信我的能力。

   02:用了一天時間,把他們現有的系統的功能都瞭解好,然後把客戶的期望值瞭解好。

   03:用了一天時間,把他們的表結構整理好,把沒用的代碼刪除掉、把沒用的層什麼的刪除掉。

   04:用了三天時間,把他們的系統的錯誤都修正好,讓網上購物程序先跑起來。

   05:用了一天時間,把他們系統的外部廣告推廣接口實現好。

   06:用了一天時間,把心的SVN服務器架構好,把新域名配置好,把數據庫服務器、網站服務器配置好,把後臺管權限理工具配置好,把前臺購物網站、後臺管理網站配置好。

   07:用了五天時間,把前臺購物網站全部重新實現好,用戶的註冊、購物車、訂單確認、配送方式、郵費、商品購物、遊客購物、 支付寶接口實現等等全不實現好,幾乎沒有停頓,平均一天10-20個功能實現好,一天2-3個功能頁面搞定好。

   08:用了一天時間,給他們展示前臺功能,讓他們瞭解項目的進展。

   09:用了一天時間,把他們原有系統裏的數據全部導入到新系統裏,不用客戶重新輸入數據了,幾百條紀錄人家也是輸入了很久的。

   10:用了三天時間,把商品的管理、上架設置、價格設置、庫存設置、尺碼款式設置、產品說明管理等等做好。

   11:用了三天時間,把整個訂單的管理、配貨、發貨、收款、退款、客戶服務、評論管理等都做好,平均一天10-20個功能實現,一天平均3-4個頁面的速度。

   12:用了一天時間給他們演示系統的功能,其中用了半天時間,部署新的網站,項目成功上線,就等客戶驗收付款。

 

   其中有幾天,心情不好睡懶覺、陪老婆看電影,逛街,寫博客吹牛,主要是覺得做網上購物的程序,前途還是比較光明,市場也會比較看好,現在人人都開網店,網上購物也越來越普遍,稍微有錢的公司,有錢的老闆,都想按自己的方式來個網上購物網站,投資個10萬8萬也覺得很正常。

   千些日子,我老婆的師哥,在北京找了個人做一個網上購買書的電子商務網站,砸了個萬八的,最後項目失敗了,其實你不要覺得做一個B2C的網上購物網站有那麼簡單,你可以自己做個試驗,你真的能用1個月的時間,能做出一個完整的網上購物系統(包括前臺、後臺)嗎?

   我這些年,就連就了一個水平,如何用最快的速度把項目拿下,一個項目拿下了後,我就會休息,尋覓機會,不斷完善自己的工具、架構、把積累再鞏固一下,等把下一個項目用更極限的時間完成。

 

   只有那些陷入困境的項目,客戶很急的項目,有緊迫的時間要求的項目才比較值錢一些,比較刺激,比較挑戰極限,我並不是爲了炫耀自己,只是想給那些學計算機軟件的朋友們一個信心,做軟件是可以賺到錢,但是需要你付出很多努力,需要你有很多積累。

   同時也向經常打擊我的朋友說一聲,我沒啥其他能力,只有一個能力就是神速搞定陷入僵局的項目,以最快的速度把軟件項目完成,這就是我這些年練就的水平,就只關注了做軟件賺錢速度,其他什麼都沒怎麼在乎,你若不服,你可以自己折騰一下看看,網上購物程序,訂單管理系統、互聯網是時代發展的潮流。

 

   寫得亂了一些,希望能對你有所幫助,別人再有需要網上購物程序的,別忘記跟我合作,我這裏有成熟的網上購物系統,代碼質量高,配套工具也全,一起合作賺錢,還是比較開心的,我們不要跟錢過不去,我是能把事情辦成的人,你也有希望從我身上賺到錢,拿我賺到錢的希望是有的,我有你可利用的價值。

   當然我們做出來的軟件系統,客戶天天在用,爲全國的朋友在做服務,也是值得驕傲的事情,很有成就感的事情,當然你連一個月都沒用把整套的B2C網站系統都做出來了,那我可以很認真的告訴你,你強,我認輸了,我不是你對手,我錯了兄弟,你纔是真正的軟件人才。

 

    機會不是天天都有,1年能碰上這樣的機會1-2次就往往就足夠了,一個開發人員一年才賺幾個錢?累上1-2次,休息個5-6個月,應該也沒啥問題,每次項目突擊好了,把經驗再總結一下,把自己架構中的不足、程序中的不足好好優化一下,把做新項目學到的知識,可以重複利用的模塊再優化一下,放入自己的知識庫,等下次更好更有油水的項目,在家裏等等機會,網上寫寫文章,讓需要的人能 及時搜索到你,能第一個搜索到你,就是在家裏喝茶,也有希望錢會找上門來的。

 

     有時候別人會說,吉日你也太能吹牛了,我可以用以下幾點來證明一下:

     1:我的大老婆是筆記本電腦、真實的老婆是屬於二奶的位置上。

     2:一天處了睡覺、偶爾想想美女外,腦子裏全是軟件程序,雖然水平不高,但是日常生活裏遇到的問題想得足夠透徹。

     3:一個技術問題若沒能解決,我絕對是飯吃不下,覺睡不着,非把這個問題解決了不可,有些問題可能折磨我三五年,才能想通。

     4:看過N多書、N多技術文章,平時不怎麼看娛樂新聞、也不看任何名著、也不看連續劇、生活單調無趣。

     5:10年都超過了,幾乎天天是這樣的生活,豬也能變成高級程序員了吧,傻瓜也能會寫程序了吧?天天琢磨這玩意兒啊。

     6: 今年是大學畢業後的第10年了,還經常想程序想得走火入魔,經常深夜起來寫寫程序,把自己的思路及時記錄下來,每個月至少都會有那麼1-2次吧。

 

     什麼叫賺錢:

     1個項目,你幹了4周,報價2000元,把工作死去活來的做好了,那也叫賺錢。

     1個項目,你幹了4周,報價10000元,你把工作死去活來的做好了,那也叫賺錢。

     1個項目,你幹了4周,用了2天時間、說服了客戶這個事情值10萬、用了2天時間把成果展示好、讓客戶從上到下都滿意都認可你所做的工作,最終大家都開心的支付了你10萬的辛苦,也叫賺錢。

    

     你今天創業了,你的思路是用在,用4周把活兒幹完上,那你是豬了,你思路用在如何讓客戶相信這個東西值10萬上,那你可以經商去了,創業失敗的可能性比較小了。這就叫做,會寫程序與會經營的區別,你就是用了1天時間完成了,報價1000元?能證明你什麼呢?比我厲害30倍嗎? 我給你算一下10萬元/1000元 = 100倍的收益差距。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章