Category Archives: Business

On Top of Your Game

On Top Of Your Game

Sharpen The Saw

I love the idea of being able to take some philosophical ideal and somehow apply it to my world. If it can be used to help solve real issues, remove blockers and/or present opportunities for continual improvement, then that must be a good thing. Most agile practitioners or enthusiasts have heard of the concept of Kaizen. It’s a principle from Japanese philosophy that says something like, small changes made daily add up to life changing experiences. The corollaries are many with some being stated by famous personalities over the years. One of my favourites is by Albert Einstein when he postulated; “compounding is the greatest mathematical discovery of all time”.

Read More

Of course he’s right. Small changes really do add up, and they really can bring large benefits over time. This whole concept got me thinking, about how I might try to apply the same thing to a typical agile delivery model. What improvements might I look for that could be applied daily and that would continually improve the application delivery lifecycle? Where could I find small adjustments that are easy to understand, even easier to implement and yet  still yield measurable results over time?

There are so many elements to consider. Some are process orientated, some related to tools and yet others that were clearly about people? When I started to get into it, I realised that there wasn’t a simple answer and that like Kaizen itself, I would have to take things in small, discrete quantities, each addressing the various elements of the whole. Delivering working software would be essential to the whole thing obviously, but what are the dependencies and how can they be manipulated for the better?

In the agile delivery world, understandably there are many, many tools and processes across the full stack of any given platform, be they open source or proprietary. I decided that one way forward might be to go back to the agile manifesto and look at the 4 core values. In other words, to examine: individuals and interactions over processes and tools; working software over comprehensive documentation; customer collaboration over contract negotiation and responding to change over following a plan.

Would it be relatively straightforward to address each one with a Kaizen mind set? I wasn’t sure, but I thought that I should try to work through it by a process of inductive reasoning. My conclusions wouldn’t be guaranteed, but perhaps more common sense-based. There wouldn’t be a step-by-step guide to agile delivery heaven, but if I realised that if I could manage to change just one, small thing daily, then perhaps I might find myself on the road to agile, cumulative righteousness.

Steven Covey phrases it well when he talks about “sharpening the saw”, [1] . In his book he asks us to apply the habit to ourselves. In doing so, I think that we cannot but help apply it to our lives and our work. To keep the saw sharp is to be at the top of your game, to deliver well using the tools at hand and a winning mind set. As the New Zealand All Blacks say, “ritualise to actualise” [2].

In this blog, I will address the agile manifesto with a ‘Kaizen’/’sharpen the saw’, mind set. I will look at tools and processes, and the importance of working software. I will examine why people and interactions are at the heart of every successful delivery model and why being able to adapt with minimal fuss is still important for businesses today.

Kaizen and the Agile Manifesto

In this section I’ll aim to develop the concepts of ‘Kaizen’ and ‘sharpening the saw’ and logically extend them to the agile manifesto.

Value 1 – Individuals and interactions over Processes and Tools
In my mind and in practice, individuals and interactions are interweaved. Therefore to ‘sharpen the saw’, we must look to the core of each to properly understand what exactly can be improved. We should work to build upon the following each and every day: trust (individuals and teams); value (your relationships); authenticity (be genuine in your dealings); flexibility (to maintain a healthy work life balance); development (encouraged, recognised and rewarded) and integrity (doing the stuff you said you would do).

Processes and Tools are extremely important but they alone are pretty useless without people and interactions to wield them.

Value 2 – Working Software over Comprehensive Documentation
Ensure that the spirit of the team captures the idea of delighting customers each iteration by continually delivering working software and something of value, no matter how small. It’s hard to over-estimate the meaning of this and in my mind extends back to the individuals and interactions part of Value 1. By delivering working code, as an agile team, we accomplish many valuable achievements. We increase team morale, we build trust with our customers and ourselves. We keep our business alive by shipping products that earn revenue. Delivering working software should be a value that is at the heart of every team and we would do well do remind ourselves of that on a regular basis. Working code, means revenue!

Comprehensive documentation can be extremely important, but if we have no working software, it’s pretty pointless. Documentation should definitely not be forgotten and agile is certainly not an excuse to develop code without it.

