敏捷软件开发是当今软件商店的首选方法。但是仍然有一些组织在软件开发方面没有实践敏捷,他们可能对采用DevOps感兴趣。
当我说敏捷软件开发时,我指的是敏捷软件开发宣言中的任何后代。如极限编程,Scrum,精益软件开发等。
敏捷软件开发是否是在组织级别采用DevOps的强制性先决条件?
敏捷软件开发是当今软件商店的首选方法。但是仍然有一些组织在软件开发方面没有实践敏捷,他们可能对采用DevOps感兴趣。
当我说敏捷软件开发时,我指的是敏捷软件开发宣言中的任何后代。如极限编程,Scrum,精益软件开发等。
敏捷软件开发是否是在组织级别采用DevOps的强制性先决条件?
Answers:
进行DevOps 并不需要进行敏捷软件开发,但是我相信可以提出这样的论点,即没有敏捷的情况下DevOps的价值主张通常会低很多。
DevOps有很多东西,但是自动化是中心主题。自动化的价值与Development创建新版本的频率成正比。频繁部署会对某些类型的产品(特别是消费者应用程序)产生积极影响。在整个软件交付生命周期中始终保持高速,每次迭代都返回值(有人看到CA广告中的僵尸想要在其应用中添加新功能吗?)
如果没有敏捷性,高频发布将非常困难,即使不是不可能。如果开发团队每季度或每年两次发布软件,DevOps仍然可以使流程自动化,但是那又有什么意义呢?采用DevOps的时间,培训和资源方面的投资可能会部分返回质量,但是,最大的价值在于在整个交付生命周期中保持较高的速度。
也许还会有人争辩说,如果您要采用DevOps,为什么不同时采用敏捷?使它们都起作用的原理可以很好地协同工作。在没有敏捷的情况下,仅自己实践DevOps可能会在Ops和Dev之间造成失衡,在Ops和Dev之间,Ops在提供服务方面的性能要优于Dev。
不必要; 正如其他答案所指出的那样,敏捷方法论和DevOps思维方式可以相互借鉴,但对我而言,DevOps比敏捷或精益开发工作要广泛。采用DevOps的公司着眼于整个价值流,包括运营,开发,产品设计,市场营销,安全性等。这种运动可以在任何孤岛内发起,旨在消除障碍。