20天時間,一我的怎麼搞定這個後臺管理項目

通過20天的溝通與開發,一個新項目終於成功交付了。目前產品運行良好,與客戶的遠程合做還算順利,進度把握的也很好,算是比較成功的一次接包經歷。如今給你們把從平臺接包、開發、溝通、測試部署到最終的項目交付過程分享出來,供你們參考,若有須要改進的地方,也歡迎你們指正。前端

接包node

之前作的項目都是經過熟人介紹或者本身跑的,偶爾在線接一些小的項目,可是沒怎麼用過相似自由開發平臺或者衆包平臺,有次在網上找項目的過程當中,偶然間發現了某衆包平臺,上邊項目很多,觀察了幾天發現項目更新的也挺快,立即決定在上面試一試。翻了一會終於找到一個適合本身的了,是實現一個小遊戲的後臺管理系統,其中附帶了一個功能模塊描述文檔,看過以後感受工做量適中,前臺頁面,後臺服務以及數據庫的設計一我的就能搞定,難度不大,6000元20天感受還行,果斷就投標了。mysql

投標的時候要根據本身的心理價以及發包方的預算定一個項目報價,不惡意壓價也不天馬行空,再選擇一個合適的工期,而後在留言中寫了一些本身的相關技能,以及提供一些我以前參與過的與標的相似的項目案例,網址或者下載連接,供客戶參考從而提升本身的中標率。linux

投完後就能夠靜待對方的回覆了,若是客戶打算和你進一步詳談,經過APP能及時收到消息。這時的溝通主要是一個相互瞭解和熟悉的過程,爲之後的合做打好基礎,要讓客戶放心把項目交給你,估計是人品爆發,談了一會客戶就決定讓我作了。接下來就是針對當前的需求進行一下簡單的梳理,作到心中有數,若是有比較大的坑或者一些明顯的問題及時提出來,以避免作的過程當中又扯皮。最後就是對項目價格和工期進行再次確認,一次肯定好或者根據最後的項目交付狀況靈活處理,具體狀況具體分析。待這些準備工做作好後就能夠開工了。git

技術面試

我接的這個項目由於是一個後臺管理系統,所以客戶對於UI設計沒有嚴格規定,只要不難看知足功能要求就行,這個省了很多事,本人自認爲開發還行,設計徹底是個二把刀,不過審美能力和需求把握能力還行,知道客戶想要個什麼樣子的系統。由於工期短,要快速出東西,同時客戶對於技術這塊也沒有要求,通過短暫的思考後就肯定好了技術方案。sql

  • 前端:Vue+ElementUI
  • 後端:nodejs+thinkjs
  • 數據庫:mysql

這樣搭配有個好處就是先後端開發效率都很高,而且能同時進行,打包部署也很方便。前端的ElementUI就是爲後臺管理而生,豐富的界面組件和優雅的主題幾乎能知足全部須要,同時有強大的社區支持,這樣媽媽不再用擔憂我掉進坑裏而不能自拔了。此項神器再配以天生高效而且功能強大的Vue,簡直了都。由於項目自己並不大,所以後端選用輕量級的node服務就夠用了,再搭配thinkjs這種通過業界考驗的MVC框架寫起API來簡直是駕輕就熟。沒用express或者koa這種輕量級框架徹底出於我的喜愛,就是懶得找插件。數據庫

話說開源社區真的是一個好東西,雖然以上這些框架都有腳手架支持,能快速搭建項目,可是你能在開源社區裏找到更棒的,而且更省時省力的乾貨,無論是GitHub仍是OSChina都能發掘些能拿來直接用的代碼或者源碼,非常方便,此次就幫我很多忙。express

項目管理後端

以前作項目時用的比較多的項目管理工具是teambition,很好用,無論是人員管理仍是任務分配都很便捷,可是自從部分功能收費後就不怎麼用了。如今幾乎全部項目都用某er來進行管理和跟蹤,小巧而靈活,所以這個項目我也選擇了某er。在某er上建好項目後把客戶也加進來,讓客戶能夠在之後的開發過程當中能清楚當前的項目進度以及遺留的問題。明確哪些是待處理的功能,哪些是進行中的功能以及哪些是已完成的功能,這樣持續性的分階段測試和交付更能保證項目進度和質量。

首先在某er上建立好項目後,根據項目的功能需求分階段建立任務,每一個階段的任務應該有優先級之分,最關鍵的永遠在最前面。一開始的時候,任務粒度能夠稍微大一些,在後續的溝通和開發過程當中能夠慢慢調整和細化,任務處理和更新要及時,作到每日一更,遇到問題作好備註和記錄,方便稍後處理,這樣在體現本身工做量的同時也能讓客戶心理有底。同時在某er上,可讓客戶在系統的測試過程當中提交bug,早發現早處理,儘可能作到,一次過去,寸草不生。

時間管理

我不是徹底的自由開發者,還有本身的工做,所以如何平衡本職工做和這個兼職工做的時間也是比較關鍵的,若是處理很差,就很容易翻車,兩頭不討好。還好,在這以前,公司的一個項目成功上線,如今只是進行bug修復和功能上的維護,處於一個平穩期,所以天天能夠保證必定時間的開發工做。

