Category Archives: Insight

Making big decisions small decisions

Category : Insight

“BIG” decisions stop progress.  They are the decisions which must be thought about, must fall in line with strategy, finances and alliances.  These decisions can limit who you target, how you operate or even how innovative you decide to be.

Some of the big technology trends lately have made a huge impact on the size and scope of what used to be the “BIG” decisions.  This trend has impacted apps, infrastructure and even skill set requirements.  This post is going to dive into a couple of examples of these technologies to show actual examples and how they impact decision making for businesses.

App Development

A “BIG” decision around apps has always been which platform are you going to build your app for.  Are you going to go after the iPhone crowd, the Android crowd?  Do you have the time to build a Windows phone or desktop app?  What devices are your users more likely to use, and will it effect them if only a portion of their social networks have access to your app?  Believe me, hitting only a section of someone’s social circle can spell doom.  The problem here though isn’t just a technology problem, but a people problem as well.  iPhone developers aren’t typically Android developers.  If you’re going to hire in house for this position then you suddenly need to hire, maintain and develop the various skill sets needed to build your apps.  If you hire a consulting firm, then you’re looking to oversee duplicated effort across the various devices your app is being built for.

The good news is that there’s technologies which can help.  Cordova is an example of a technology where your website developer can use their skills to develop an app on Android, iPhone, Kindle, Windows Phone, Windows Desktop, etc.  The tools used are html, css and javascript, which are skill sets typically needed to build and maintain modern websites.  While there is a bit of a learning curve around navigating operating systems to build the app, the benefits of a single set of code for all apps greatly outweigh the learning curve.

Two notes building on this technology.  While you can write a single app for all devices, it is important that you build your apps to be responsive to the type of device its being viewed on.  The expected experience for an Android user is different than the experience the iPhone user will expect.  While these variations are minor, a mature app will take these into account.  The second note is that if you’re web developer is on a windows system, it is pretty cheap to get a cloud based Mac to build your iPhone app on.  I personally use MacInCloud.

AWS Cloudformation

Building out your data center has always been a BIG investment, then the cloud came along and the immediate material investment decreased.  You still end up requiring people who understand how to configure the cloud environment. As part of that your decision as to where you host your infrastructure and if you’re going to setup a site for production and for development purposes.  This meant lots of manual work which could lead to slight variations which could have big impacts.  On top of all of this you have to maintain a staff of network administrators to maintain your cloud which is a separate skill sets as those of your developers.

Now enters a set of cloud tools which turn these big decisions into small decisions.  AWS Cloudformation turns your infrastructure into a template which can be deployed at will, with very little knowledge as to how to configure the details needed after the Cloudformation has been built.  Suddenly, if you decide to start hosting your data on the West Coast of the US, then learn that the majority of your users are on the east coast, with a click of a button you can deploy what you have on the west coast to the east coast.  If you decide that you want three different instances of your site, such as a partner site to test out changes with your partner companies before you go live, your developers should be able to click a few buttons and get one setup which mirrors your production configuration.  If a disaster happens, getting your business up and running becomes clicking a few buttons, if its not just automatic.

What this means to your business is that you are going to spend some time and money up front, but you gain flexibility in decision making from this investment. Cloudformation is just one example, but other cloud providers have comparable options (such as Azure Resource Manager).  In all cases you position what use to take manual effort and weeks (if not months) of work into a push button solution.

One note on this technology.  I would personally recommend spending some money up front to get a Solutions Architect to put together your initial Cloudformation, or comparable template.  This individual will make sure you’re setup for success and placed in a position where you have more options to do what will make you successful.  With current trends towards developers having more responsibilities around designing and supporting their application infrastructure, your developers will more than likely pick up extending and maintaining your Cloudformation templates.

Conclusion

Some of the latest technologies are making those “BIG” decisions into small decisions, which can at a blink of an eye be altered.  This changes the game when it comes to taking risks and innovating, making the former easier to tolerate failure of a single assumption and allows more effective adaptation.


Bitnami