17 April 2014

Software Development Expert

Paul Smyth - Kynetix Technology Group

5 | posts 37,065 | views 2 | comments

Business Knowledge for IT

This community aims to provide links, resources, book suggestions, tips and insights to facilitate learning and development of IT professionals in financial services, and to develop a forum for IT professionals to exchange views on various related items.

7 Things Every CIO Should Know About Mobile App Development

04 December 2013  |  5113 views  |  5

Introduction

In the years since the launch of the iPhone in 2007 we have seen a huge shift in the power base in the IT world. Probably the most significant change is that your IT department is no longer in total control of the computing power in your business.

Everybody is now walking around with the power equivalent of a 1970s mainframe in their pocket. Increasingly they want to be able to use that power to complete their daily tasks. We are seeing a growing demand from business users for mobile apps to enable them to work better and with the freedom to do that on the move from any location.

We are also seeing more and more companies looking to make it easier for their customers to do business with them using mobile apps. If you're not one of them then remember this – if you have customers then you have mobile customers.

Research analysts Gartner predict that there will be a tidal wave of demand for mobile apps in the years ahead. With that in mind here are some things that you, as a CIO, will have to know about. 

1. In the mobile space tactics are the new strategy

The pace of change in the mobile world is so rapid that it is hard to plan far in advance. New devices and form factors are being constantly released and operating systems are updated at least annually. This market is characterised by very fast innovation and very quick obsolescence.

When it comes to deciding what apps to build and what devices and form factors to support it is best to try and not second-guess what might happen in the future and just deliver something now with the knowledge that it might have to change as the market moves forward. 

2. You cannot mandate the devices your users can use

This is a hard one for many IT departments to accept but let's face it, the stable door has opened and the horse has long since bolted. Mobile phones and tablets are personal devices that each user chooses for their own reasons. Whichever way you look at it you will need to support a range of devices and form factors.

In some instances, B2E apps for example, it may be possible to supply a user with a company-supplied device to enable them to complete certain tasks. I've seen this use-case in hotels and shops where staff are equipped with tablets to enable better customer service.

However, in the wider scope of apps that you will end up building, you will unquestionably have to support multiple devices, multiple operating systems and multiple form factors.

3.   Choose your app development environment carefully

Unsurprisingly, the mobile app development market is still immature and is constantly evolving. It is fair to say that no one mobile application development platform (MADP) vendor dominates the market.

What is clear though is that the major players Apple with iOS, Google with Android and Microsoft with Windows Phone have no vested interest in providing development environments that work across their rivals' platforms. So my advice is - don't look to them as your first choice development platform.

Given that you will have to support multiple devices, multiple operating systems and multiple form factors you need to be looking at a platform that supports a write-once, run everywhere model. Otherwise you will end up spending a fortune supporting multiple native toolsets each with their own different skill set requirements.

A good place to start looking for help in choosing an MADP is Gartner's magic quadrant particularly focusing on the leaders and visionaries quadrants.

4. Should you choose Native, Hybrid or HTML5 is the wrong question

The reason that this is the wrong question is that the choice of deployment model needs to be decided on a case-by-case basis. Each app, or set of apps, will have different requirements that will govern which deployment model works best.

For example, apps that need to work in offline mode may need to be deployed differently to apps that only work in online mode. It's all about the context of how the app will be used and what specific capabilities it needs.

I would advise caution in letting anybody convince you that any one deployment model is the correct choice for your organisation in all situations. The key thing to remember is that the success of a mobile app will very much lie in the users' hands and their experience with the app. The choice of deployment model must ensure that the user has the best experience possible with the app.

In large enterprises it is likely that you will build native, hybrid and HTML5 apps so this further increases the importance of choosing the right development environment. A good development platform should enable you to deploy all types of apps – native, hybrid and HTML5. 

5. Expect to build hundreds, even thousands, of apps

Mobile apps differ from enterprise applications in that each app will only address a single task or a small set of tasks. Each mobile app is typically designed to address one small area of functionality unlike enterprise applications which are designed to cover a whole set of business processes.

Another key differentiator for mobile apps is context i.e. how, when and by whom will the app be used? So for instance a user with a tablet might have a different set of capabilities than a user running the app on a smartphone.

In large enterprises apps will need to be built for internal consumption, B2E apps, as well as external consumption, B2B and B2C apps so these organisations should expect to build hundreds of apps and more.

6. Speed to market will be vital – Be Agile

In the world of mobile, user demand will put increased pressure on your ability to deliver new apps and updated apps quickly. Users are conditioned to receiving regular refreshes from app vendors so they will expect the same from you.

You will no longer be able to totally control the update cycle for your apps. New releases of the mobile operating system will force you to make out-of-cycle changes to your apps. The release of a new or upgraded device will also force you to update your apps.

Never forget that mobile devices are now a fashion business. You will have to support the latest devices or risk alienating your users. The last thing you need is for a new phone to come out, or a new OS version, and for your app to start crashing.

To stay on top of these demands I strongly recommend that you adopt agile processes, or work with an experienced agile partner. You are going to need to adopt a continuous delivery mindset if you are to succeed. 

7. Create your own app store and let third parties build apps for you

When Apple launched their first App Store they couldn't possibly have imagined the sheer volume of apps that would be built for their platform. The creativity and flood of new ideas that emerged took everybody by the surprise.

You could achieve a similar outcome by applying some forward thinking to your mobile plans. Rather than looking to build everything yourself you could create a set of mobile-enabled APIs across your core systems that would allow anybody with secure access to build apps using those APIs.

