Thursday 19 December 2013

To SaaS or not to SaaS?


It seems that every now and then new buzzwords pop up, whether in newspapers and magazines (yes, they still exist), the Internet and everyday conversations with people. Today, slightly irritated by some of the commercials I have been seeing in the media, I wanted to talk about Software as a Service, or SaaS.

When we are looking at the history of IT in organizations, it seems that our track record is somewhat mitigated. Failed implementations, delayed deliveries, budget overruns are only but a few examples of issues that C-level people think of when they hear about a “great new tech”. The very recent example of the major hiccups of the U.S. healthcare web platform springs to mind as I write this. All this happens despite the large sums of money thrown at these systems and the fact that they are developed by vendors who are supposedly highly competent. Heck, if I were a CIO, I would worry too when I hear about a “great new tech”…
 
It is with these images in mind that I want to talk about SaaS, what it can give, and what issues it may also trigger. The great promise of SaaS, like many pieces of software, is that it allows you to focus on the business rather than the technology. By moving some of the technological burden outside of your organization, you effectively free up some resources to do other, more interesting things (and by that I mean things that bring in $$$).

First, the idea behind SaaS is not really new. Basically, one pays to consume a service, except the service in this case is software. You may pay for it on a monthly basis, on a per transaction basis, or a combination of both. Either way, the promise of SaaS lies in the fact that the vendor takes care of the burden of maintaining the hardware and software infrastructure for you. In most cases, you will simply access the software via a browser interface.
 
In theory, this is a win-win, especially in models where pricing is proportional to usage. Use it more, pay more. Use it less, pay less. Doesn’t that sound great if you run a seasonal business? In the “old days”, the fancy equipment would sit largely idle most of the year while it would still require maintenance, upgrades, and incur other related costs (e.g., depreciation of asset).
 
But perhaps there is more to it than that… And I would argue that going for SaaS or switching some software needs to SaaS simply for the sake of money is probably not a good idea. If we look at IT as something that can potentially generate value for a business, it can take on a strategic value of its own. Instead, we often look at IT as a cost center that we want to keep under control. This is arguably a recipe for disappointment, unless your strategy is to compete exclusively on costs. And even then, Wal-Mart may compete on costs but its investments in IT are pretty impressive.
 
So the argument here is to look beyond the money you can save and look into the value you can create with SaaS. Perhaps this means that costs will not be lower with SaaS. However you may gain a competitive advantage. Take the example of an ERP (enterprise resource planning, e.g., SAP). ERPs are great but they are heavy and often effectively create templates for “best practices” that end up being followed by organizations implementing them. Bottom line, the best practice becomes the baseline for everybody and therefore, not a source of competitive advantage. If on the other hand, you do your homework and find a way to answer your business needs using a variety of interconnected pieces of software (e.g., some using SaaS, others not), you may not only retain but also create a competitive advantage. In other words, rather than using a standardized pipeline, you can assemble the puzzle yourself and truly shape it to your business’ needs.
 
So, to SaaS or not to SaaS? The question is more: what are your business needs? How can you answer them? If it turns out that a SaaS vendor holds the answer to these questions, then SaaS away. If not, then don’t. We tend to be blinded by the trendy things but the essence of conducting business has not changed. In that respect, one must find the technology that answers one’s needs rather than trying to fit a clunky piece of software for the sake of it.
 
There is some research that is starting to pop out on these issues. We are moving away from some of the technical questions related to SaaS and looking into the business questions that SaaS can help answer. This is a good thing, because we will be able to move away from the trendy toward the essential. So to finish on this, here are some of the questions which I think are relevant when considering going for SaaS. As you will see, many of these questions can deal with any piece of software, whether or not it is based on the SaaS model.

General questions
  • Why do you need it? What is the business imperative behind the question regarding the use of SaaS?
  • What can you do with it? When evaluating a piece of software, what is the potential for value-creation beyond any short-term cost savings you may anticipate?
  • How will you use it? How would the SaaS piece of software “fit” in your IT architecture?
    • Do you have special integration needs with other applications (e.g., an ERP’s financial module)? If so, are they covered by the vendor?
    • How will the use of the SaaS piece of software free up IT resources (e.g., staff, equipment)?
      • How would you allocate these freed up resources?
      • Will your IT staff be in charge of managing the vendor? If so, are they trained to do so?
  • What are the implications? Would you have to tell your clients that data about them may potentially be hosted outside of your organization’s boundaries? Could it be an issue for them?
  • Is it even feasible? Are there any laws or regulations you must follow regarding the storage of data? If so, do vendors comply with them?

 Vendor-specific questions
  • How would you survive in case of issues with the vendor?
    • In case of service disruptions (e.g., network outage)
    • In case the vendor goes bankrupt
  • What service level agreement (SLA) does the vendor provide?
  • How are the software maintenance and upgrade windows arranged by the vendor?
  • Do you need to be able to retrieve your own raw data from the vendor at any time? If so, how long would it take the vendor to do so, and in what format would you get this data?
  • How does the vendor handle the multiple clients and environments they have to host? Do they share computing resources, have their own dedicated resources? Your IT staff may help understand what the implications of these choices are!
  • Can the vendor provide a trial version of their software? If all you need to access it is a browser, a sandbox environment should be easy to provide.