Value 3 – Customer Collaboration over Contract Negotiation
Much pain has come from awkward or badly negotiated contracts and much of this could have been ameliorated by focusing at least equally on effective customer collaboration. Build and maintain good relationships with customers is at least half the battle of delivering a great product. Like Value 2, Value 3 also harks back to Value 1, individuals and interactions. It’s much easier and productive to collaborate than to negotiate.

Value 4 – Responding to Change over Following a Plan
Plan for change is the best way to think about this. Within teams it is a really good idea to help them understand that adapting to change quickly and with minimal fuss is not only great for efficient delivery, but also for team morale. A happy team is a productive team, is a responsive team.

I am also a firm believer in the tenet that an organisation will eventually or inevitable move into a phase of decline, unless there is a concerted effort to prepare for change; EVEN when sitting on top of a current and very successful peak.

Blockchain For Dummies

Blockchain for Dummies

There has been quite a lot of chatter on the net in the last 12 to 18 months about blockchain. I’ll attempt to demystify some of the concepts in this blog as well as outline some potential applications. Blockchain for dummies does what it says on the tin and presents an introductory, lightweight guide, hopefully whetting your appetite of an often misunderstood technology.

Read More

What is Blockchain?
Wikipedia’s definition of a blockchain is given as… “A blockchain, originally, block chain is a distributed database that maintains a continuously-growing list of data records secured from tampering and revision. It consists of data structure blocks—which hold exclusively data in initial blockchain implementations and both data and programs in some more recent implementations—with each block holding batches of individual transactions and the results of any blockchain executables. Each block contains a timestamp and a link to a previous block.” [1]

So, what does this mean in ‘dummies’ terms? Basically, (and this is my definition in as much of a nutshell as I can make it); a blockchain is a mechanism that allows businesses that are separated across a network, to instantaneously complete and verify transactions without having to refer to a central overseeing authority. It really doesn’t sound like a big deal, but as more and more applications built on blockchain technology emerge, it appears to be set to revolutionise the internet (again).

Delving into the weeds a little more, so that we can get a grasp of the underlying technology,  we can say that; blockchain is a data structure which enables a digital record of commercial accounts (ledger), to be created and shared across a number of computers (usually located some distance apart), and connected via a network. In semi-tech parlance this is known as distributed computing. So, basically, we are saying that a ledger is created and shared across a network simultaneously to a number of partners. This is more or less the basic concept. Remember this is a ‘Blockchain for Dummies’ guide, and whilst there are various flavours of blockchain implementations, they won’t be covered here. One question remains then, in this brief introduction. If it is such a simple concept, and clearly devoid of rocket science, what exactly is all the noise about?

The key word of course is ‘distributed’, or to put it another way, decentralised. Looking at the vast majority of technology-enabled businesses these days, the status quo suggests that many platforms rely on databases that are centralised with a single point of failure. Yes, of course we have many measures in place to prevent the loss or theft of data, but each database regardless of whether it is an original, a copy or backup or a cloud-based replica is in itself a centralised container which is potentially vulnerable to failure, tampering, theft etc.

The big advantage that blockchain technology brings to the table is a means to ensure that we have freedom from 3rd parties and complete control over who has access to our data. We see that the effect of decentralisation is a powerful one in that, the reduction in the use of intermediaries in record keeping has increased security and control. In order to continue the blockchain each block must be signed and verified by multiple verification agents who must also then agree upon the transaction time stamp, which is indelible. The possibility of forgery has gargantuan odds stacked against it since the sheer amount of data being processed simultaneously creates an obstacle that is nigh on impossible to overcome.

Who Invented it?
From what I can tell, the true identity of the inventor(s) of blockchain has not been credited with the idea and its most famous (to date) product, the bitcoin. Some say this is because of the far reaching consequences that blockchain could deliver and hence endanger the life of the inventor(s). It is generally recognised that a person or group of people known as Satoshi Nakamoto were the fist to publish a paper describing bitcoin. [2] Whatever the case, most media articles seem to agree that it is a substantial opportunity to change the way we do business across the internet.

How is it used Today?
Almost everyday now, we see newly emerging ideas and applications of the blockchain model. At the time of writing a very recent article in the media from a government source states – “blockchain technology is going to become more important if the UK is to be fully automated in the future, including delivery fulfillment and increased proliferation of the internet of things”. [3]