天天一到公司,先把本職工做中的緊急事情處理完,這樣白天就不會有人打擾了,剩下的時間就能夠徹底投入外包項目的開發,那段時間,白天上班期間能夠投入3個小時,晚上回去根據狀況再作2個小時,若是白天時間被擠壓的不夠,那就相應的延長晚上的工做時間,儘可能作到互不干擾。總而言之,天天時間就那麼多,因此提升工做效率纔是王道。

溝通

因爲是遠程開發,所以少不了頻繁的線上溝通,有效且及時的溝通是項目成功的第一步。白天在公司接電話和語音都不方便,所以主要經過微信來進行交流討論,雖然配有某er神器,畢竟不是很及時,所以不少時候就讓客戶直接在微信裏貼圖,我也能及時分析和回覆。白天經過文字溝通畢竟不方便,有些問題描述不清楚,所以天天晚上就和客戶約好時間經過語音溝通,總結項目問題,討論項目進度。

溝通的時間成本是很高的,尤爲在需求討論階段,可是這個階段也是很關鍵的,若是理解不到位,就很容易在後期的開發過程當中跑偏。這個項目客戶只提供了一個excel表格,將各個功能需求大體描述了一下,沒有設計圖也沒有流程圖,由於要作WBS,一開始我跟客戶經過微信逐個功能的討論細化,發現不但效率低並且很容易形成理解上的不一致。後來,就用了另外一個神器—百度腦圖,將我細化的功能點畫了一個思惟導圖,而後教客戶怎麼用,讓他根據他想要的在上邊改,這樣反覆幾回需求立馬成型了,而後在根據這個圖把任務加到某er上,大大緩解了遠程溝通的不便以及提升了溝通效率。之後若是有問題能夠先迭代思惟導圖,而後更新任務,作到需求上全面跟蹤,這樣對本身是一個保障,也能很好的婉拒客戶要求的改改改。

開發

前期工做準備充足後就能夠安安穩穩寫代碼了,仍是這個最在行。因爲項目不是很大,所以我就把先後端放到一個工程下,這樣開發起來很便捷,不用切來切去。雖然是一我的全權處理,代碼規範也要作好,以避免本身給本身挖坑。一我的也要把代碼的版本控制工具用上,作好代碼跟蹤,我比較青睞git,不只開發時方便,並且部署也方便。

代碼作好把控後,對於開發週期也要作好規劃,不能從第一天一直埋着頭作到最後一天,而後給客戶說好了,作完了。這樣不但客戶會炸,本身也極可能白忙一場。我這個項目就分了三個階段,恰好一週一個階段,第一階段主要是基礎架構搭建和前端靜態頁面展現,完了能讓客戶看看大體效果,有問題及時更正,第二階段主要是API的開發和主要功能的集成,第三階段就是剩餘服務的集成,測試和問題處理,給每一個階段儘量的留出一些時間處理客戶發現的bug以及作一些小的改進,儘可能作到不緊不慢,收放自如。若是在中間某個階段客戶忽然腦門一熱要求大改,那就要仔細評估風險了,和他聊聊人生,談談美好的事物,若是仍是沒法讓他知足,那就要麼加錢要麼加時間再加錢,就這麼簡單。

部署與測試

就像以前提到的,要分階段開發,所以完成一個階段的任務就應該讓客戶能看到東西,並進行相關的測試。這樣也不用把前邊的問題壓到後邊,給本身製造混亂。客戶的服務器是阿里雲的linux服務器,已經用慣了,因此很順手,兩三下把環境搭建好,手動使用git遠程拉代碼和打包,還沒嘗試過自動部署,始終以爲本身親力親爲才讓人放心,之後能夠試試。不過儘可能不要本地SSH上傳,由於很容易出現人爲錯誤,再處理這個問題就有些得不償失了。服務器環境處理好後,再配置反向代理,而後啓動服務,客戶就能隨時隨地進行項目測試了,發現問題及時經過微信反饋給我或者放到某er上,待我後續處理,井井有理。

交付

待全部功能開發完成,而且測試無誤後,就能夠結項交付了。若是須要質保的話這個一開始要談清楚,包括時間和價格,要是有改動的話,那就是另一碼事了。待客戶確認好後就能夠提交最終的里程碑文件,而後結帳付款,讓客戶在雲沃客上給個評價,結束合同,至此,一個項目的週期正式結束了。

總結

一我的接包和開發有時是很孤獨的,全部問題得本身所有扛着,因此前期工做要作充分,能幹就幹,幹不了及時提出來,你們時間都很寶貴。對於有本職工做在身的開發者而言,項目管理和時間管理要作好規劃,處理很差不但會影響本職工做還可能還會影響本身的生活,必定要謹慎。這種畢竟是遠程開發,很難和客戶面對面交流,因此在溝通上要認真和高效,說問題不扯淡,要作到相互信任。這些都是個人真實體會,有感而發,但願幫助到你們。

相關文章
相關標籤/搜索