代码改变世界

Agile&DevOps究竟谁是魔法棒

2017-07-04 16:18  老鱼大哥  阅读(340)  评论(0编辑  收藏  举报

天下没有神奇的配方

很抱歉,文章的开头我就要说出这个残酷的事实 - 世界上没有任何工具可以魔法般的让你实现敏捷,精益,DevOps。如果只是依赖了工具的自动化,实现了自动化Dev或者Ops,那么别忘了为什么这两个词要连在一起,你真正实现理念和行为的转变了吗,还是只是一味的悬浮在概念上无法落地。如何在开发和运营团队之间进行协作和沟通,更应该是一种文化和理念上的转变和演进。DevOps不是马良的神笔,也不是太上老君的仙丹,所以醒醒吧。

瀑布>敏捷>精益> DevOps,有多少人在一直不停的追赶。新的总是最好的?瀑布模型就一定out了?敏捷,精益就能更胜一筹?DevOps才是王道?如果没思考过这个问题,就请你停下追赶的脚步,看看你想要的是什么。没有最好的,只有最适合的。切记,所有的转变或者演进都不是为了否定过去。敏捷解决不了瀑布中的问题,精益也扭转不了敏捷的失败,同样DevOps也不是包治百病的神医。瀑布中的问题可能是前置环节没有达到标准,或者当前环节执行出现问题,这些敏捷解决不了。而同样是执行不足的问题,无论在敏捷还是DevOps中也会暴露。所有的演进和转变是为了适应新的环境,去解决新形式下带来的挑战和问题,弥补过去的模型和方法论无法满足的场景。就像病毒和疫苗的关系,我们无法预测病毒,但是我们能对症下药。所以一定要认清的一点是,演进是无法解决在过去的模型或者方法论中因为执行的错误或者偏差带来的消极结果。

认清自我,才能更好选择

对于开发模型的选型,需要结合行业,项目,环境,组织,特殊性,甚至公司战略等多种因素。例如,对于建筑或者银行项目,瀑布模型是适合的,不需要拥抱变更,频繁的变更会导致项目失败。而对于需求不能短时间全部明确,或者可以预见到需求变更频繁,又或者是出于公司战略考虑需要尽快开工看到部分成果的项目,敏捷的价值才能充分体现。同样,在公司战略,团队文化,项目资源都不太具备的情况下,DevOps也不是好的选择。对新事物的生搬硬套只会带来更多的麻烦和问题,却遗忘了最重要的价值。

工具是解决问题的魔法棒

可能很多人说,即使选型确定好了,但是在项目中依然会有很多问题。正如上面所说的,模型解决不了执行的问题,但是软件开发工具可以。工具是由经验落地而成的,借助工具其实就是借鉴成功经验。引入标准化的流程,模板,规范会帮助我们解决项目中的诸多问题,最大化的提高效率,是最有效的捷径,尤其对中小型企业受益颇多。在实际项目中,最大化的工具自动化不是每一个团队都有的理想,需要有前瞻性的工作态度,创新的工作意识。

把所有工具都融入到一个平台这个终极目标更是艰难的,幸运的是云时代帮我们实现了这一切。