It’s difficult to see just how far reaching blockchain will be, but for sure, it will at least initially be inextricably tied-up with a number of financial, contractual and payments related sectors, including the obvious one, currency (bitcoin and others). Blockchain can be used to ensure that data is verifiable. Take a look at ‘Proof of Existence‘ to see how this simple application works for example.

Onename is a web app built on blockchain that allows a unique and verifiable identity to be registered for purposes such as digitally signing documents, safely and securely signing into websites and apps etc. Here is mine. Others such as real estate are relatively new to blockchain, but will soon leverage some of its unique application selling points such as smart contracts.

The financial sector is the one making the most noise since it may be set to reap the initial rewards. The Financial Times recently reported – “A group of seven banks including Santander, CIBC and UniCredit is claiming a breakthrough, ranking among the first financial institutions in the world to move real money across borders using blockchain-based technology.” [4] Forbes are posing the question “Will Blockchain Become The Internet Of Finance?” [5]  and have suggested that as much as $1 billion has already been invested in the technology since its inception.

How will it be used Tomorrow?
Looking to the future, a number of other areas have been identified as possible applications. Indeed startups have already begun to exploit opportunities in car rental, home internet ready appliances, reduction in cyber risk, social welfare, stock market prediction, salary administration,  and others. The CEO and founder of Everledger, was quoted in ‘Wired’ as saying “We can apply this technology to solve very big problems: ivory poaching, blood diamonds, all these big ’blood problems’ that are helping cartels, terrorists and criminals”. [6] This is amazing if there really are real-world applications that not just disrupt industries, but change lives at the granular level.

What’s clear is that many of the applications are under-developed. Some are just ideas, others have attracted millions in start-up funding. The next few years will really see the technology develop and experiment. Blockchain is a game changer and it’s here to stay. Because of its very nature, ‘certainty-as-a-service’, then it has to be a power for the good. How it will affect me personally? I am not yet sure, but if it provides guarantees, increases transparency and evolves security along the way, it’s definitely worth investigating further.

Rise of the Drones

Rise of the Drones

In one of my recent LinkedIn posts, I dropped a link to another post about drones. The suggestion in that article was that in a very short space of time we have moved (in non-military applications) from drones as expensive toys, to drones with some serious capability and the prospect of having some innovative applications to modern day problems.

Read More

I’m certainly one of the people who believe that we are currently standing at the precipice of a major technical revolution in this area. The world of drones has the potential to open up innumerable possibilities and real world applications. Media coverage would suggest startups are taking full advantage since drones are now easily accessible, affordable, relatively simple to fly and have the capability to carry meaningful payloads due to advancements in tech miniaturisation. There are now even books available on the subject.

The FAA estimates that more than one million people received drones as Xmas presents this year, and one can only assume that this figure is set to rise next Xmas as drone popularity increases and hobbyists as well as entrepreneurs start investigating the technologies required to power, fly and guide drones. Additionally, the FAA now requires that all drone owners register their aircraft before flying them in US airspace. For sure, this approach will be adopted here in the UK as more UAV flyers take to the air and risk colliding with other aircraft in restricted airspace.

So, how did it all come about, why drones and why now? I have alluded to it above (tech miniaturisation). Simply, several incremental advancements  in technology, mostly focused on either cost reduction, weight reduction (often both), or an increase in access to a particular component have resulted in the ability to produce decent performing drones, at a price that won’t melt the credit card.

A great example of this kind of research can be seen at The University of Glasgow where an ex-colleague of mine (Dr David Anderson) who supervises the Micro Air Systems Technology (MAST) laboratory has been using 3-D printing to design and build miniature UAVs for “research and investigation of small-scale autonomous vehicles and their associated technologies”.

It’s also no surprise that smart phone tech has played its part. Low cost accelerometers and gyroscopes been available for years, both of which are necessary for  stabilisation, attitude and referencing systems. Satellite technology too, has improved. The Russian made Global Navigation Satellite System (GLONASS) is system that works alongside Global Positioning System (GPS) to provide position information to compatible devices.

With an additional 24 satellites to utilize, GLONASS compatible receivers can acquire satellites up to 20% faster than devices that rely on GPS alone. There is no coincidence that the world’s market leader in low-cost, civilian drone manufacturer, DJI has GLONASS capability in it’s most popular drones.

