• 全栈开发与敏捷


    前言:

    好久没有写博文了,一直在研究和实践敏捷也有三年多了,因此又有了一些感悟,希望和大家分享。

    前天与一个朋友关于全栈开发与敏捷的关系,有了一点小小的争议,现在就把我的观点贴到博文里,希望看到的朋友给点建议和指教。

    以下是我个人的观点:

    全栈是一个理想,或者是说一个个人发展的极限挑战。能否有人做到样样精通?这是无需回答的。

    敏捷强调一专多能,目的是为了平衡开发的负荷,减少开发中的瓶颈。比如,如果测试目前是瓶颈的话,那么开发人员应该放下手里的开发任务,主动去帮助测试人员。这里的帮助可能是去做测试,但也可能是帮助开发人员构建更好的自动测试环境(注意:不是那种高大上的测试平台)。只有这样,开发团队才能保持稳定的步伐前进。否则,明明测试已是瓶颈,而放置不理,仍去开发更多得不到测试的程序,将造成更大的堵塞。敏捷不是扼杀专家,而是扼杀那种“油瓶倒了也不扶”的专家。

    开发是一个团队的活动,而非“团伙”的行为。它是一个整体,而非一个个单独的个体,就像是一个足球队。现代足球的发展与敏捷是如出一辙的,“全攻全守”就是一个例证。难度全攻全守就是既当守门员,又要负责进球?

    另外,请暂时不要将全栈与敏捷联系起来。在我目前看到的不下十本的敏捷书籍中,还没有看到这个术语。虽然全栈一词是最近才出现的,但全栈开发人员却不是最近才出现的,恰恰相反,它在软件业刚刚开始就出现了,尤其是在中国很早就有了。在小公司呆过的人,都知道自己曾经当过全栈开发人员。我在二十年前就是一个全栈人员,而且跨度不止是开发,甚至包括售前、售后,以及销售。

    8/21日 更新:

    有关全栈开发和敏捷的话题,我在领英的“Agile and Lean Software Development”组内咨询了一下,下面是Paul的一个回答,认为这是两个不同的概念。我还是非常赞同这个说法,英文不是太好,我就不翻译了。原文如下:

    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.

     

  • 相关阅读:
    深入类的方法
    泛型集合
    深入C#数据类型
    深入.net框架
    错题
    详解Python Graphql
    深入理解分布式调度框架TBSchedule及源码分析
    30分钟闲置服务器建站(gitlab为例)
    Webpack开发指南
    mybatis-generator
  • 原文地址:https://www.cnblogs.com/Wangyong-Wen/p/3923769.html
Copyright © 2020-2023  润新知