日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

三五個(gè)人十來(lái)?xiàng)l槍 如何走出軟件作坊成為開發(fā)正規(guī)軍(轉(zhuǎn))

 aaie_ 2014-09-14
 大家從各個(gè)開發(fā)語(yǔ)言的優(yōu)缺點(diǎn)和適用領(lǐng)域,一直討論到設(shè)計(jì)模式、框架、重構(gòu)、單元測(cè)試,乃至敏捷編程,最后都討論到了軟件開發(fā)過程管理,甚至都談到了盈利模式和中國(guó)軟件的悲哀。

    最后不了了之,都覺得改善中國(guó)內(nèi)陸現(xiàn)在的軟件生產(chǎn)狀況不可能。


    為什么呢?


    我重新把這幾天大家的討論留言翻了一遍,發(fā)現(xiàn)大家的軟件團(tuán)隊(duì)都存在著這樣一種普遍現(xiàn)象


    1、大部分人所在的公司,開發(fā)人員僅3-5人,多的在10人。別看就這幾條槍,還從售前支持,軟件開發(fā),測(cè)試、打包發(fā)布、文檔編寫、實(shí)施安裝、培訓(xùn)、技術(shù)支持都做。

    這還不算什么,而且?guī)缀跏且粋€(gè)人負(fù)責(zé)一個(gè)產(chǎn)品或一個(gè)項(xiàng)目,一個(gè)人從頭跟到尾,而且負(fù)責(zé)多個(gè)客戶的維護(hù)工作。

    這還不算什么,而且隨時(shí)老板會(huì)找來(lái)八竿子打不著的新活,要的還挺緊,突然要開發(fā),打亂了所有的計(jì)劃,最后都懶的按計(jì)劃行事,每天撞鐘,老板有事就吩咐,沒事就上網(wǎng),還不讓聽歌,當(dāng)然更不讓打游戲。甚至還不讓看技術(shù)書籍,呵斥不干工作。只能上網(wǎng)裝作在工作。


    2、老板和員工互相斗智斗勇,在年終獎(jiǎng)、報(bào)銷、出差、平時(shí)福利上啊,都明爭(zhēng)暗斗。老板卡的緊,員工就在項(xiàng)目和產(chǎn)品上下藥,還不知道是誰(shuí)占了誰(shuí)便宜,誰(shuí)給誰(shuí)打了工。


    3、員工一邊在刻苦鉆研各種開發(fā)工具,閱讀源代碼,學(xué)習(xí)做DEMO例子,閱讀UML、設(shè)計(jì)模式、單元測(cè)試、敏捷編程等等,一邊卻懶的修改現(xiàn)在公司的產(chǎn)品,有問題就打補(bǔ)丁,客戶不嚷嚷就懶的修改,代碼不優(yōu)化,界面不友好,架構(gòu)沒架構(gòu),代碼不封裝


    但是,在討論中,我時(shí)時(shí)都強(qiáng)烈感覺到,大家是想把產(chǎn)品開發(fā)好,把開發(fā)過程管理的井井有條,但是都心有余而力不足。閱讀了N多軟件工程的書籍,從重型方法到輕型方法都閱讀了,但都無(wú)法把現(xiàn)在的開發(fā)狀態(tài)一點(diǎn)點(diǎn)扭轉(zhuǎn)好。


    許多人想鬧革命,把現(xiàn)在這些產(chǎn)品和團(tuán)隊(duì)都砸塌,然后重新來(lái)過,但這只是夢(mèng)想,說說而已。只能希冀下一次跳槽,能找到一個(gè)好的公司,把自己平生所學(xué)全部發(fā)揮出來(lái),但這好像也只是夢(mèng)想,因?yàn)榻涣髁艘幌拢蠹冶舜说木硾r基本相同。


    一些極端主義者自己開了公司,才發(fā)現(xiàn)不持家不知道油鹽貴,現(xiàn)在自己和手下變成了老板和員工的關(guān)系,走了過去的老路。


    更有一些極端主義者辭職,自己做軟件,最后由于生活拮據(jù)或做做發(fā)現(xiàn)這個(gè)軟件沒什么意義,就丟棄了自己的夢(mèng)想,隨便找一家公司開始沉默撞鐘。


    一些聰明的家伙,有的入了外企,有的進(jìn)了大的網(wǎng)游公司,有的進(jìn)了外包公司,有的進(jìn)了大網(wǎng)站公司,都是講究大規(guī)模開發(fā)的公司,希望能找到一條中國(guó)式團(tuán)隊(duì)開發(fā)產(chǎn)品保證之路





    作為小軟件公司,我們真的無(wú)能為力了么?我們真的成為炮灰了么?


    但是,中國(guó)軟件行業(yè)大部分都是這樣的公司。從每年的CSDN、51aspx的程序員調(diào)查都可以看到,中國(guó)軟件公司大部分都保持在這種開發(fā)團(tuán)隊(duì)規(guī)模,開發(fā)人員大部分都在畢業(yè)1-3年。


    我們是在等待時(shí)間讓人變得成熟么?我們是在等待時(shí)間讓人變得技術(shù)綜合實(shí)力增強(qiáng)么?


    依筆者看,作為中國(guó)軟件群體最大的小軟件公司,需要的不是UML/RUP/CMM這些重型方法,不是前幾年大家關(guān)注的小組開發(fā)方法,也不是敏捷編程這樣的結(jié)對(duì)方法,我們都無(wú)法有這樣的資源實(shí)現(xiàn)這樣的方法。


    但是,想想,星星之火可以燎原。紅軍能從爬雪山過草地起家,最后解放全中國(guó)。我們就沒有方法?


    那我們就需要想,就我們目前能擁有的權(quán)力和資源,我們?nèi)绾我稽c(diǎn)點(diǎn)改進(jìn)。我們需要的是從游擊隊(duì)到兄弟連,從兄弟連到正規(guī)軍的方法。我們現(xiàn)在還處于游擊隊(duì),一個(gè)隊(duì)長(zhǎng)領(lǐng)了一幫游兵散勇,有的人甚至沒有槍還背著大刀,有的人還沒殺過鬼子。


    首先,要把我們自己變成兄弟連。


    我常常觀看國(guó)際著名的CS戰(zhàn)隊(duì)的比賽錄像,他們配合的多好啊。如果他們都單兵作戰(zhàn),那么早就死翹翹了。這和咱們的軟件開發(fā)多么相像。我們多么神往這種默契的配合,打的多么流暢。我們要的就是這個(gè)。他們也不幾個(gè)人么。


    那讓我們來(lái)分析分析吧。


   
