Software development for mobile is a considered and intricate process, from the conception through to the release of the final mobile app. One of the most frequent questions we are asked by clients, is how do we approach the delivery of a modern mobile app?
There are a number of development models you could look to but, in our experience, the successful delivery of high-quality mobile apps comes from the integration of two individual software development cultures.
Mobile app development with Agile & DevOps
An Agile approach encourages changes in how we think about development. Instead of thinking of development as a fixed challenge to address, Agile thinking presupposes change as inevitable and embraces it as part of business as usual.
DevOps can also bring its own cultural shifts within an organisation, including more frequent communication, and balancing stability with change and flexibility. Most importantly, it can significantly reduce the friction to change.
There are proven benefits that can be gained from adopting either approach:
But, it's when we combine these methodologies that the magic starts to happen:
Agile DevOps avoids silos
One of the key benefits of Agile is that is breaks down organisational silos, where individual business groups work in isolation and don't share information. Agile, by definition, disrupts silos.
When used in tandem DevOps widens Agile principles to include systems and operations instead of stopping its concerns at code check-in when you sync your repository. Creating separate Agile and DevOps horizontals in any organisation can impinge the success of DevOps entirely.
Instead of passively accepting the silo approach, adopt an Agile DevOps mindset: It is a broad, overarching plan for building, deploying and delivering software.
DevOps makes Agile more flexible
One of the key benefits of both DevOps and Agile is that they bring flexibility into the development process. Agile is flexible in that it allows us to adapt to the changing needs of the customer and to prove that software under development works in a test environment.
When combining DevOps with Agile, we can increase that flexibility even further. Agile DevOps also ensures that working software reaches the production phase faster and with less friction than before.
We build on the "plan, build, launch, feedback" process within agile and blend it with the continuous integration, delivery and deployment principles of DevOps to get to a best in class development model that has tangible commercial benefits:
So how do you know if you need a new approach to deliver your mobile app?
- Your software often contains defects
- You can’t do anything until you have everything
- Communication and collaboration are low
- Project timings extend indefinitely
- You’ve built the wrong thing
Want to know what this looks like in practice? You can read more about how to build a best in class mobile app here.