所謂二手項目,就是這個項目是前期是別的公司或者別人建立起來的項目,當前沒有完成或者需要繼續完善。碰到這類項目,要麼是你來到新公司,接手上一任留下來的項目,要麼是你調到另外的項目,繼續公司的項目,又要麼公司接手了其他公司的遺留項目,繼續開展下去。碰到這類項目,如果想要項目開展的順利,那麼可能你需要一點運氣了,要麼項目小,業務關係不複雜,要麼交接順利,相關文檔非常完善,注釋相當清晰。否則的話,你將經曆一個段頭痛、煩躁、鬱悶的,甚至是想吐血的時期。
那麼,你可能遭遇的問題可能會有:
1.給源檔案不完整,或者並非最新版本,與實際運行檔案有差異。這實際上與交接方的配合不配合有相當大的關係,某些大公司也會將自己的核心處理代碼給封裝起來,即使自己的開發人員也只是能使用而不能修改,更加不用談提供源碼給接手公司。
2.開發文檔不完善,許多功能說明不清晰,特別是缺乏資料庫設計文檔。項目的目的是實現客戶的需求,只有瞭解了客戶的業務和需求後才能開發出客戶需要的東西。後繼者如果面臨這個問題,將遭遇混亂、無從入手的困境。沒有需求文檔和設計文檔,就是看著對岸的東西,自己摸著石頭過河。
3.代碼開發不規範,架構拖遝,代碼注釋無或者不清晰。在我經曆的項目中看來,並非小公司就沒有強大、完善和規範的代碼開發和架構,並非大公司的代碼開發就非常規範,技術能力就非常強大,有時候還是取決於實際開發人員的素質,當然還有公司文化氛圍及工作規範。當你遭遇到這類不規範代碼的時候,鬱悶之所在。
4.無人指導,全靠自己揣摩,自己看代碼,自己看文檔,孤軍奮戰,這是最可能吐血所在。
如何應對這類二手項目
1.首先要瞭解系統構建的目的,瞭解客戶需求。接手原始碼的同時,儘可能多接手到相關的開發文檔,仔細閱讀需求文檔一遍,拿個小筆記本自己寫記下個大概,然後去找客戶再瞭解一遍,將自己通過文檔瞭解的需求資訊大致跟客戶闡述一遍,這個時候如果遇到理解錯誤或不完全的時候,客戶通常會指出來,別指望客戶會完完全全跟你說明整個需求。這個工作可以專案經理,主程,調研人員一起去做,這是一種很有必要的溝通。
2.其次,瞭解構架,首先要瞭解資料庫實現和使用方式,這個通常是結合登入系統、人員角色的許可權系統來一起瞭解。對於瞭解許可權系統,如果有這個部分資料庫設計文檔,或者至少資料庫表有清晰的注釋說明,那麼這一塊會進行的順利的多。如果沒有資料庫文檔,那麼也沒辦法,根據代碼,找到資料庫表,將表和欄位自己用excel表做成文檔並加上說明,看不懂的就猜,把這些表啃下。這個工作一定不能省下來,瞭解了這一步,你就對整個架構及其系統有了個大概的掌握了。
3.這部分算是接上兩步,瞭解了需求和架構,你就大概瞭解了系統的各個模組,那麼接下來就是需要對具體的模組進行具體詳細的功能點劃分。調研之後,會有具體的新增功能和修改功能有個說明。好,根據需求,展開excel,將各個模組要實現的功能點一個一個地詳細的寫來,細緻到工作中的每一步,比如某個增加功能、查詢功能、修改功能、按鈕實現功能等等,具體到不能在細分下去。這一步工作需要經過非常細緻的思考,完成之後,對整個系統的功能實現脈絡就已經是完全非常清晰了,這對接下來工作日期安排起到非常重要的作用。