我們想好好專職的開發(fā)軟件,但我們的時(shí)間都被實(shí)施安裝、培訓(xùn)、技術(shù)支持占去了。為什么我們要做這些?是因?yàn)槲覀冘浖]有操作說明,其他部門人都不會(huì)用。而
且我們也沒有培訓(xùn)機(jī)制,其他部門人更不會(huì)用。而且我們的軟件不穩(wěn)定,其他部門人都拒絕實(shí)施。由于我們軟件不穩(wěn)定,老出問題,出了問題其他部門人也幫不上
忙,只能我們自己去做技術(shù)支持。


    從以上來(lái)看,主要矛盾就是在:操作說明、培訓(xùn)機(jī)制、穩(wěn)定性
如何保證這三點(diǎn)。而且從以上來(lái)分析,穩(wěn)定性是最重要的。不穩(wěn)定,你即使有操作說明和培訓(xùn)機(jī)制,其他部門人都躲著實(shí)施,誰(shuí)想去客戶那里尷尬丟臉挨罵呀。所
以,其他部門人會(huì)找各種理由向老板告開發(fā)部的狀,以躲避實(shí)施,說軟件太爛,根本無(wú)法拿出去。這也就是開發(fā)部往往和其他部門關(guān)系都不好,開發(fā)人員老抱怨自己
就悶頭辛苦開發(fā)解決問題,沒有人說好,卻被奸人陷害。天長(zhǎng)日久,積怨頗深。其實(shí)說起來(lái),根源還在開發(fā)部自己這里。


    如何保證穩(wěn)定性?


    大家第一想到的就是招測(cè)試人員。當(dāng)然,一些公司的老板是拒絕養(yǎng)測(cè)試人員的。另外,如果你只想到招測(cè)試人員,其他方法不配合測(cè)試人員,即使有了測(cè)試人員,軟件穩(wěn)定性仍然不會(huì)有提高。所以,有一些工作,是不管有沒有測(cè)試人員,都必須是我們開發(fā)人員要做的:


   
