We are all moving to the cloud – our apps, our pictures, our entertainment. Telcos are doing the same thing. They want to get the benefits of the cloud. These include low-cost hardware, multi-vendor systems, rapid development and deployment of services, and automation. But getting to the cloud is about more than technology. It’s also about the way we work. In particular, telcos have to change how they roll out new services. They have to move from “waterfall” methods to agile development and DevOps.
What is waterfall development?
Waterfall development refers to a method of sequential steps in a process. A different group handles each step, and departmental boundaries separate these groups. Each step must be completed and pass a “gate” before the next step is started. Because the boundary can become rigid, this handoff is sometimes referred to as “throwing it over the wall.” Below is an example of classic waterfall development, with different colors identifying different functional groups:
Developers have used waterfall and hybrid waterfall development for decades, and there are well-understood methods and tools for supporting it. But it has one big drawback: it takes a long time to get from start to finish. Each of the steps shown above can take months, and the time from start to finish can be years.
The slowness of the process introduces risks:
- Schedule and cost risk: The longer a project is, the less predictable it becomes with regards to time and cost.
- Market risk: The market opportunity may be gone by the time the development finishes.
- Requirements risk: Dynamically evolving requirements create gaps between what is needed and what is built. Without interim feedback, a long development cycle delays resolution of this gap.
New ways of working
Software engineers have devised a family of methods to address the drawbacks of classic waterfall development. The most popular methods are called agile development and DevOps.
- Agile development converts mega-projects into smaller projects that capture a use case or small set of features. These smaller projects are developed in a multi-disciplinary fashion, ideally including the external suppliers and the end user.
- DevOps is short for development operations. A DevOps approach unites development and deployment. DevOps sometimes include continuous integration / continuous delivery (CI/CD) to maximize speed and automation. DevOps can take early customer feedback on requirements and implementation and feed it into the development and delivery of technologies and applications.
Here is a comparison of waterfall development with agile development and DevOps.
An example of agile development is shown below:
Telcos can combine agile development and DevOps for some big advantages, including:
- Shorter and more predictable schedules
- Reduction of time between identifying a need and delivering a product
- Closing the gap between the telco and its customers
- Breaking down the barriers between internal groups
- Adopting a mindset of continuous improvement
- Treating customers and suppliers as partners in success
Walking the walk – with our customers
We’re not just talking the talk. At ADVA, we have embraced agile development and DevOps for several years. We have done this with our software, and more unusually, with our hardware developments. As a result, we have accelerated our product development. In addition, we have been able to improve quality by rapidly responding to problems or changes in requirements or markets.
On the software side, we have introduced the notion of “software drops,” which are pre-production versions of the software. These drops are appropriate for demos, proofs of concept, or collaboration with our customer. Most often, these software drops take on the form of agile “minimum viable product” (or feature) content. With early feedback and customer use case alignments, we validate whether the drop captures the correct functionality and correct implementation before we move to a full release. The full release is substantially the same as the sum of iterative software drops, but with the matured documentation and internal DevOps CI/CD processes to meet telco requirements. In other words, the best of both worlds.
The benefits of these new styles are especially significant when working in an advanced area of technology, such as network functions virtualization (NFV). New technology has the promise of benefits, but there are also many unknowns. An agile/DevOps approach empowers immediate development of solutions, rapid identification and feedback of issues, continuous improvement, and customer verification of the value of a solution.
Our telco customers want to make the move from waterfall development to agile development and DevOps. They need suppliers like ADVA that can work with them in this new model. In their race from requirements to deployments, customers are embracing the software drop model and gaining the highest value first.
Change is hard – but worth it
And we are ready and willing to help. We believe that this transition to new ways of working will enable innovation today, and will power the telco cloud of tomorrow.