You could make these APIs available to any of your employees, suppliers, customers or other 3rd parties. Apart from the positive effect this would create it could also offload the burden, and cost, of trying to stay on top of the growing demand for apps that you will undoubtedly face.

Contrary to what many people believe, you don't have to release these apps through commercial app stores. There are many ways of setting up your own enterprise app store which enables you to securely deliver apps to the right audience.

In the financial services world we are already seeing a number of banks do exactly this. Credit Agricole, Deutsche Bank, Capital One and others have created app stores and are successfully engaging third party developers.

Summary

In the mobile world the user is in control. They are the ones who choose how they want to interact with your business. Today, and into the future, they expect to be able to use their mobile devices to carry out their daily tasks.

Your job as CIO is to ensure that your organisation is able to meet these demands and to deliver the apps that will be needed. The 7 points addressed in this paper should help you on your journey. 

TagsMobile & online

Comments: (5)

Ketharaman Swaminathan - GTM360 Marketing Solutions - Pune | 06 December, 2013, 16:37

Great post! I've always scoffed at claims that banks have to seek Apple's permission to be available on iPhones and iPads. I only recently learned about enterprise app stores and agree with you that this is "Contrary to what many people believe"!

Andrew Smith - CloudZync - London | 09 December, 2013, 17:07

Great article.

Points 3 and 4 though I would argue that you should look at a real developer friendly environment that enables your developers to build real managed code using a technology that is not just propriatary to mobile phones. There arent many options when you think like this, nor if you want to get support and a clear upgrade path for your developer environments. As a CTO I have standardised our complete development efforts within the company on C# using Visual Studio. No matter what anyone claims, Visual Studio is simply the best development enviornment available to any developer. Using C# may seem odd if deploying for iOS or Android, but using technologies like Xamarin and MVVMX you can use Visual Studio and C# and build native apps for the big three platforms, Android, iOS and Windows Phone. Thats one managed core code base across all devices. This reduces development cycles, costs and bugs drastically.

I would also state that if you can go down the native app route, then this is most likely to deliver the best experience to your end users. Many try to use HTML 5 or web type technologies (PhoneGap) and have these compiled into apps, but these are not native apps, they run slower, limit the type of experience you can deliver and can limit the functionality you wish to provide.

That being said, the post is spot on, you need to fully understand your app and where you see that app going in the future before committing to a particular implementation method. For many simple apps, HTML 5 may well be the best option, but once you start looking to make things a little more rich to your end user, it soon becomes clear that native will be the best option.

One final point, yes you will end up delivering more apps, but there is no reason why one app cannot do multiple things for you. You need to logically group functions into apps so that you need only develop a few different apps to cover all your needs. One app would be tough, but to split into to many apps is simply not feasible or maintainable, so your technical architects must include feedback from end users and understand what functions can logically be grouped in a single app.

Ketharaman Swaminathan - GTM360 Marketing Solutions - Pune | 10 December, 2013, 08:12 @AndrewS: You've raised a very valid point about number of apps versus richness of each app. We happened to undertake a similar exercise as the one you've recommended in the last line of your comment. Technically, the results were not conclusive. However, from a business point-of-view, they signaled a clear preference for more # of apps with fewer features per app. I've written up our findings in the following blog post on my company blog: SaaS Will Change The Outcome Of The Bloatware Versus Light Apps Debate (hyperlink removed per Finextra Community Rules but this post should come up on top of Google Search results).
Andrew Smith - CloudZync - London | 10 December, 2013, 09:13

I think its all about making sure the app contains logically what it should for the user to use. If they more often than not need to "flip" between apps, then those functions need to be consolidated into a single app.

What Apple has done brilliantly at over the years is getting that type of balance right. Cutting down apps so they serve 80% of the user base fine, while the other 20% need to use an additional app is spot on. All to often we see applications (desktop, web, mobile) that try to cater for all 100% of their users, and in such cases you're spot on, the experience fails and the app becomes too clunky.

I think its a great exercise to run through, too few apps is not good, too many is equally as frustrating. Finding that balance is all down to the functions and features you need to deliver and how you can deliver those in an easy to use slick experience.

Ketharaman Swaminathan - GTM360 Marketing Solutions - Pune | 10 December, 2013, 12:57

Entrepreneur turned VC Mark Suster was spot on when he advised product / engineering managers to design for the novice, configure for the pro. (Of course, the external message needs to be a bit nuanced since the average user might not see her / himself as a novice, but that's another story)

Comment on this story (membership required)
Log in to receive notifications when someone posts a comment

Latest posts from Paul

7 Things Every CIO Should Know About Mobile App Development

04 December 2013  |  5113 views  |  5  |  Recommends 0 TagsMobile & onlineGroupBusiness Knowledge for IT

Why the 10,000 Hour Rule Matters in Software Development

22 November 2012  |  4832 views  |  1  |  Recommends 0 GroupBusiness Knowledge for IT

So You Want Your Software On Time and On Budget?

03 October 2012  |  3859 views  |  2  |  Recommends 0 GroupBusiness Knowledge for IT

Stop Wasting Money On Software You Don't Need!

10 September 2012  |  4094 views  |  3  |  Recommends 0 GroupBusiness Knowledge for IT

7 Reasons Why Software Development Is So Hard

08 August 2012  |  19168 views  |  6  |  Recommends 1 GroupBusiness Knowledge for IT
name

Paul Smyth

job title

CEO

company name

Kynetix Technology Group

member since

2012

location

London

Summary profile See full profile »
CEO at Kynetix. Driving our best practice approach to software development.

Paul's expertise

What Paul reads
Paul writes about

Who is commenting on Paul's posts

Ketharaman Swaminathan
Andrew Smith