每個(gè)人的技術(shù)水平都參次不齊的,每個(gè)人對(duì)自己代碼的負(fù)責(zé)認(rèn)真性也都是不一樣的,所以要想提高穩(wěn)定性,必須專門從隊(duì)伍中找一個(gè)人,他作為公共代碼開發(fā)員。每
個(gè)產(chǎn)品或項(xiàng)目的修改需求,必須首先經(jīng)過他的思考,能做成公共代碼,能封裝成函數(shù),就他來(lái)做。其他的程序員只管調(diào)用函數(shù),實(shí)現(xiàn)客戶UI操作和輔助功能。這個(gè)
公共代碼開發(fā)員必須具備以下能力:

    A、參與過幾個(gè)主要項(xiàng)目的開發(fā)、實(shí)施、支持。這樣,他對(duì)客戶需求有綜合的把握。如果隊(duì)伍中沒有這樣的人,只有開發(fā)經(jīng)理一個(gè)人有這樣的經(jīng)理,那么接到客戶需求,分析客戶需求,分解析辨是公共代碼員來(lái)做還是其他開發(fā)人員來(lái)做。

    B、公共代碼開發(fā)員具有負(fù)責(zé)認(rèn)真的工作態(tài)度,代碼細(xì)心嚴(yán)謹(jǐn)考慮周詳異常保護(hù)做的到位內(nèi)存創(chuàng)建釋放有頭有尾,代碼優(yōu)美,代碼可閱讀,代碼重構(gòu),代碼性能和穩(wěn)定都高

    C、公共代碼開發(fā)人員的技術(shù)能力高,知道封裝成什么樣的函數(shù)接口,在靈活性,以后的修改變化性上最好


    應(yīng)該說,找一個(gè)技術(shù)能力好的,工作認(rèn)真負(fù)責(zé)的人,應(yīng)該是不難找到的。而且專門做這件事,不讓他參與各種雜事,他是應(yīng)該能干好這件事的,而且會(huì)越做越好,這就是術(shù)有專攻。


    剛才還講到一件事,那就是開發(fā)經(jīng)理要熟悉客戶需求,而且是深刻理解客戶需求。


    客戶需求,客戶需求。這個(gè)讓開發(fā)部最頭疼的字眼。每當(dāng)想起客戶需求,就想起了以下這些話:

    1、程序員說:這是你們家個(gè)性的需求,太邪門,我們不做。客戶說:不做我們找你們老板去,我們是花錢買了你們的產(chǎn)品的。

    2、客戶說:我不會(huì)用鼠標(biāo),你給我做一個(gè)語(yǔ)音輸入吧。我們還想要一個(gè)類似QQ的東西供我們內(nèi)部溝通,你們給我們做一個(gè)吧。程序員:我暈。

    3、程序員說:等你們內(nèi)部斗爭(zhēng)完,你們協(xié)調(diào)完了,我再調(diào)研需求。


    似乎,我們?cè)谛枨笊蠠o(wú)能為力,我們永遠(yuǎn)在追趕客戶的需求,滿足他們的現(xiàn)狀,把N多家的客戶需求都加進(jìn)軟件中,只要能實(shí)現(xiàn)的,我們盡量咬牙實(shí)現(xiàn)了。


   
