Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Save more on your purchases now! discount-offer-chevron-icon
Savings automatically calculated. No voucher code required.
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Mobile DevOps Playbook

You're reading from   Mobile DevOps Playbook A practical guide for delivering high-quality mobile applications like a pro

Arrow left icon
Product type Paperback
Published in Sep 2023
Publisher Packt
ISBN-13 9781803242552
Length 384 pages
Edition 1st Edition
Arrow right icon
Author (1):
Arrow left icon
Moataz Nabil Moataz Nabil
Author Profile Icon Moataz Nabil
Moataz Nabil
Arrow right icon
View More author details
Toc

Table of Contents (18) Chapters Close

Preface 1. Part 1: Introduction to Mobile DevOps
2. Chapter 1: Resolving Challenges in Mobile DevOps FREE CHAPTER 3. Chapter 2: Understanding the Mobile Ecosystem 4. Chapter 3: Mobile DevOps Fundamentals 5. Part 2: Implementing the Mobile DevOps Environment
6. Chapter 4: Achieving Continuous Integration and Delivery with Mobile DevOps 7. Chapter 5: Implementing a Robust Mobile App Testing Strategy 8. Chapter 6: Mobile App Release Management 9. Part 3: Monitoring, Optimizing, and Securing Mobile DevOps
10. Chapter 7: Establishing Mobile App Monitoring, Observability, and Analytics 11. Chapter 8: Keeping Mobile Apps and DevOps Secure 12. Chapter 9: Mobile DevOps Best Practices 13. Part 4: Moving Beyond Mobile DevOps and the Future of DevOps
14. Chapter 10: Improving Productivity with Developer Experience and Platform Engineering 15. Chapter 11: Predicting the Future of Mobile DevOps 16. Index 17. Other Books You May Enjoy

How does Agile work in Mobile DevOps?

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

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

Figure 1.2 – The Waterfall model

The phases in the Waterfall model are as follows:

  • Gathering and analyzing requirements: This phase involves identifying the problem that the software will solve, determining the requirements for the software, and creating a specification.
  • Design: A detailed technical design of the software is created, as well as interfaces between various components, and a plan for implementing the software is constructed.
  • Implementation: In this phase, the actual coding of the software takes place. The code is created based on the previous phase’s design.
  • Testing: In this phase, software testing is performed to ensure that the software meets the specifications in the specification document and performs as intended.
  • Deployment: During this phase, the software is deployed to its target environments, such as production servers or mobile devices.
  • Maintenance: As part of the maintenance phase, any bugs or issues found in the software are fixed, new features or functionality are added, and the software’s performance is improved.

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.

Agile

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

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.

Mobile DevOps stages

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

Figure 1.4 – Mobile DevOps stages

  • Strategy and planning: This involves identifying the goals and objectives of the mobile app, as well as the target audience and any specific requirements or constraints.
  • Development: In this stage, the mobile app is developed using agile methodologies and CI/CD practices. This includes writing code, building and testing the app, and integrating any required APIs or services.
  • Testing: Mobile app testing is an important part of the DevOps process to ensure the app is stable and performs well on different devices and operating systems. This can include unit testing, integration testing, and user acceptance testing.
  • Releasing: Once the app is tested and ready for release, it can be released to the appropriate app store or distribution platform.
  • Monitoring: After the app is deployed, it is important to monitor its performance and address any issues that arise. This can include crash reporting, error tracking, network request analysis, memory leakage, and app performance.

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.

You have been reading a chapter from
Mobile DevOps Playbook
Published in: Sep 2023
Publisher: Packt
ISBN-13: 9781803242552
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime