-
Book Overview & Buying
-
Table Of Contents
Mobile DevOps Playbook
By :
Since we have already spent so much time describing the differences between the Waterfall model and Agile in different books, articles, and videos, I don’t want to spend more time describing the Waterfall model. However, let me ask you a question: can a Waterfall model be used with DevOps, or is Agile more appropriate?
You can find the answer if you take the advantages of Mobile DevOps (listed previously) and the challenges in Mobile App Development (listed previously) and apply them to the Waterfall Model and Agile.
If you’re still confused, remember the Agile Manifesto at the following link: https://agilemanifesto.org/ .
What’s the answer now? I can help you, but first, let’s recall the Waterfall model and identify the problems.
The Waterfall model is a linear approach to software development that involves a sequential and linear flow from one phase to the next in a downward direction. Therefore, each phase must be completed in its entirety before the next phase can begin.
Figure 1.2 – The Waterfall model
The phases in the Waterfall model are as follows:
There are some drawbacks to the Waterfall model. It assumes that the requirements for the software can be gathered and analyzed upfront, which may not always be possible. Furthermore, it assumes that the software is designed correctly and completely, which may not always be the case. As a final note, once the development process has moved on, no changes can be made to the software.
Is Waterfall a viable model for Mobile DevOps? In practice, no, because Mobile DevOps involves CI, continuous testing, continuous deployment, and continuous monitoring changes are normal and phases are not silos or isolated islands. In Mobile DevOps, all the cross-functional teams work together in one process, with one goal and one objective, which is to deliver mobile apps quickly, frequently, and at a high level of quality in order to satisfy customers.
In contrast, the agile methodology is regarded as the direct successor to the waterfall methodology. It is a set of principles that emphasizes collaboration, flexibility, and rapid iteration in software development. This is a system that is built on the Agile Manifesto, which outlines a set of values and principles that are critical to delivering high-quality software within a short time frame.
Often, Agile is implemented using Agile methodologies such as Scrum, in which team members communicate and provide feedback to each other in short development cycles (called sprints).
In the Agile Principles (https://agilemanifesto.org/principles.html) behind the Agile Manifesto, we can find the first principle is as follows:
“Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.”
Do you remember the benefits of Mobile DevOps? Customer stratification and frequent delivery of mobile apps. Due to this, the Agile Principle with Mobile DevOps aims to speed up the development and delivery of mobile apps using a CI, continuous delivery, and continuous deployment strategy, enabling teams to release mobile applications rapidly and reliably.
There is a strong emphasis in both Mobile DevOps and Agile on collaboration and communication between teams, and both emphasize the importance of automating repetitive tasks in order to generate high-quality software products as quickly and efficiently as possible. Both also emphasize the importance of delivering high-quality software products as quickly and as efficiently as possible.
Agile emphasizes short development cycles, while DevOps emphasizes continuous delivery.
Figure 1.3 – Agile methodology
Achieving maximum velocity with minimal risks is the goal – you need to experiment, test, and turn every stone in order not to fall behind customer demands or crash your current structure in the process. It is not important to prevent failure, but rather to recover quickly. The only thing that matters is how fast you recover.
Like DevOps, Mobile DevOps has different stages for mobile apps from planning to monitoring, including all the practices that help the mobile team to deliver qualitative mobile apps smoothly, quickly, and frequently.
Figure 1.4 – Mobile DevOps stages
This was a quick introduction to the stages but in Chapter 3, Mobile DevOps Fundamentals, we will deep dive into all of them, and in the rest of the chapters, we’ll explore each one separately with real examples and use cases.
Having gained an understanding of the differences between DevOps and Mobile DevOps and the strong relationship between Agile and Mobile DevOps and seen the different stages of Mobile DevOps, let’s see how we can transform our team or organization successfully and effectively to Mobile DevOps.