What are the applications?
You don’t have to look too far to see that there is simply a plethora of potential applications. National Geographic has a great article on 5 surprising uses of drones: hurricane hunting, 3-D mapping, wildlife protection, farming and search and rescue.

Of course Amazon have been talking about drone delivery for a while now and in Mumbai, Francesco’s Pizzeria has successfully delivered a pizza using a drone. Techworld lists a further 16 uses in our day-to-day lives from mail delivery, through oil platform inspection to construction, media and government. It’s difficult to see where drones couldn’t play a useful part to some degree in our lives.

What’s next?
An exponential-type rise in production and adoption of drones and associated technology I think is a high probability. A whole new infrastructure will have to be put in place to facilitate drone usage in industry. Drone ports could become commonplace. Houses may have drone landing pads and/or capture and secure systems built onto the rooftops. Parents might hire drone firms to keep watch on their kids (or spouses) from a safe and invisible distance. Undoubtedly UK air law will have to set regulations and the CCA already offers a UAV licence which is currently required before drones can be used commercially.

Conferences such as Interdrone are springing up all over the place. There is literally a buzz in the air in tech communities and for the first time in a few years there is again something to be super excited about in civilian aerospace.

Forums and sub-reddits, already have thousands of enthusiastic contributors. Instead of build-your-own PC, it’s now build-your-own drone. Geeks are now digging into flight controllers, rotor configurations and writing apps for real-world vehicles and real-life applications. Drone Meetups are showcasing new models and awesome flying skills. Hopefully a new generation of post-millenials, tech-kids will grow up with aspirations of flight and aerospace engineering. It would be great to see UK businesses at the forefront of this new mini-revolution.

The rise of the drones is upon us. Most likely they won’t make the world any safer or more dangerous; but they might just change the rules of the game.

Darwinism & Digital Transformation – Adapt or Die

Darwinism and the Digital Transformation Age

The Theory
The so-called ‘theory’ of evolution as we all know is not a theory at all, but rather a scientific explanation of our entire existence which is supported by a wealth of evidence solidly rooted in experimental rigour provided by a wide variety of agencies, including paleontology, geology, genetics and developmental biology.

We now unambiguously understand that; “natural selection is the gradual process by which biological traits become either more or less common in a population as a function of the effect of inherited traits on the differential reproductive success of organisms interacting with their environment. It is a key mechanism of evolution.” [1]

Recently, I was thinking about the whole natural selection thing and how this manifests itself in a multitude of adaptations, evolved over eons. Given time and the right conditions, almost any feature could become advantageous and ultimately prevalent in an ecosystem or society. The thing with natural selection is that it happens imperceptibly slowly. In evolutionary terms, time is not just of the essence, it is the essence or medium through which change travels, rarely in a direct or pre-determined fashion and not always for the good. It just is.

Read More

Arguably, at the heart of it all is the fact that all organisms exhibit some sort of variation, possibly created through a random mutation or maybe through an adaptation to change. This individual trait could then be subject to environmental conditions which in turn could enhance or diminish the advantage leading to an increase or decrease in the natural populace depending on their ability to exploit that advantage. It’s interesting to note that mutations can even be deliberately induced in order to adapt to a rapidly changing environment.

You may have observed that some important corollaries of the previous paragraph could be;
1. There is chance of a random mutation,
2. Mutations can be forced,
3. Mutations can occur as a result of interaction with the environment.

I have deliberately reiterated this point to help develop the next piece of narrative, i.e. how can we link a well understood area of scientific study (Darwinism) with a business’s desire and ability to digitally transform.

OK, let’s try this on for size.

1. Take the example where an individual, say some bright spark takes up a position of responsibility within an equally bright spark-type company. A chance encounter one might speculate. I am stating that this is analogous to a chance mutation in nature, at least from the point of view of the business.

2. Take another example where the company is well aware of its current operating environment and has a desire to modify its behaviour to its advantage. This, second analogy is aligned with the forced mutation concept. For whatever reason some internal driving force is pushing for change and ultimately a better position in the food chain, or business sector.