最后,我們發(fā)現(xiàn),我們的軟件無(wú)比復(fù)雜,誰(shuí)也不會(huì)用了,連開發(fā)部門都不會(huì)用了,誰(shuí)也不知道這個(gè)需求當(dāng)時(shí)為什么是這樣的。因?yàn)闊o(wú)比復(fù)雜,所以實(shí)施、培訓(xùn)、技術(shù)
支持都成了問題,穩(wěn)定性更成了問題。代碼互相交叉,根本無(wú)法理清有多少交叉影響點(diǎn)。維護(hù)的程序員都快崩潰了,天天在祈求,千萬(wàn)別接到客戶電話,千萬(wàn)別接到
客戶電話。


    這個(gè)問題終歸是問題,而且是軟件開發(fā)最大的問題。雖然我們也動(dòng)用了這樣的技巧:

    1、客戶業(yè)務(wù)部門不能隨便提需求。必須集中匯總到客戶IT部門,由客戶IT部門匯總過濾完,再集中報(bào)給軟件公司

    2、客戶IT部門的需求,必須客戶方負(fù)責(zé)IT項(xiàng)目的老板簽字才能生效,才能報(bào)給軟件公司

    3、不能隨時(shí)報(bào),每3個(gè)月集中報(bào)一次

    4、不能口頭報(bào)(即使在現(xiàn)場(chǎng)實(shí)施支持也不行),不能電話報(bào),只能MAIL或傳真來(lái)報(bào)

    5、必須按我們規(guī)定的格式報(bào),要嚴(yán)格寫清楚需要實(shí)現(xiàn)的功能的界面,輸入數(shù)據(jù)或輸出數(shù)據(jù),輸入輸出數(shù)據(jù)的格式要求,誰(shuí)操作,多長(zhǎng)時(shí)間操作一次。

    6、軟件上線后只能免費(fèi)修改3次。以后再有需求,就必須另簽合同另收費(fèi),否則不予修改。


    經(jīng)過這么幾招,客戶也疲了。需求是不提了,開發(fā)部歡呼雀躍。但我們真的做好了么?難道客戶真的滿意了么?客戶為什么要用我們的軟件?難道僅僅是為了把他們現(xiàn)在手工做的,然后轉(zhuǎn)到計(jì)算機(jī)去做。讓計(jì)算機(jī)的查詢統(tǒng)計(jì)計(jì)算速度代替人工?


    客戶為什么要提這樣的需求?客戶要根本解決什么問題?這些問題誰(shuí)來(lái)想,誰(shuí)來(lái)想解決辦法?


    OH,My God!我們無(wú)能為力,因?yàn)槲覀兪羌夹g(shù)人員,我們不懂業(yè)務(wù)。


    那這個(gè)問題誰(shuí)來(lái)解決?


    程序員苦笑了:沒有人解決,也沒有人能解決??蛻艟鸵?,你不做他就要給老板打電話。


    噢,那就讓程序員的噩夢(mèng)繼續(xù)吧。誰(shuí)也救不了你,能救你的只有你自己。


    要救我們自己,必須我們自己走出我們自己。誰(shuí)讓我們就處在這樣的處境呢?我們都想過的好,只能我們自己救我們自己。


    那我們就鼓足勇氣,走出來(lái),從我們的設(shè)計(jì)模式、OO、軟件工程、虛擬接口、反射、持久化、框架中走出來(lái)。開發(fā)經(jīng)理來(lái)承擔(dān)起客戶行業(yè)研究來(lái):

    1、客戶行業(yè)這個(gè)群體有多大?大中小規(guī)模各有多少家,各分布在什么?。课覀兠鎸?duì)的最佳客戶是什么規(guī)模什么信息化程度的?我們的次佳客戶是什么規(guī)模什么信息化程度的?

    2、我們的上層競(jìng)爭(zhēng)對(duì)手、本層的競(jìng)爭(zhēng)對(duì)手、下層競(jìng)爭(zhēng)對(duì)手目前的產(chǎn)品怎么樣?他們各自的優(yōu)點(diǎn)是什么?他們各自的缺點(diǎn)是什么?我們應(yīng)該突出的優(yōu)點(diǎn)是什么?我們的缺點(diǎn)是什么?

    3、客戶行業(yè)的過去5年,現(xiàn)在2年,未來(lái)3年的發(fā)展歷史和趨勢(shì)是什么?他們面臨哪些挑戰(zhàn)和機(jī)遇?

    4、我們現(xiàn)在所做的典型客戶,他們的組織結(jié)構(gòu),人員規(guī)模,每個(gè)崗位每日業(yè)務(wù)流程、每個(gè)崗位每日每周每月每季每年的異常處理業(yè)務(wù)流程,每個(gè)崗位每日每周每月季每年的輸入表格,每個(gè)崗位每日每周每月季每年的常用數(shù)據(jù)查詢,每個(gè)崗位每日每周每月季每年的統(tǒng)計(jì)報(bào)表

    5、針對(duì)以上的了解,客戶面對(duì)未來(lái)挑戰(zhàn)和機(jī)遇,未來(lái)應(yīng)該如何變更他們的崗位和職責(zé)和流程,盡量流程少,效率高,運(yùn)轉(zhuǎn)快?


    其實(shí),開發(fā)經(jīng)理就相當(dāng)于業(yè)務(wù)架構(gòu)師(因?yàn)槲覀冞€是游擊隊(duì),不可能有專職的業(yè)務(wù)架構(gòu)師),公共代碼開發(fā)員就相當(dāng)于技術(shù)架構(gòu)師。


    柳傳志說的非常好:搭班子,定戰(zhàn)略,帶隊(duì)伍。你班子不行,上什么需求管理軟件、版本管理軟件、項(xiàng)目進(jìn)度管理軟件、自動(dòng)測(cè)試、自動(dòng)集成軟件,都是無(wú)法落地執(zhí)行的。


    有了夯實(shí)的業(yè)務(wù)+技術(shù),功能實(shí)用、功能符合客戶操作、功能穩(wěn)定。這是軟件最基本的要求,就都能滿足了。這時(shí)候再招測(cè)試人員,就能把質(zhì)量再夯實(shí)了。


    而且,測(cè)試人員由于熟知產(chǎn)品,他們還能做技術(shù)支持呢,這樣可以有更多的開發(fā)人員來(lái)專職開發(fā),開發(fā)的專業(yè)性就能越來(lái)越提高了。


    好的產(chǎn)品,還需要有好的文檔和培訓(xùn),否則其他部門還是不會(huì)接開發(fā)部的產(chǎn)品的。


   
