我们都在迈向云端,我们的应用程序、图片、娱乐方式都依赖于云。电信公司也在向云端迈进,他们也想获得云计算带来的优势。其中包括低成本硬件、多厂商系统、快速开发和部署服务以及自动化。但是业务上云不仅仅是技术问题,这也是我们工作的方式。特别是电信公司必须改变他们推出新服务的方式,他们必须从传统的瀑布式转向敏捷开发和DevOps。
什么是瀑布式开发?
瀑布模型是由W.W.Royce在1970年最初提出的软件开发模型,瀑布式开发是一种老旧的计算机软件开发方法。瀑布模型式是最典型的预见性的方法,严格遵循预先计划的需求分析、设计、编码、集成、测试、维护的步骤顺序进行。不同的小组处理每个步骤,每一步都必须完成并且在下一步开始前通过一个“门”。下面是经典的瀑布式开发的例子,用不同的颜色标识不同的功能组:
几十年来,开发人员一直在使用瀑布式和混合瀑布式开发,并且有很好的方法和工具来支撑开发。但它有个好大的缺点:从开始到结束需要很长的时间。以上所示的每个步骤可能需要几个月时间,甚至是几年。
这一缓慢的过程带来了巨大的风险:
- 时间和成本风险:项目越长,在时间和成本方面的预测就越少
- 市场风险:开发完成时市场机会可能会消失
- 需求风险:动态变化的需求和构建之间的差距。没有临时反馈意见,长期的开发周期会扩大这一差距。
新的工作方式
软件工程师设计了一系列方法来解决经典瀑布式开发的缺点。 最流行的方法称为敏捷开发和DevOps。
- 敏捷开发将大型项目转换为捕获用例或一小组功能的较小项目。这些较小的项目是以多学科的方式开发的,理想的包括外部供应商和最终用户。
- DevOps是开发运营的缩写。DevOps方法结合了开发和部署。DevOps有时包括持续集成/持续交付(CI/CD)以最大限度地提高速度和自动化。DevOps可以根据需求和实施早期获得客户反馈,并将其反馈到技术和应用程序的开发和交付中。
下面是瀑布式开发与敏捷开发和DevOps的比较。
敏捷开发的例子如下图所示:
电信公司可以将敏捷开发和DevOps结合起来,带来一些重大优势,其中包括:
- 更短且可预测的开发周期
- 减少识别要求和交付产品的时间
- 缩小电信公司与用户之间的差距
- 打破内部团队之间的障碍
- 采用持续改进的思维
- 将用户和厂商视为成功的合作伙伴
我们相信,向新的工作方式的转变将使今天的创新成为可能,并将为未来的电信云提供动力。