dev ops for mobile development

6

Click here to load reader

Upload: ibm-software-india

Post on 11-May-2015

360 views

Category:

Technology


6 download

DESCRIPTION

Mobile computing is probably the hottest topic for development and operations teams right now.Employees in companies large and small have various mobile devices, many of them personal,that they are using for work. Companies all over the world want to use the mobile market by providing customers and users with apps that make mobile computing easier. So, it is important for companies to think through not just the development of a mobile capability but also how theywill deploy it and how they can ensure the continuity of the capabilities as these change overtime. This article covers how DevOps (development & operations) can help address the issues of deploying different versions of apps to different devices.

TRANSCRIPT

Page 1: Dev ops for mobile development

© Copyright IBM Corporation 2012, 2013 TrademarksDevOps for mobile development Page 1 of 6

DevOps for mobile developmentIntegrate development and operations for quality and continuousdelivery to multiple platforms

Michael RoweRational StrategistIBM

27 September 2013(First published 06 July 2012)

Mobile computing is probably the hottest topic for development and operations teams right now.Employees in companies large and small have various mobile devices, many of them personal,that they are using for work. Companies all over the world want to use the mobile market byproviding customers and users with apps that make mobile computing easier. So, it is importantfor companies to think through not just the development of a mobile capability but also how theywill deploy it and how they can ensure the continuity of the capabilities as these change overtime. This article covers how DevOps (development & operations) can help address the issuesof deploying different versions of apps to different devices.

Meet the authorMeet Michael Rowe. Learn about his background and what prompted him to explore thistopic.

To view this videoDevOps for mobile developmentplease access the online version of thearticle.

Mobile apps: New thought processes and behaviorsIn the mobile space, there is a plethora of potential deployment platforms. In some ways it issimilar to the situation in traditional desktop development many years ago when there weremultiple competing standards. What's different about mobile is that there are not only multiplecompeting operating systems, such as Android, iOS, BlackBerry, and Windows, but there are alsomultiple different device characteristics: screen resolutions, processors, graphics capabilities,networking capabilities, and more. Each of these adds a potential layer to the complexity ofdeploying to mobile environments.

As a result, enterprises need to use different thought processes and behaviors when developingand designing for mobile. For example, one approach that many companies currently use is tofocus on web-enabled mobile apps. Development teams that are already working on web portalsand web capabilities simply extend them to mobile using HTML5.

Page 2: Dev ops for mobile development

developerWorks® ibm.com/developerWorks/

DevOps for mobile development Page 2 of 6

The downside of that approach, however, is that it's not possible to exploit all of the powerand features of the different mobile platforms. Users inevitably ask for better integration withexisting native functionality on the mobile device, such as the calendar application. Meeting thesedemands requires native applications if the platform does not expose APIs to access the features— and that's when you'll start asking questions about which and how many platforms you aregoing to support. In addition, how many versions of the platform will you support? Given that mostcustomers will only keep a device for a few years, how much risk is involved in excluding a versionand choosing not to support those customers? Do you support or exclude one entire platform,such as iOS? One version of Android, such as 3.2? Do you extend out to the full capabilities ofJelly Bean, the latest version of Android?

Adding to the challenge of mobile app development and deployment is what is being called the"consumerization" of IT. More and more, employees and customers are bringing their own devicesinto the enterprise environment. For example, at IBM in January, there were approximately 10,000iPads running inside the company and more than 30,000 other iOS devices. This means that anenterprise can no longer have a corporate standard that states they will only support iOS, version4, because consumers are purchasing updated iPhones or Samsung Galaxies, along with tabletsand other smartphones. Although there are advantages when enterprises use their employees'devices, consumerization creates a very large set of targeted environments, which increases costsboth in development and management.

The pitfalls of mobile app deploymentOne of the main pitfalls of developing and deploying mobile apps is packaging too much changeinto one large deployment. This traditional waterfall method of development is also prevalentin enterprise application development. A company spends six to eight months working onrequirements, six to eight months developing, six to eight months testing, and then they put theirmassive application into production. The problem is, during all that time, the teams involved willlikely miss requirements, lose track of components, and even break part of the build. So to reducethat risk, the company implements a rigorous and complex governance process.

Companies often want to take this same approach to mobile development and deployment,because they want their first release of a mobile capability into the market, whether for their userbase or employees, to be perfect. In reality, the app does not have to be perfect, it simply has tobe usable and intuitive. Most enterprises don't realize this, however, so they put a great deal oftime and effort into what can become a costly endeavor — and, often, a late one. Most apps thatare the result of waterfall development are late to market and often do not end up addressing theirusers' needs.

DevOps is a way of addressing the deployment challenges of multiple operating systems, multipledevices, and consumerization by extending the agile development methodology to quicklydeploying functionality needed for successful mobile apps.