So, unlike what some of these commercials claim, there is no miracle, no silver bullet. SaaS is just another option availble to your business. It may be the best thing since sliced bread, but that is up to you to decide.

Friday 2 August 2013

Meta-what?!
 
For my first blog post (you do have to eventually be cool too!), I have decided to mention a topic that is dear to my heart. It was back when I worked in software development (and particularly in database administration), and it still is, albeit in a different context.

So today we talk about metadata and why producers should care about it more. 
 
Some Context...
I am currently a PhD candidate in Information Systems (IS). One of the things I have to often do during that time is to read and review literature on different topics. This literature comes from a variety of sources and is accessed via a variety of online journal portals (EBSCOHost, ABI, ACM, IEEE Xplore etc.). As I browse through journals, do searches etc. I gather a number of articles which I download in PDF format and which I try to remember to add to my EndNote (or Zotero, your choice) library. After a few days' research I can end up with a hundred PDFs or so saved on my computer which I will then have to read, annotate etc.
 
Couple of issues here:
  1. These portals are built like 1990's online shopping websites. What I mean by that is that navigation is clumsy at best and downright frustrating at times (e.g., expired proxy sessions, slow downloads)
  2. Often saving the document and its citation info are two separate tasks
  3. These documents contain no useful metadata (see below for why that matters)
  4. These portals have Application Programming Interfaces (API) available but these are not public and reserved for institutions etc.
  5. When I search for articles, I am not in the mindset of organizing everything neatly already. I am wading through tons of (virtual) papers and cannot be bothered to save everything, add it to EndNote etc.
So what is metadata?
Metadata is "data about data". In other words, it is about giving some information regarding the actual data users will, well, use. It seems trivial and rather unnecessary but from the perspective of an outsider, metadata is not only cool, it can be crucial. It can be simple and fixed, such as specific header information you can store in a PDF (e.g., title, author, copyright info). And it can be more complicated, such as extensible metadata on database schemas. And this is where I want to draw a parallel with my previous employment. Metadata is not documentation, but it provides important clues as to something the data can help you achieve. The important part is that it is packaged alongside data itself but resides in a "logical" space that is separate from it.

What do I do with it?
Well, currently I am sitting on a pile of about 150 PDFs files, named using the following pattern: author1_author2_year.pdf. This is useful and in a sense somewhat akin to metadata. For instance, I have macros that I use to generate template Microsoft Word documents with a neat table with a hyperlink to each PDF to enter review info for each file. This way I concentrate on the task of reviewing the literature and not formatting documents to do so. This is because as a programmer (or ex-programmer, I'll let you decide on the technicalities), I am inherently lazy regarding repetitive tasks. I like to automate these as much as possible. Plus it makes for a healthy distraction from reading papers :-).

My issue here is that PDFs can store useful metadata, but when it is not done, well, it is useless. If there were actual metadata and APIs were accessible (ok I could even do without that one), I could program something automatic like the following:
  1. Read PDF metadata
  2. Look up reference online using provider API
  3. Download citation info
  4. Add it to my EndNote library
  5. Cross-check that all PDFs are in my EndNote library and ready to be reviewed in my Word documents
Now that would be neat. Unfortunately the lack of metadata and accessible API prevent me to do so. So I have to painfully open each PDF and do that by hand. I'll find a way to automate part of it somewhat, but it will be clumsy.

So, what can we learn from this?
Well, metadata can be very useful. Back when I worked, I used it a lot on Microsoft SQL Server schemas (using their Extended Properties) to create a sort of mini-descriptor on all tables that could be useful when automating programming tasks (e.g., automatic cleanup of archiving tables etc.). And this is where I go back to something I read on other websites about "services", "APIs" and so on. If you are going to publish APIs for clients, students, or whatever outsider you have to allow interacting with your own services, metadata is not just neat, I think it is pretty crucial. Documentation will only get you this far. Metadata can be used as a sort of "online documentation" that programmers can actually use when interacting with your data. Regular documentation cannot do that. And it's not just good for them, it can be good for you too. For example you may reduce resource contention as consumers can easily discard irrelevant information or not have to request extra, unnecessary data to do what they want using the metadata you give them.

Now if you'll excuse me, I have to get back to these PDFs...