3. The last examples is where change is forced upon an entity by external, non-controllable factors. In nature this could be climate change, or an unnaturally high increase in predation etc. Whatever the cause, the only solution is to adapt, improvise and overcome; or face disaster.

Sound familiar? Well maybe. It guess you could also say that sounds a little far-fetched, but I’m still pretty certain I can build this out into something viable. How so? Well, there are steps involved in digital transformation, just as there are steps to evolve. Equally, there are typically a set of actors and processes involved in digital transformation, all of which are pretty obvious, when you think about it.

The Team
1. The visionaries (actors), i.e. the ones with the idea behind the change and often the instigators of change. We can see the visionary as coming from within the organisation, or someone new joining the organisation to effect change. The response is the same in that the organisation is on the receiving end of a forced mutation.

2. The ‘not so visionaries’ (reactors), i.e. the ones who react (usually too late) to some change forced upon them by external factors, such as market, employment or economic forces. From a digital transformation point-of-view these people are generally ineffective at best and can often be obstructers to change.

3. The changers, i.e. the ones who will implement the change, the adapters, the improvisers and the people who overcome difficulty in the face of the forced transformation, regardless of whether it has been decreed by a visionary or forced by circumstance. This is the change team and we will hear more about them later, but essentially they are the people involved with change usually adopt some method, i.e. a process by which change will come about to the ultimate benefit of the organisation. In Darwinian terms this is something akin to natural selection.

The Process
Generally in digital transformation there is the  benefit of being able to predetermine a roadmap with ideas, processes, tools and data. This helps to guide and smooth the change management process or natural selection in Darwinian terms. Fortunately, such changes are not completely left to the laws of nature, but are subject to a degree of intelligence and planning. It could be argued of course that natural selection is also guided by intelligent forces, but that’s another story. Hopefully the analogy is somewhat clear by now.

Change comes in many forms and is usually a force for the better although it is rarely welcomed. Perhaps it is time for you to think about where you are on the road to digital transformation and how this has come about. Are you truly ready for the digital age and have you got the vision and process to see it through?

Remote Working: Office Not Required

Remote Working in Modern Times

One of the workplace topics that I have seen hotly debated on occasion, is the issue of remote working. Can it truly work? Are employees genuinely motivated? How can quality, working relationships be established and maintained? And so on. I have been involved with remote working and managing remote teams for a number of years, but I was still intrigued when I received a copy of ‘Remote: Office Not Required‘, written by 37 signals co-founders Jason Fried and David Heinemeier Hansson. I knew of the company and their products, and that they have a very successful business run entirely by remote workers.

Read More

I have long since finished the book and have only just now gotten around to blogging about the concept of the remote worker. It is not my intention to review the book here, suffice to say it is an exceptionally easy read and has a fluidity of prose rarely associated with tech-related books.

It currently has four stars on Amazon, and what could have been a potentially mundane subject to write about, is actually a well-crafted, enlightening and sometimes an amusing read.

So what’s the big deal? Why does the concept of remote working elicit widely differing responses and why do some people say they could never remote work whilst others are highly successful, mini-managers? The reason is really simple, it’s all a matter of trust. You have to trust your colleagues and trust yourself to fulfil your end of the deal.

What do I mean? Simply, you have to trust that you have the drive, motivation, desire and ability to be able to work away from the rest of your team, not on your own, but not co-located either. I really believe it’s that simple. Colleagues should be assured that you are the type of person that given a lull in the general day-to-day activities, will look for something to do, an improvement in process, finishing off the operations manual from 2 projects ago, or simply chasing down customer responses to emails.

Still, there is one area where I think remote working is lacking. Ironically enough it’s the tech needed for a typical remote team operation. It’s definitely not up-to-scratch in certain areas, but not to the point where the experience is unpleasant’. It’s just clear to me that it can be improved upon. Although tools such as Skype, TeamViewer and Join.me have improved by leaps-and-bounds over the last few years, I still find that they are easily affected by bandwidth/signal/wi-fi issues and in some cases lack a clear, intuitive interface.

With 4G availability and coverage ever expanding, and devices offering ever more facilities through powerful, rich apps this should be the impetus telecoms companies need to provide a true internet society with always on, always connected and always secure technology. Fast, secure, intuitive apps are key components to happy, remote workers.

