posts - 18,comments - 26,trackbacks - 0

          轉眼間,自己從事IT已經(jīng)兩年了。期間親身經(jīng)歷了一個MIS系統(tǒng)的沉沉浮浮,感受到了國有企業(yè)管理存在的諸多問題。讓我體會最深的是:一個技術人員光靠提高技術知識還不行,因為管理比技術帶給項目的影響更深。所以當一個公司管理存在一定問題時,技術人員總是感到力不從心。21世紀的中國,需要的是人才,尤其是管理人才。

          雖然我只是一個項目的開發(fā)成員,在企業(yè)管理上沒有任何經(jīng)驗。但我卻一直在觀察和思考,所以這里我想對兩方面進行總結,一是企業(yè)管理,二是項目開發(fā)。

          我們公司以前的業(yè)務主要面向網(wǎng)絡架構與系統(tǒng)維護,在軟件開發(fā)上還沒有穩(wěn)定的開發(fā)環(huán)境、沒有成熟的開發(fā)流程、沒有豐富的開發(fā)經(jīng)驗,人才匱乏,基礎薄弱,這就是我們的現(xiàn)狀。作為一個企業(yè),做項目贏利是生存之道,但為了長遠的發(fā)展,我覺得公司應該著力于建立開發(fā)環(huán)境,開發(fā)流程,開發(fā)規(guī)范,然后在實際的項目中檢驗完善,并把開發(fā)經(jīng)驗整理成文檔。

          1、完善開發(fā)環(huán)境

              由于我們公司在LINUX的研究上已經(jīng)有了一定的基礎,因此可以建立起兩套開發(fā)環(huán)境,一是LINUX+APACHE+MYSQL+PHP(LAMP),二是LINUX+TOMCAT+MYSQL+JAVA(LTMJ)PHP以快速開發(fā)見長,它有豐富的函數(shù)庫,有易于替換頁面的模板技術,很適合中小型WEB項目的應用,所以建議普通的網(wǎng)站采用LAMPJAVA博大精深,有功能強大的中間件支持,有開源免費的框架結構,另外支持的企業(yè)也很多,資源豐富。因此大型項目建議采用LTMJ,其中的TOMCAT根據(jù)實際需要可以被其他應用服務器替換。公司應該明確這樣的發(fā)展方向,有針對性地建立并完善開發(fā)環(huán)境,提高開發(fā)團隊的開發(fā)能力。JAVA雖然已經(jīng)是企業(yè)級系統(tǒng)開發(fā)的行業(yè)標準,但它對公司的積累,開發(fā)人員的素質要求也更高,所以我認為公司一方面要加大力度對該技術的研究,另一方面不要被潮流所左右,要對每一個項目進行客觀分析,我們只選擇最適合的,不選擇最流行的,爭取項目利潤的最大化。LINUX研發(fā)應該有更高的要求,而不僅僅是停留在使用的層次上,因為它本身就是一個大的編譯環(huán)境,開發(fā)環(huán)境,所以應該讓有編程經(jīng)驗的人加入,那樣才會提高研發(fā)成果。

          2、培養(yǎng)企業(yè)形象,擴大企業(yè)知名度

          公司應該從***計算機中心的角色中轉變出來,培養(yǎng)自己的企業(yè)形象。我們不但要提高工程部的服務質量,也要保證軟件部的產(chǎn)品質量。我們所開發(fā)的產(chǎn)品除了要滿足功能需求外,還要注意細節(jié)的完善。比如用戶界面、人機交互已經(jīng)不在是軟件的奢侈品,而是必需品。為客戶考慮得更多,會潛在地為我們帶來更多的客戶。公司應該確立項目和產(chǎn)品齊頭并進的方針,有項目時做項目,沒項目時做產(chǎn)品,既多了一個利潤增長點,也可以鍛煉隊伍,還可以擴大企業(yè)知名度。我們公司作為一個軟件公司,竟然沒有自己的門戶網(wǎng)站,也沒有一套象樣的管理系統(tǒng)。其實,我們完全可以以此為契機,完善公司的開發(fā)流程。比如企業(yè)網(wǎng)站,先根據(jù)功能進行抽象,比如:新聞發(fā)布,網(wǎng)站調查,用戶留言,活動社區(qū)等,然后建立各個模塊的代碼庫。如果把企業(yè)網(wǎng)站比作是一臺機器的話,各個功能模塊就是零部件,當我們用開發(fā)的零部件組裝成一臺完整的機器后,我們公司的門戶網(wǎng)站也就建起來了。更重要的,我們已經(jīng)具有了快速開發(fā)企業(yè)網(wǎng)站的能力,無非就是各種功能模塊的選擇與裝配。甚至,我們還可以做一個裝配的軟件,這就是我想象中的能夠制造軟件的軟件。當然,能夠做出這樣一個軟件難度肯定更大,但我覺得對于一個企業(yè)來說這是值得去嘗試的,而且,企業(yè)網(wǎng)站的功能相對比較簡單,技術上也是可以實現(xiàn)的。對于公司的管理系統(tǒng),我認為可以嘗試開發(fā)一套適合中小型企業(yè)的OA系統(tǒng)。這兩套系統(tǒng),只是我的一個初步設想,考慮肯定還不夠完善,還需要做充分的市場調研和詳細的系統(tǒng)分析。

          3、完善規(guī)范和建立資源庫

          標準和規(guī)范對于軟件開發(fā)的重要性不用多說了。制定標準和規(guī)范也應該是一件很慎重的事,尤其是開發(fā)規(guī)范應該由有豐富開發(fā)經(jīng)驗的人來制定,否則效果只會適得其反,降低開發(fā)效率。開發(fā)規(guī)范跟語言有關,我們公司主要使用兩種開發(fā)語言JAVAPHP,由于面向對象編程已經(jīng)完善和成熟起來,而JAVA無疑在OO編程占統(tǒng)治地位,因此我建議PHP開發(fā)規(guī)范向JAVA靠攏,這也符合我們公司現(xiàn)狀:開發(fā)人員較少,難免會出現(xiàn)交叉開發(fā),既一個人扮演多重角色,參加多個項目,使用多個語言。這樣,在語言變換的時候就不會出現(xiàn)不適應的情況。至于資源庫,根據(jù)我們公司特點,應該包括軟件庫(開發(fā)軟件),圖片庫(網(wǎng)頁素材),代碼庫(通用代碼),資料庫(開發(fā)資料),備份庫(軟件文檔備份)。應該建立起一套系統(tǒng)來進行安全和類別管理,并有專人維護,也可以把這套系統(tǒng)納入企業(yè)管理系統(tǒng)之中。規(guī)范和資源是隨著項目的開發(fā)不斷完善和增加的,對于企業(yè)來講,這就是一筆財富。

          4、人才的培養(yǎng)務專不務全

          IT技術日新月異,要求開發(fā)人員需要不斷地學習新的知識,新的技術。但人的精力畢竟是有限的,誰也無法掌握所有的技術。因此公司應該把個人愛好和公司需要結合起來,有目的、有方向地培養(yǎng)人才。我們不需要樣樣都會,樣樣都只知皮毛的人,而需要需求專家、數(shù)據(jù)庫專家、語言專家、界面專家等專業(yè)人才,這樣組合起來的團隊才能各盡其才,各展所長,這樣組合起來的團隊才是技術上有深度的團隊,這樣開發(fā)出來的產(chǎn)品才會是高質量的產(chǎn)品。當然作為我們開發(fā)人員自己,平時要注意拓展自己的知識面。軟件開發(fā),絕不僅僅就是計算機的事,需要的是個人修為。公司應該制定長期和短期的學習培訓計劃,定期進行技術總結和交流。比如一周花兩個小時進行技術總結和交流;一個月開發(fā)團隊要學會哪一個框架;半年應該學會某一門語言。同時還要鼓勵技術創(chuàng)新,獎勵肯在技術上進行鉆研的員工。

          5、制度的完善

          作為一名員工,應該培養(yǎng)自己好的職業(yè)習慣和高尚的職業(yè)道德。但作為一個企業(yè),卻絕對不要指望員工能有多高的思想覺悟,自覺圓滿完成各項工作,而應該不斷完善規(guī)章制度及其監(jiān)督制度,引導和監(jiān)督員工的工作行為。合理的制度是不會讓員工反感的,相反,這可以幫助他們戒除惡習養(yǎng)成好的工作習慣從而變的更優(yōu)秀,懲罰惡例獎勵優(yōu)秀從而讓大家獲取更大的利益。其實這和依法治國的原理是一樣的,法律只對有違法行為的人才有約束作用。所以請恕我直言:當一個公司工作效率不高,風氣存在問題,在抱怨員工素質不高的時候,管理人員請首先從自身找問題。軟件開發(fā),是一個特殊的職業(yè),很難度量員工的工作量。因此,這就為公司管理提出了更高的要求,如何才能有效刺激員工的工作積極性,保證團隊的開發(fā)士氣。合理的薪酬制度是一把有力的武器,它可以懲莠促良,提高公司的向心力和向前力。我們應該承認每個人的能力是不一樣的,所以就應該接受薪酬的差距。軟件公司普遍都使用基本工資加項目提成的辦法,對于不在項目團隊的員工,比如維護或做產(chǎn)品,則加適當?shù)莫劷鹧a足。項目提成,要采用風險制,即項目完成的質量高,成本控制的好,時間使用的少提成越高,如果項目失敗了,則沒提成,這樣可以提高項目成員對項目的責任感。

          其實軟件開發(fā)人員是一個比較特殊的群體,我們雖然很在乎薪酬(生存需要),但我們更看中做事,看中創(chuàng)造性活動的帶來的成就感。企業(yè)只有為員工提供施展才華的舞臺,讓他能夠感受到編程帶來的快樂,能夠為員工謀得更高的工資,讓他能感受到工作的優(yōu)越感,員工才能以自己的聰明才智為企業(yè)創(chuàng)造更大的利潤,才能讓一個企業(yè)真正走向良性循環(huán),做到員工和企業(yè)雙贏的結果。

           

           

          我來公司后就一直開發(fā)**項目,這個項目難點不在于技術層面上,而是我們公司和**這種非正常的客戶關系上。這個項目先后有三個項目經(jīng)理接手,多次改弦更轍,時間長達三年,浪費了大量人力物力財力,這都是很不正常的。這個項目很重要,**把它看著企業(yè)信息化的標志,因此我們公司把它列為工作重中之重。但作為一個企業(yè),應該對每一個項目實施好時間控制、成本控制、質量控制,這個項目絕對不能無限期拖下去。不管公司怎么定位,在我心目中,這個項目都是一個失敗的項目,因此在我心中才留下了很深刻的印象,關于軟件開發(fā)的一些模糊的概念也逐漸清晰起來。

          1、需求盡量完善

          在合同簽定前,應該盡量細化需求,在項目開始后,要盡量限制客戶的需求。如果需求不能控制,那么你項目離失敗也就不遠了。

          2、項目計劃盡量考慮周全

          做一個草率的計劃只會讓該計劃不斷被修改,結果只會拖延項目的進度,提高項目的成本,這樣的計劃只是一個形式,沒有實際意義。

          3、系統(tǒng)需要架構

          大型系統(tǒng)尤其重要,如果我們要蓋大廈,肯定要考慮地質、氣候等條件,然后才能確定挖地多深,鋼精型號。不可能因為我們只有蓋過公寓樓的經(jīng)驗,就以為無數(shù)個公寓樓疊起來就是大廈,結果可想而知。軟件是一個變化的事物,用戶的需求隨時會變,沒有一個良好的結構你將會發(fā)現(xiàn)維護工作步履為艱,代價更高。

          4 數(shù)據(jù)庫設計

          數(shù)據(jù)庫不是業(yè)務數(shù)據(jù)的簡單羅列,它應該是整個系統(tǒng)的完整抽象,實體關系圖除了實體外還應該包括他們之間的關系。

          5、項目延后怎么辦

          盲目加人只會延長工期。如果加入新人,代碼質量還不能得到保證。這個時候,你要么注入加班費刺激一下,要么砍功能。

          6、做事原則:先主后次,先易后難

          不要在不重要的功能上浪費太多的時間。浪費了時間就可能就會延誤項目,最終你可能會發(fā)現(xiàn),你費盡心思做的功能可能就是要砍掉的功能。

          7、保證規(guī)范的執(zhí)行

          沒有規(guī)范就不能保證代碼質量,項目也就失去了可維護性。最糟的情況是,系統(tǒng)BUG呈不收斂狀態(tài)。

          8、測試驅動開發(fā)

          沒有好的測試就沒有好的產(chǎn)品。沒有及早的測試就只會讓缺陷在系統(tǒng)測試階段更難發(fā)現(xiàn),因此單元測試是必需的。

          9、盡量減少修改

          系統(tǒng)是設計出來的,而不是改出來的。無休止的修改只是在不斷地否定自己,每個人都會厭煩這樣的事。

          10、重視用戶界面

          還是那句話,人機交互不是軟件的奢侈品,而是必需品。

           

              這就是我想在2004年年底寫的工作總結。在上次全體職工大會上聽了韓總的講話,讓我感受到了新一屆領導班子力圖開拓發(fā)展的思想。軟件開發(fā)是一個技術型比較強的行業(yè),高手和新手工作效率和質量往往有數(shù)量級的差距。公司應該逐漸建立一個技術過硬專家團,協(xié)助領導的決策,指導項目的開發(fā)。當然作為開發(fā)人員,更應該收起浮躁的心,踏踏實實地做技術研究。


          posted on 2005-10-24 20:07 瘦猴 閱讀(354) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導航:
           
          主站蜘蛛池模板: 东至县| 夏津县| 辰溪县| 霞浦县| 晋州市| 定南县| 申扎县| 镇巴县| 疏附县| 大城县| 沛县| 贵港市| 乐昌市| 资兴市| 安溪县| 青岛市| 福鼎市| 宁德市| 灵寿县| 渝北区| 肇州县| 左权县| 准格尔旗| 冕宁县| 太康县| 临洮县| 安化县| 文安县| 政和县| 宜君县| 信阳市| 宁河县| 临江市| 黔南| 宁津县| 德庆县| 泾阳县| 昭觉县| 和田县| 霍林郭勒市| 兖州市|