轉眼間,自己從事IT已經兩年了。期間親身經歷了一個MIS系統的沉沉浮浮,感受到了國有企業管理存在的諸多問題。讓我體會最深的是:一個技術人員光靠提高技術知識還不行,因為管理比技術帶給項目的影響更深。所以當一個公司管理存在一定問題時,技術人員總是感到力不從心。21世紀的中國,需要的是人才,尤其是管理人才。
雖然我只是一個項目的開發成員,在企業管理上沒有任何經驗。但我卻一直在觀察和思考,所以這里我想對兩方面進行總結,一是企業管理,二是項目開發。
我們公司以前的業務主要面向網絡架構與系統維護,在軟件開發上還沒有穩定的開發環境、沒有成熟的開發流程、沒有豐富的開發經驗,人才匱乏,基礎薄弱,這就是我們的現狀。作為一個企業,做項目贏利是生存之道,但為了長遠的發展,我覺得公司應該著力于建立開發環境,開發流程,開發規范,然后在實際的項目中檢驗完善,并把開發經驗整理成文檔。
1、完善開發環境
由于我們公司在LINUX的研究上已經有了一定的基礎,因此可以建立起兩套開發環境,一是LINUX+APACHE+MYSQL+PHP(LAMP),二是LINUX+TOMCAT+MYSQL+JAVA(LTMJ)。PHP以快速開發見長,它有豐富的函數庫,有易于替換頁面的模板技術,很適合中小型WEB項目的應用,所以建議普通的網站采用LAMP。JAVA博大精深,有功能強大的中間件支持,有開源免費的框架結構,另外支持的企業也很多,資源豐富。因此大型項目建議采用LTMJ,其中的TOMCAT根據實際需要可以被其他應用服務器替換。公司應該明確這樣的發展方向,有針對性地建立并完善開發環境,提高開發團隊的開發能力。JAVA雖然已經是企業級系統開發的行業標準,但它對公司的積累,開發人員的素質要求也更高,所以我認為公司一方面要加大力度對該技術的研究,另一方面不要被潮流所左右,要對每一個項目進行客觀分析,我們只選擇最適合的,不選擇最流行的,爭取項目利潤的最大化。LINUX研發應該有更高的要求,而不僅僅是停留在使用的層次上,因為它本身就是一個大的編譯環境,開發環境,所以應該讓有編程經驗的人加入,那樣才會提高研發成果。
2、培養企業形象,擴大企業知名度
公司應該從***計算機中心的角色中轉變出來,培養自己的企業形象。我們不但要提高工程部的服務質量,也要保證軟件部的產品質量。我們所開發的產品除了要滿足功能需求外,還要注意細節的完善。比如用戶界面、人機交互已經不在是軟件的奢侈品,而是必需品。為客戶考慮得更多,會潛在地為我們帶來更多的客戶。公司應該確立項目和產品齊頭并進的方針,有項目時做項目,沒項目時做產品,既多了一個利潤增長點,也可以鍛煉隊伍,還可以擴大企業知名度。我們公司作為一個軟件公司,竟然沒有自己的門戶網站,也沒有一套象樣的管理系統。其實,我們完全可以以此為契機,完善公司的開發流程。比如企業網站,先根據功能進行抽象,比如:新聞發布,網站調查,用戶留言,活動社區等,然后建立各個模塊的代碼庫。如果把企業網站比作是一臺機器的話,各個功能模塊就是零部件,當我們用開發的零部件組裝成一臺完整的機器后,我們公司的門戶網站也就建起來了。更重要的,我們已經具有了快速開發企業網站的能力,無非就是各種功能模塊的選擇與裝配。甚至,我們還可以做一個裝配的軟件,這就是我想象中的能夠制造軟件的軟件。當然,能夠做出這樣一個軟件難度肯定更大,但我覺得對于一個企業來說這是值得去嘗試的,而且,企業網站的功能相對比較簡單,技術上也是可以實現的。對于公司的管理系統,我認為可以嘗試開發一套適合中小型企業的OA系統。這兩套系統,只是我的一個初步設想,考慮肯定還不夠完善,還需要做充分的市場調研和詳細的系統分析。
3、完善規范和建立資源庫
標準和規范對于軟件開發的重要性不用多說了。制定標準和規范也應該是一件很慎重的事,尤其是開發規范應該由有豐富開發經驗的人來制定,否則效果只會適得其反,降低開發效率。開發規范跟語言有關,我們公司主要使用兩種開發語言JAVA和PHP,由于面向對象編程已經完善和成熟起來,而JAVA無疑在OO編程占統治地位,因此我建議PHP開發規范向JAVA靠攏,這也符合我們公司現狀:開發人員較少,難免會出現交叉開發,既一個人扮演多重角色,參加多個項目,使用多個語言。這樣,在語言變換的時候就不會出現不適應的情況。至于資源庫,根據我們公司特點,應該包括軟件庫(開發軟件),圖片庫(網頁素材),代碼庫(通用代碼),資料庫(開發資料),備份庫(軟件文檔備份)。應該建立起一套系統來進行安全和類別管理,并有專人維護,也可以把這套系統納入企業管理系統之中。規范和資源是隨著項目的開發不斷完善和增加的,對于企業來講,這就是一筆財富。
4、人才的培養務專不務全
IT技術日新月異,要求開發人員需要不斷地學習新的知識,新的技術。但人的精力畢竟是有限的,誰也無法掌握所有的技術。因此公司應該把個人愛好和公司需要結合起來,有目的、有方向地培養人才。我們不需要樣樣都會,樣樣都只知皮毛的人,而需要需求專家、數據庫專家、語言專家、界面專家等專業人才,這樣組合起來的團隊才能各盡其才,各展所長,這樣組合起來的團隊才是技術上有深度的團隊,這樣開發出來的產品才會是高質量的產品。當然作為我們開發人員自己,平時要注意拓展自己的知識面。軟件開發,絕不僅僅就是計算機的事,需要的是個人修為。公司應該制定長期和短期的學習培訓計劃,定期進行技術總結和交流。比如一周花兩個小時進行技術總結和交流;一個月開發團隊要學會哪一個框架;半年應該學會某一門語言。同時還要鼓勵技術創新,獎勵肯在技術上進行鉆研的員工。
5、制度的完善
作為一名員工,應該培養自己好的職業習慣和高尚的職業道德。但作為一個企業,卻絕對不要指望員工能有多高的思想覺悟,自覺圓滿完成各項工作,而應該不斷完善規章制度及其監督制度,引導和監督員工的工作行為。合理的制度是不會讓員工反感的,相反,這可以幫助他們戒除惡習養成好的工作習慣從而變的更優秀,懲罰惡例獎勵優秀從而讓大家獲取更大的利益。其實這和依法治國的原理是一樣的,法律只對有違法行為的人才有約束作用。所以請恕我直言:當一個公司工作效率不高,風氣存在問題,在抱怨員工素質不高的時候,管理人員請首先從自身找問題。軟件開發,是一個特殊的職業,很難度量員工的工作量。因此,這就為公司管理提出了更高的要求,如何才能有效刺激員工的工作積極性,保證團隊的開發士氣。合理的薪酬制度是一把有力的武器,它可以懲莠促良,提高公司的向心力和向前力。我們應該承認每個人的能力是不一樣的,所以就應該接受薪酬的差距。軟件公司普遍都使用基本工資加項目提成的辦法,對于不在項目團隊的員工,比如維護或做產品,則加適當的獎金補足。項目提成,要采用風險制,即項目完成的質量高,成本控制的好,時間使用的少提成越高,如果項目失敗了,則沒提成,這樣可以提高項目成員對項目的責任感。
其實軟件開發人員是一個比較特殊的群體,我們雖然很在乎薪酬(生存需要),但我們更看中做事,看中創造性活動的帶來的成就感。企業只有為員工提供施展才華的舞臺,讓他能夠感受到編程帶來的快樂,能夠為員工謀得更高的工資,讓他能感受到工作的優越感,員工才能以自己的聰明才智為企業創造更大的利潤,才能讓一個企業真正走向良性循環,做到員工和企業雙贏的結果。
我來公司后就一直開發**項目,這個項目難點不在于技術層面上,而是我們公司和**這種非正常的客戶關系上。這個項目先后有三個項目經理接手,多次改弦更轍,時間長達三年,浪費了大量人力物力財力,這都是很不正常的。這個項目很重要,**把它看著企業信息化的標志,因此我們公司把它列為工作重中之重。但作為一個企業,應該對每一個項目實施好時間控制、成本控制、質量控制,這個項目絕對不能無限期拖下去。不管公司怎么定位,在我心目中,這個項目都是一個失敗的項目,因此在我心中才留下了很深刻的印象,關于軟件開發的一些模糊的概念也逐漸清晰起來。
1、需求盡量完善
在合同簽定前,應該盡量細化需求,在項目開始后,要盡量限制客戶的需求。如果需求不能控制,那么你項目離失敗也就不遠了。
2、項目計劃盡量考慮周全
做一個草率的計劃只會讓該計劃不斷被修改,結果只會拖延項目的進度,提高項目的成本,這樣的計劃只是一個形式,沒有實際意義。
3、系統需要架構
大型系統尤其重要,如果我們要蓋大廈,肯定要考慮地質、氣候等條件,然后才能確定挖地多深,鋼精型號。不可能因為我們只有蓋過公寓樓的經驗,就以為無數個公寓樓疊起來就是大廈,結果可想而知。軟件是一個變化的事物,用戶的需求隨時會變,沒有一個良好的結構你將會發現維護工作步履為艱,代價更高。
4、 數據庫設計
數據庫不是業務數據的簡單羅列,它應該是整個系統的完整抽象,實體關系圖除了實體外還應該包括他們之間的關系。
5、項目延后怎么辦
盲目加人只會延長工期。如果加入新人,代碼質量還不能得到保證。這個時候,你要么注入加班費刺激一下,要么砍功能。
6、做事原則:先主后次,先易后難
不要在不重要的功能上浪費太多的時間。浪費了時間就可能就會延誤項目,最終你可能會發現,你費盡心思做的功能可能就是要砍掉的功能。
7、保證規范的執行
沒有規范就不能保證代碼質量,項目也就失去了可維護性。最糟的情況是,系統BUG呈不收斂狀態。
8、測試驅動開發
沒有好的測試就沒有好的產品。沒有及早的測試就只會讓缺陷在系統測試階段更難發現,因此單元測試是必需的。
9、盡量減少修改
系統是設計出來的,而不是改出來的。無休止的修改只是在不斷地否定自己,每個人都會厭煩這樣的事。
10、重視用戶界面
還是那句話,人機交互不是軟件的奢侈品,而是必需品。
這就是我想在2004年年底寫的工作總結。在上次全體職工大會上聽了韓總的講話,讓我感受到了新一屆領導班子力圖開拓發展的思想。軟件開發是一個技術型比較強的行業,高手和新手工作效率和質量往往有數量級的差距。公司應該逐漸建立一個技術過硬專家團,協助領導的決策,指導項目的開發。當然作為開發人員,更應該收起浮躁的心,踏踏實實地做技術研究。
posted on 2005-10-24 20:07
瘦猴 閱讀(348)
評論(0) 編輯 收藏