37 Signals’ secret to success is pretty evident from the manner in which they openly recruited remote developers from all over the globe. By ensuring that each member of the team had appropriate tools and a solid service provider, there are few, if any complaints in the book that the lack of tools and/or suitable internet connection hindered their progress in any way. It’s also clear in the book that the interview process is rigorous and aimed at weeding out candidates that don’t suit the remote worker profile they have studiously crafted over the lifetime of their business.

And the secret for you as a remote worker? This excellent article by Zapier outlines a number of traits that remote workers need to possess in order for them to be successful and happy. They include more obvious things like being trustworthy and having an ability to communicate effectively via the written word, but also, and I think, just as important is having a local support system. This means of course having a life outside of work where interaction with people occurs on a level different to Skype and TeamViewer conversations. Clearly all digital work does indeed make Jack a dull boy.

Proverbs aside, it is a vital point and one not to be taken lightly if you are thinking about entering the remote working arena. Having a good network of friends and family is really necessary to help fulfill the void potentially created by the remote working environment.

I have found that working remotely can be, and is, just as rewarding as going to the office. Having successfully managed a number of remote teams I can say with a sense of achievement and satisfaction that being co-located isn’t that important, but having the right attitude is.

Moving to the Cloud – Part 2 of 3

Part Two – Hybrid Cloud Benefits

In Part 1, I presented a brief definition of the hybrid cloud and hinted at why it could be a useful instrument for enterprises wishing to move their agile Dev and Test environments to a public cloud, but still retain their Prod systems in a local, private cloud. In Part 2, I will consider a number of key areas where substantial benefit can be leveraged using current cloud technologies and why this should be  considered as a serious move towards a more efficient and secure development strategy. That said, like any IT initiative, cloud computing is not without risks and they too will be considered, leaving the reader to weigh-up the options.

Read More

It is useful to bear in mind from Part 1 that we are primarily considering cloud providers that offer IAAS solutions, consequently entire environments can be provisioned and tested (via automation) in minutes rather than days or hours and that in itself is massive boon. This concept alludes to the ‘end goal’ of this type of cloud-based setup, i.e. the design of infrastructures with automation in mind and not just the introduction of automation techniques to current processes, but that’s a topic for another discussion.

There are obvious economic benefits to be had from using public clouds since Dev, and especially Test environments (in the cloud) do not necessarily need to be provisioned and available 24/7 as they normally are with on-premise environments. From a testing point-of-view, many enterprises have a monthly release cycle for example where the Test environment is much more demand compared to other times of the month. In this case it is possible to envisage a scenario where the Test environment is only instantiated when required and can lie dormant at other times.

The phrase ‘business agility’ has been applied to the way that a hybrid cloud can offer the controls of a private cloud whilst at the same time providing scalability via the public cloud and this is also a prime benefit. A relatively new term in this arena is ‘cloud bursting’. Offered by public clouds this refers to short but highly intensive peaks of activity that are representative of cyclical trends in businesses that see periodic rises and falls in demands for their services. For those business that anticipate this type and intensity of activity, this kind of service can be invaluable.

For the troops on the ground, an HP white paper describes clear benefits to developers and testers; “Cloud models are well suited to addressing developer and tester requirements today. They allow for quick and inexpensive stand-up and teardown of complex development and testing environments. They put hardware resources to work for the development and testing phases that can be repurposed once a project is complete”. [1]

Once properly provisioned and integrated, cloud infrastructures will usually offer faster time-to-market and increased productivity through continuous delivery and test automation, however these particular benefits may take a little time to manifest themselves since implementing full-scale Dev and Test environments with associated IDE and build integrations, and an automated test facility, is a relatively complex exercise requiring a range of skills from code development to domain admin, to QA and release automation.

Clearly to achieve and deliver this kind of flexibility a substantial tool set is required. Additionally, developers need to work harmoniously with operations (admin) in a partnership that has become known as DevOps, and this is what I meant by stating in Part 1 that a new mindset was required. The ultimate goal of adopting cloud based Dev and Test environments is continuous delivery through application release automation. This kind of agile approach is seen as a pipe dream by many enterprises and I believe the current perception is that too many barriers, both physical and cerebral exist to adopting the hybrid cloud model for effective product delivery.