The power of DevOpsDevOps basically addresses the need to deploy a running application, with the latest features,out to the production environment at any given point in time. This is an agile approach, where a

Page 3: Dev ops for mobile development

ibm.com/developerWorks/ developerWorks®

DevOps for mobile development Page 3 of 6

waterfall development methodology will not work. It is important to define your requirements anddevelop in small, functional pieces of business value. Every night or every 15 minutes or everytime a change is checked into the source code management system, you want to ensure that it ispossible to build your product or business function. This is the continuous integration capability ofDevOps. Further, given the complexity of enterprise mobile apps, this is not just about compilingthe code for the mobile device. Enterprise apps leverage backend systems, which may also needto include new functionality.

Capturing the build and deploying it through the various environments requires a robust set ofcontinuous delivery capabilities that can push apps:

• From a developer's desktop with a simulator running Android, iOS, or another mobile platform• To the test environment that might involve a third party testing different handsets• To the back-end systems that expose services to be consumed by mobile devices• And into a production environment where it is delivered to the various devices

Each platform has different characteristics from a deployment perspective; however, no matterwhat the platform, for the delivery to be successful, you must identify, track, capture, and testevery change. This requires a disciplined approach that brings development and operations teamstogether to ensure frequent, reliable, high-quality software deliveries. Development and operationteams work together toward a common objective: continuous delivery of working mobile appswithout anyone assigning blame or making excuses. Automation is critical.

That's why DevOps is so powerful for mobile application development and deployment. DevOpscan:

• Capture changes• Automate how those changes take place• Automate testing• Keep the changes small enough to reduce risk to the business when they are moved into a

production environment• Ensure that, at every stage along the pipeline, appropriately packaged business functions are

replicated and pushed forward

With DevOps, you are using a disciplined and automated approach, deploying small, functionalenhancements that might, over time, become a very large, complex capability. It pushes your appsand your updates through your provisioning capabilities to the various endpoint devices in yourmobile ecosystem. DevOps also means transparency to changes so that all the stakeholders areaware of how new capabilities are progressing, thereby reducing the business risk. Metrics andmeasures are captured and exposed on dashboards, increasing transparency and accountability.

DevOps is an ideal approach when you also consider that the timeframe for delivering mobileapps is much shorter than for enterprise applications. Companies want to get started rightaway. Therefore, it is important to take the time to integrate teams and processes on mobile appreleases and updates and help everyone understand that the objective is not perfection; thegoal is improvement. This starts everything off in the right way, and progress is faster and better.Efficiencies happen and processes are improved at the same time they are automated.

Page 4: Dev ops for mobile development

developerWorks® ibm.com/developerWorks/

DevOps for mobile development Page 4 of 6

Conclusion

Companies all over the world want to exploit the mobile market by providing customers andusers with apps that make mobile computing easier. To do this, it is important to think throughthe development of the capability, how you will deploy it, and how you can ensure the continuityof your capabilities as you change them over time. DevOps helps ensure a successful mobileapp lifecycle that takes all of this into consideration. It brings not only automation but alsobusiness results because DevOps tightens the feedback loop between developers and operations.Developers can make changes more quickly, and organizations can speed the refinement andupdates of their apps.

Page 5: Dev ops for mobile development

ibm.com/developerWorks/ developerWorks®

DevOps for mobile development Page 5 of 6

Resources

Learn

• Michael is an active blogger on The Mobile Frontier.• Read more perspectives on DevOps in the Enterprise DevOps blog.• "Techniques for rapid mobile solution development" (developerWorks) offers concrete

suggestions on how even a small in-house team can quickly develop and deploy a well-targeted employee app across multiple platforms.

• At the developerWorks DevOps zone, find how-to articles, technical perspectives, andevaluation code to help developers, testers, and IT production and operations teamsunderstand and adopt the IBM DevOps approach to continuous software release andsustained innovation.

Get products and technologies

• Evaluate IBM products in the way that suits you best: Download a product trial, try a productonline, use a product in a cloud environment, or spend a few hours in the SOA Sandboxlearning how to implement Service Oriented Architecture efficiently.

Discuss

• The DevOps community provides news, discussions, and training to help you and yourorganization build a foundation on agile development principles and the associated DevOpsmovement.

Page 6: Dev ops for mobile development

developerWorks® ibm.com/developerWorks/

DevOps for mobile development Page 6 of 6

About the author

Michael Rowe

Michael Rowe is part of the IBM Rational business strategy team and has beenfocusing on the integration between development and operations in Rational formore than four years. For the last few years, he has been looking at the intersectionbetween the mobile application phenomenon and existing IT infrastructure in thecontext of how to manage the development and deployment of these apps on theinfrastructure.

© Copyright IBM Corporation 2012, 2013(www.ibm.com/legal/copytrade.shtml)Trademarks(www.ibm.com/developerworks/ibm/trademarks/)