全栈开发与敏捷

前言: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.

相关文章
相关标签/搜索