These barriers include the obvious candidates, such as security and privacy in the cloud leading to a potential increase in vulnerability. This can be addressed by commissioning a private cloud for Prod systems and ensuring that any data and code in public clouds is not confidential nor does it compromise the company in any way. Another drawback that is often raised is vendor ‘lock-in’ and this simply relates to the terms and conditions of the cloud provider. With so many companies now offering cloud services, I personally think that ‘shopping around’ can mitigate this risk completely and can actually be a seen as a positive factor instead. Switching between cloud providers is becoming less and less of a problem and this in turn offers up a competitive advantage to the cloud consumer as they move their business to take advantage of lower costs.

I do accept that technical difficulties and associated downtime could form a barrier, but this can be said about any new, large tech venture. Since a large tool set is required and there will certainly be a lead time for the newly created DevOps team to get up to speed with continuous integration, test and release automation. Since applications are running in remote VMs (public cloud), there is an argument that businesses have less control over their environments. This may be true in some cases but again proper research should lead to a partnership where effective control can be established by the cloud consumer using appropriate tools that effectively leverage what the vendor has on offer.

I would like to think that in Part 2 of this three-part blog article I have managed to convey that in most cases the benefits of migrating Dev and Test to the cloud outweigh the drawbacks. In Part 3, I will look at how Dev and Test could be implemented at a fairly high level. There is a plethora of tools available to choose from, free open source, bespoke, bleeding edge whatever route you choose there is almost certainly a tool for the purpose. Integrating them could prove challenging, but that’s part of the fun, right?

Moving to the Cloud – Part 1 of 3

Part One – Defining the Hybrid Cloud

Earlier this year when I blogged ‘ten trends to influence IT in the next five years‘, one of the trends I mentioned has been written about on quite a few occasions in the last few months in various web articles and white papers. That particular trend is the use of the ‘Hybrid Cloud’ and it seems to be increasingly catching the attention of the tech evangelists who are keen to spread the word and radicalise the non-believers as I discovered in a recent Cloudshare webinar.

Read More

A little more research on the topic led me to discover that there is a sort of reluctance to adopt cloud (development) initiatives in general. Like most people I had just assumed that cloud-based architectures were creating a new technology storm and in a few years almost everything would be built, developed, hosted and run in a multitude of geographical locations by thousands of VM instances, created and destroyed in seconds. It appears this may not be the case and I find that seven months later, (that’s a long time in IT), the transition has simply not happened, or to be more precise, not at the ‘rate’ expected by cloud aficionados who have been talking about a grandiose move of technology in that direction for the last few years.

My gut feeling is that in general, cloud computing in the tech community is still not a well understood concept, at least from a ‘development tool’, point-of-view and this has logically hindered the move away from traditional development to cloud-centric infrastructures and environments. I have spent some time reading about the pros and cons of moving development to a cloud-based solution and whilst I am a avid supporter of the concept, the best approach for an organisation isn’t always straightforward and will almost certainly involve one of the toughest challenges that can be faced in IT, a cultural change in the workplace and a paradigm shift in the mindset of the developers.

To make a move to the cloud for development and test purposes, people have to think about doing things in a different way. There are other potential barriers, but this is likely to be the one that poses the greatest threat to starting out on the road to eventual development, deployment and testing in the cloud. In general Gartner defines a hybrid cloud service as a cloud computing service that is composed of some combination of private, public and community cloud services, from different service providers [1]. Whilst many of the large public cloud service providers also provide a private cloud facility, I expect that many organisations still prefer to provide their own private cloud implementation since this appears to give a higher degree of security, or at the very least facilitates the storage of data in a local datacentre.

There are quite a few benefits of a hybrid cloud but the obvious one is that it enables the owner take advantage of the larger resources that a public cloud might offer, but still store and maintain private data in a manner where it should be safe from malicious attack and/or theft. Of course there are some organisations whose entire business could exist in a public cloud, but based on my experience this is still not a concept that businesses are truly happy with and certainly within a lot of enterprise or government organisations there is a preference to at least have their production system hosted in a private cloud.

In summary, my concept of a hybrid cloud is one where an organisation has developed its own private cloud for their production (Prod) system and are happy to use the services of a public cloud to develop, host and run their development (Dev) and test (Test) environments. Really, what I am taking about here is moving each of these infrastructures to a cloud environment and that will form the basis of Part 3 of this blog. Part 2 coming up next, will further elaborate on the widely accepted benefits and introduce some of the negative aspects perceived with cloud computing.