那就招一個(gè)文案人員,寫幫助說明,制作操作視頻,制作學(xué)習(xí)版數(shù)據(jù)庫(kù),參與輔助測(cè)試(這個(gè)很重要,否則文案人員不熟知產(chǎn)品,無(wú)法寫出有質(zhì)量的文案)。有了這
些文案的基礎(chǔ),最熟悉產(chǎn)品的非開發(fā)人員就有了兩個(gè)崗位:測(cè)試兼技術(shù)支持,那么文案就兼起培訓(xùn)工作(由于他自己寫文案自己用自己的文案做培訓(xùn),在培訓(xùn)中會(huì)有
各種提問,會(huì)更加增進(jìn)他對(duì)文案和產(chǎn)品的理解,能寫出更好的文案。而且他不是開發(fā)人員,他能站在使用者的角度上來(lái)寫來(lái)講,而且他屬于開發(fā)部門,他會(huì)給產(chǎn)品開
發(fā)帶來(lái)更多更好的產(chǎn)品易用性建議)。


    好了,開發(fā)部的四套馬車終于起來(lái)了,這就是我要講的開發(fā)模式:從游擊隊(duì)轉(zhuǎn)變?yōu)樾值苓B,從軟件作坊走向


    記?。簶I(yè)務(wù)架構(gòu)、技術(shù)架構(gòu)、測(cè)試兼技術(shù)支持、文案兼培訓(xùn),四套馬車。


    我們一直用它,效果很好,搭建團(tuán)隊(duì)容易,循序漸進(jìn)不革命。


    有了這么好的團(tuán)隊(duì),就能比過去產(chǎn)出更好的軟件,軟件的質(zhì)量,軟件的進(jìn)度,軟件的競(jìng)爭(zhēng)力就都上來(lái)了,再上各種管理軟件:如項(xiàng)目管理軟件、版本管理軟件、BUG管理軟件、自動(dòng)測(cè)試軟件,就水到渠成了。


    其他部門也愿意接軟件了,軟件的實(shí)施和培訓(xùn)和技術(shù)支持都被其他部門接過去了。開發(fā)部門也終于專職專業(yè)起來(lái)了,整個(gè)公司都很協(xié)調(diào)了,部門間也不互相陷害抱怨了。公司發(fā)展速度蹭蹭的。


   
老板看著形式這么好,也不摳門了。獎(jiǎng)金福利隨之而來(lái)。老板看著公司產(chǎn)品銷售這么好,也不用再為公司生存發(fā)愁了,不用隨處找單子養(yǎng)活了,給開發(fā)部門更帶來(lái)了
專業(yè)理順的計(jì)劃發(fā)展。老板也開始重視研發(fā)部門了,研發(fā)部門在公司的地位高多了,給與研發(fā)部門的資源和支持也更多了。


OH,My God!


    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多