全棧開發與敏捷

前言:app

很久沒有寫博文了,一直在研究和實踐敏捷也有三年多了,所以又有了一些感悟,但願和你們分享。測試

前天與一個朋友關於全棧開發與敏捷的關係,有了一點小小的爭議,如今就把個人觀點貼到博文裏,但願看到的朋友給點建議和指教。this

 

如下是我我的的觀點:spa

全棧是一個理想,或者是說一個我的發展的極限挑戰。可否有人作到樣樣精通?這是無需回答的。翻譯

敏捷強調一專多能,目的是爲了平衡開發的負荷,減小開發中的瓶頸。好比,若是測試目前是瓶頸的話,那麼開發人員應該放下手裏的開發任務,主動去幫助測試人員。這裏的幫助多是去作測試,但也多是幫助開發人員構建更好的自動測試環境(注意:不是那種高大上的測試平臺)。只有這樣,開發團隊才能保持穩定的步伐前進。不然,明明測試已經是瓶頸,而放置不理,仍去開發更多得不到測試的程序,將形成更大的堵塞。敏捷不是扼殺專家,而是扼殺那種「油瓶倒了也不扶」的專家。ci

開發是一個團隊的活動,而非「團伙」的行爲。它是一個總體,而非一個個單獨的個體,就像是一個足球隊。現代足球的發展與敏捷是一模一樣的,「全攻全守」就是一個例證。難度全攻全守就是既當守門員,又要負責進球?開發

另外,請暫時不要將全棧與敏捷聯繫起來。在我目前看到的不下十本的敏捷書籍中,尚未看到這個術語。雖然全棧一詞是最近纔出現的,但全棧開發人員卻不是最近纔出現的,偏偏相反,它在軟件業剛剛開始就出現了,尤爲是在中國很早就有了。在小公司呆過的人,都知道本身曾經當過全棧開發人員。我在二十年前就是一個全棧人員,並且跨度不止是開發,甚至包括售前、售後,以及銷售。get

 

8/21日 更新:it

有關全棧開發和敏捷的話題,我在領英的「Agile and Lean Software Development」組內諮詢了一下,下面是Paul的一個回答,認爲這是兩個不一樣的概念。我仍是很是贊同這個說法,英文不是太好,我就不翻譯了。原文以下:class

 

Paul Oldfield

They are separate concepts (if we're thinking of the same concepts); neither implies the other. Agile approaches like "Generalizing Specialists" - people who have a broad range of relevant skills and are particularly strong over part of that range. However the *team* needs to have all the skills that are needed to produce deliverable product - if I understand the concept then the *team* needs to be a "full stack developer". This concept is core to most if not all agile approaches. One could, of course, be capable as an individual of producing a complete deliverable without being in any way agile.

相關文章
相關標籤/搜索