Doing it the SaaS Way – Coupa

SaaS- Old Dogs and New Tricks

They say you can’t teach an old dog new tricks, but I’d beg to differ. I have been involved with IT in one way or another, pretty much all of my working life, from initially learning Fortran during my first degree to utilising that skill during my career in research; building, maintaining and modifying helicopter and tilt-rotor aircraft mathematical models. As an Software/Aerospace Engineer I progressed to VB6 and VB.NET, modelling airborne missiles and their flyout trajectories before moving to consultancy, the betting industry, more .NET and agile methodologies and principles. I would consider myself a bit of a technology evangelist and lover of gadgets, so when the opportunity arose to get involved within a new area of our business and its associated tech, I was happy to say yes.  The business is eProcurement and the technology is Coupa, as briefly mentioned in my previous post.

Benefits
So what is it, and what does it do?  Well, in a nutshell, it is a spend management tool that “manages indirect purchases and expenses in real-time” [1].  Coupa is a multi-tenant, Software as a Service (SaaS) tool and therefore comes with all of the benefits that this architecture system has to offer such as;
1. Comparatively fast implementation – Coupa requires only configuration, no development is required.
2. Increased collaboration – all relevant departments within an organisation using Coupa have access to the same data.
3. Cost – fairly obvious one, but important. No need for hardware, licensed development software and developers etc., just a Coupa subscription fee.
4. Potential for increased agility – Coupa enables a company to have the information it needs to respond more quickly to a changing market situation.
5. Reporting – Coupa has the ability to instantly report across all areas of the procurement business as well as permit a company’s own metrics to be compared to the world-wide average.
6. Immediate upgrades and updates – Companies benefit from bug-fixes and new features straight away without having to wait for a new install from the IT department.  Coupa provides four upgrades per year and users have to subscribe to at least every other one.
7. Security – SaaS is renowned for being extremely secure and Coupa is no different.
8. Low maintenance – There is little or no maintenance required for an SaaS solution, again this applies to Coupa. There will be support tasks to ensure that all relevant base-data is kept up-to-date, but that is outsider of the platform itself.

Enablement
It’s obvious to see that SaaS offers many benefits for the ‘right’ sort of business and during my first experience assisting with a Coupa implementation that is certainly the case.  Scalability is of course another of the big benefits that at lot of companies may not see straight away, but if necessary Coupa have the ability to scale-up and down with the business needs and requirements, which in-turn respond to market trends.  Coupa has a number of different packages that can be purchased on top of vanilla platform, including eProcurement (eProc), Invoicing, Contracts, Expenses and Spend Optimizer, so it offers plenty in the way of options and with the new Release 8 just out the door, a whole new set of features are ready for the end user.

The basic process of enabling Coupa is relatively straightforward and involves capturing information essential to configuring the system, and then uploading other relevant data via CSV files. More complex situations arise out of identifying and integrating other related systems to ensure that the purchase-to-pay (P2P) process remains intact within the business. For those of you relatively new to the P2P arena, the ever-faithful Wikipedia provides the following short description; “Purchase-to-pay systems automate the full purchase-to-payment process, connecting procurement and invoicing operations through an intertwined business flow that automates the process from identification of a need, planning and budgeting, through to procurement and payment”, [2] .

One of the cool aspects of the implementation process itself is that it is run in an agile manner so the company that is being ‘enabled’ is involved from the outset taking part in workshops and ‘train-the-trainer’ sessions, with each iteration enabling a new part of the business and/or refining those parts already using the tool. I found this approach particularly refreshing, and after a few one-day workshops in which key business decisions and configuration options were decided upon, the remaining part of the implementation focused on working alongside the business on-site or remotely to ensure that the system administrators understood the system and were competent configuring it going forward.

So, what can I say, but I am generally a big fan of the current SaaS model and the way it can effectively deliver tools to manage a wide variety of business needs and requirements. It’s not actually a new concept and the origins of ‘hosted solutions’ go back to the sixties, so it’s no surprising to see that the UK’s most popular SaaS providers are growing in popularity.