最近在帶幾個兄弟完成互聯網項目,我是中途才加入的,其實他們開始的時候已七七八八完成的差很少了,前端的小夥臨時起意拍拍屁股走人了。我以爲惋惜,決定嘗試去帶他們產出一個好的結果。項目管理這樣的事,難的就是相信項目能夠成,而且按照心中所設想的循序漸進的完成一個個小任務。考驗項目的成敗的每每是心力,而不是能力。在團隊遇到困難,迷茫的時候,你是否依然堅決。這個堅決來自於兩方面:前端
首先,你相信,而且知道項目老是會遇到這樣那樣的困難,只要本身按着節奏努力,老是會有好的結果的。你是否能夠憑藉你的經驗和毅力看的到這樣的結果。但這樣還不夠,你必須使你的團隊也看到這樣的但願,即便他們看不到那團熱火,也要讓團隊能看見那微弱的光線。依個人經驗來看項目大多數都死在這個階段,一旦遇到阻力,遇到意外,咱們就對咱們開始時候決定產生的懷疑,這是萬萬要不得的。這個時候沉住氣,走過去,那又是一片海闊天空。並且這也讓你的團隊造成一道無形的門檻,不少人看不到這樣的門檻,這即是你的優點。git
其次,勿忘初心。這個堅決是對初心的堅決,在特定時期咱們會遇到特定的困難,這些困難各有不一樣,咱們須要根據事實狀況解決這些困擾團隊的困難,其底線就是不要忘記咱們的初心,咱們是準備作什麼的,這些決定是否違背了咱們的初心。架構
在管理團隊時候讓我對於架構設計有了更深一步的見解。我對核心開發人員的一個要求就是不管是誰,只要擁有咱們GitHub倉庫的權限,他就能夠經過git clone, install.sh, run.sh這簡單的幾步就能夠在本身的電腦運行咱們的項目。當時這是針對當前項目人員配置的一個考慮。後來發現,即便擁有完備的開發團隊,這種架構上的鬆散,對配置的精簡也是必要的。咱們寫程序的人都知道,花時間最多的一般有兩項:一個是環境配置,另外一個是調試。咱們要將環境配置的難度下降,避免一些無故的時間消耗。對於調試,經過日誌和熱加載可大大減小調試有關的時間消耗。框架
在學軟件設計,或者是軟件工程時,咱們時常會提到高內聚。此次有機會讓我站在工程角度去看高內聚的含義。理想中,咱們的項目的一個相關功能集(features set)能夠在項目無縫的被集成。咱們是網頁相關的開發,對於功能集的開發者,他不須要知道太多外面的東西,他能夠新建一個目錄,在裏面添加相應的urls映射,相關的資源文件,對應的業務代碼,等等。這些在實體上理應放在同一個文件夾下,而且在框架載入的時候自動加載這些必須的選項,而不須要額外的配置。在工程上,咱們能夠將這個功能集外包出去,隨便給一我的,他就能夠循序漸進的開發。這纔是高內聚。url
若是要展開來講,這也會涉及另外一些軟件設計的知識,好比軟件應該對擴展開放,對修改封閉。最終不少功能集的實現其實只是系統的一個插件(Plugin)而已,利用系統的已有功能接口來擴展系統。插件
--------架構設計
最近工做很忙,雜七雜八的事情多,對於我我的來講將這些事情分解,記錄在Google Keep中,執行完成,這很重要。設計