Matthew Cook -
Software Money Pit Blog
    Strategy & Management
    Trends & Technologies
    Case Studies
About Matt
Buy Matt's Book
Matthew Cook -
  • Software Money Pit Blog
    • Strategy & Management
    • Trends & Technologies
    • Case Studies
  • About Matt
  • Buy Matt’s Book
Trends & Technologies

Packaged Software 101

October 4, 2016 by Matt Cook No Comments

Maybe software should be packaged like this?  Photo: Tetra Pak Package Portfolio, by Tetra Pak, CC license

A “packaged application” is software already built, coded, tested, used by other enterprises in your industry, and hopefully a solution that will meet most of your needs.  In general I recommend using packaged applications (why re-invent something?)

But a packaged application is not ready-to-use, in any sense of the word. The word “packaged” is kind of a misnomer. You won’t find a warehouse management system in a shrink-wrapped box on the shelf at Best Buy. A packaged application is simply one whose features and functions match in general terms what you want the software to do, but which still needs to be configured for your business. Configuration (also called setup) involves a lot of work and expense.

Much of the time involved in configuration is not in setting up all the data and parameters, but in deciding what data and parameters to set up. What data do you want to/have to set up for each customer? Should employees be “suppliers,” so that you can reimburse them for travel expenses? Do you want to manage your inventory levels according to min/max parameters or days on hand, or some other way? In most enterprises, decisions like these aren’t made by one person – groups of people get involved, and all those meetings and explanations have to be scheduled, and someone has to herd everyone into a decision. Not a quick process.

Packaged software is an annuity business. A software company survives in the long run because it is able to collect annual maintenance and support fees from its customers while providing custom development services and a stream of version upgrades. The support fees can be 20% to 25% of the original cost of the software license, so to the software firm, it’s like selling a new system to the same customer every four or five years. In exchange for the fees, the customer gets access to support desks, can have the software firm make modifications to the system usually on a time-and-materials basis, and automatically gets some upgrades and patches (or fixes) as well as user guides and maybe some technical documentation.

Recurring support revenue is highly profitable for vendors selling packaged applications. It is not unusual for big packaged software vendors like SAP, Oracle, and JDA to have this type of revenue represent 60+% of its sales while incurring only 5% or 10% of its operating expenses.

If you are selecting a packaged application, understand that your vendor will try to sell you the traditional on-premise solution, in which you will own and host the software while paying the vendor for additional licenses, upgrades and custom developments, plus the annual maintenance fees of 20% to 25% of the original license cost, which, on a license costing $500,000, for example, would be $100,000 to $125,000 per year.

And therein lies one of the most debated and disruptive topics in the software market today: the move away from the traditional on-premise (also referred to as perpetual license) model to a service or subscription-based model.  It is not exaggerating to say that the perpetual license model has in a way been the drug, the stream of highly profitable revenue, sustaining the software industry the past two decades.  Stay tuned.

 

 

Share:
Trends & Technologies

Why Should I Care About Hyperscale Computing?

September 26, 2016 by Matt Cook No Comments

All your apps are in the cloud(s) now.  It’s OK.  Photo: Paul VanDerWerf, Potts Harbour, Hartswell, ME.  CC license. 

Hyperscale computing (HC) may sound like something only NASA and Google need.  But any business doing any kind of commerce with web sites can potentially benefit, as can brick and mortar companies who are highly dependent on 24 x 7 x 365 operations and no longer want to buy and maintain servers.

Hyperscale computing is computer processing power and storage that can be scaled up or down instantly, in large amounts.  Hyperscale computing relies on distributing computer tasks to multiple servers (distributed computing). You could do this on your own, duplicating your server environment and buying extra servers and the software needed to distribute tasks, but all of this is already available in the cloud, by many reputable firms, at costs that are not only low but predicted to go lower.

Why should you care?  Here are two scenarios where you might benefit:

  1. Your product is sold at brick and mortar stores as well as your own web site.  Your retail customers (stores) use your primary site to place orders and as a selling tool in their stores.  You frequently promote your products to generate sales, so traffic and transactions on your site fluctuate a lot.  In this case you have to manage high traffic in a high- responsive way, and you need alternatives for backup if your primary servers fail.  Again, you can manage the hardware physically, but the most efficient way will be to virtualize your servers with scaleability built in, which is the whole purpose of hyperscale computing.
  2. You don’t sell a thing online but your 24 x 7 x 365 operation is highly dependent on e-commerce with other companies and your own ERP system, the hardware for which is hosted by you or by an external company. Most companies have redundancy backup internally, or they make sure that apps or services they use are hosted by firms that also have redundancy backup.  But what if your vendor has the traditional one or two server backup, and one or both of those fail?  As companies more and more adopt SaaS for applications solutions, they can’t just assume that their SaaS vendor has adequate backup/scale-up capability.

Think of it this way, in simple terms: what you used to think of as big computers in some refrigerated room running all your stuff is now available online, not only in the quantity that you want, but with much more capacity and speed and at much lower cost; but more importantly agile enough to expand instantly as needed, or failover automatically — both data and software — to a redundant environment in cases of disaster, virus, or overload.

 

Share:
Trends & Technologies

SaaS vs. Cloud Not Exactly Clear With Some Software Vendors

July 26, 2016 by Matt Cook No Comments

Photo by Meredith Cook at Breckenridge, CO on a “blue bird” day, a clear day following a fresh snowfall.  It’s unrelated to SaaS or Cloud (or is it?); just nice to look at.

SaaS and cloud are starting to be used interchangeably (“we’re looking for a cloud solution”) but they really are not the same thing.

Software-as-a-Service (SaaS) is: software that is made available for use based on access to features, time, number of transactions, number of users, or a combination of variables.  A ‘cloud’ is simply a server – a computer you don’t own or maintain – that sits somewhere other than in your building, that you access to run applications or store data.

SaaS describes a type of software, cloud describes a type of platform.

So you can see it’s possible to take applications that you own, and put them in ‘the cloud,’ and also possible to use software you don’t own, but pay for based on usage, that is sitting in your data center with all your other applications.

But there are more important distinctions.

Type of Software-as-a-Service: Is it software that only you access (single tenant), or is it an application that many other people or companies use (multi-tenant)?  Multi-tenant is generally lower cost, but with less specialized functions for your particular enterprise.  Is it truly SaaS, or just a full cost, configured-for-you application hosted by someone else whose costs have been spread out monthly over 5 years to look like a SaaS solution?  True SaaS works like a subscription: sign up, pay by month and use it; when you no longer need it, you cancel.

Type of Cloud: Is it a private or public cloud, or a hybrid?  A private cloud is a single tenant environment (your enterprise) where you control access and have firewalls for security and where you can define the hardware.  A public cloud is where you are paying for a part of an existing cloud server environment; here, you “rent” space and the advantage is flexibility, low cost, and the ability to scale capacity up or down based on your needs.  Hybrid clouds offer both private and public spaces for you to use.

Let’s look at examples; in both cases we will use the scenario of a manufacturing company selling to major retailers in the U.S. and Canada.

True SaaS:  You contract with a company that offers tools for analytics (software) together with point-of-sale (POS) data for your products for your largest retail customers.  You pay by month to access and analyze POS data. The costs vary depending on how many report levels you want to see.  You access the application via internet, anyone in your company can use the service, and you can cancel at any time.

True Cloud: For purposes of experimenting with business intelligence applications, you purchase database space from a vendor, at a cost that varies depending on how much space you use.  You can scale up or down in terms of the storage you need.  You can connect to this space with a variety of tools for transporting  data and you can install and remove applications easily.  For running your business day to day, you can host your most critical applications in this cloud, and have in reserve an identical cloud with servers ready to take over in cases of disaster or over-capacity of your main servers.

Before you accept at face value the terms ‘cloud’ or ‘SaaS,’ make sure you understand what the vendor is telling you. Ask for details and explanations.  What the vendor thinks is cloud or SaaS can certainly be different from what you expect.

 

 

Share:
Trends & Technologies

Are Your Apps Too Hard to Use?

May 24, 2016 by Matt Cook No Comments

You’ve heard the complaints: your systems are too clunky, slow, have too many steps, and they take too long to execute everyday transactions.

The dialogue plays out probably hundreds of times a day in offices throughout the world: users complain about to-hard-to-use systems and their IT departments tell them they just don’t know the right way to use them.

This can be a big problem, but costs and other impacts are not easy to measure. A rough estimate can be had by extrapolating the lost time per user across the enterprise.  A 15% hit to people’s productivity because the systems they use slow down their work actually means you need 1.176 people to do the work of one person.

Extrapolating this, if you have a 500-person organization, an equivalent of 88 of those people are needed only because you have sub-optimal systems.  As convincing as this seems, it’s hard to get the money to improve systems based on this argument. With perfectly-efficient systems, you wouldn’t actually need 88 fewer people because the sum of wasted time is across all 500 people.

What do you do? Two relatively low-cost options are user interface (UI – what you see when you look at the screen) tools and mobile applications.

UI Tools: There is an active market for these, which are intended to be used with widely-deployed ERP systems like SAP and Oracle. These solutions modify or enhance the system’s UI for simplified navigation and a more intuitive feel, and may combine several steps in a transaction or query into one, like an Excel macro.

One company marketing UI solutions (Winshuttle) claims to “turn everyday SAP users into heroes who transform the way their companies work.”

Solutions like this are only relevant for those companies that have full control over their systems environments – companies that own their own “instance” of the ERP system, versus those who use a SaaS ERP or one that is shared across many different business units. This is because you’ll need access “under the hood” to configure these tools.

Mobile: A shortcut (sometimes) to simplified ERP transactions is via mobile applications. A mobile application, out of necessity, must have minimal steps involving minimal data entry. No one wants a Windows version of the ERP system on their 5-inch smartphone screen.

This forces the software to consolidate steps in the transaction and pre-populate fields with user data and settings. If a given ERP transaction involves 5 or 6 steps on a desktop it will likely require only 2 or 3 steps on a mobile device.

Several of the large ERP vendors already have mobile versions of the most frequently used transactions, such as purchase orders and purchase order approvals.

You can always design your own mobile applications (there’s no shortage of people creating new smartphone apps), and doing so can lead to some very creative results that have a huge impact on user morale.

Share:
Trends & Technologies

A Confusing Market for Enterprise Software

April 11, 2016 by Matt Cook No Comments

Image by lofrev.net

It’s getting harder to determine which software vendors have what capabilities. This is because:

  • The number of technology startups has increased;
  • Big software companies have been acquiring other firms to increase the breadth of their capabilities;
  • Established firms are rapidly making changes to their suite of applications – adding capabilities so quickly that it’s difficult to land on a static evaluation and comparison vs. other vendors.

The branding of specific functionality continues to proliferate. Firms don’t define their software’s features all the same way – they give them a brand name, which only adds terminology that is unnecessary and gets in the way of a clear comparison of features.

Firms are offering products and services that overlap what other firms offer, making it more difficult to weed out who truly offers what you want.

It used to be that, if your company needed software in some form – packaged or custom – it was “installed” on a server. Then a “client” for the software – a relatively small piece of software – was installed on desktops so that the software on the server could communicate with the user on the desktop.

In between the two was a local-area network (LAN), which is jargon for a wired connection. In this configuration, a user could launch the client software on a PC, and the client would, via communication over the LAN to the server, enable the user to fully use all the features of the software.

Players in this market looked like this:

  • The firm that wrote the software;
  • The firms or independent consultants that support the software;
  • The firm(s) that helped you to install, configure, test and launch the software you bought;
  • The company from which you bought your servers;
  • The company that supplied your LAN and wide-area network (WA)

All of this has changed. Now there are vendors that can do all of the above, without stepping inside your building, through a web portal.

How do you get what you need in this environment?

  1. Find the software vendors that know your industry and understand what they offer. Software companies are usually organized according to what they call industry verticals, such as health care, pharmaceuticals, consumer goods, banking. A company with lots of clients in your industry is a good start
  2. Find the software vendors that are the best for your targeted functional area such as sales, manufacturing, finance, etc.
  3. Focus on the firms that are well represented in #1 and #2 above
Share:
Strategy & Management

A Software Vendor Checklist

March 10, 2016 by Matt Cook No Comments

Please choose the door through which your next software vendor will take you.  Image: Doors of Dublin, by Tim Sackton, edited to fit 569 X 368px, CC license.

Selecting a software vendor is difficult at best in the 21st century; here are some must-have criteria, in addition to, but perhaps more important than, cost and time:

Does it solve my problem? Does the software company’s system solve your business problem? Does its existing functionality match the business requirements you drafted?
Does it pay back? Do the financial benefits from the solution pay back the total cost of implementing it in three years or less?
Do I understand all of the solution’s costs? Have you accounted for initial license, recurring support fees, custom development costs for changes you want to make to the software, hardware costs, upgrades to your network bandwidth or operating systems on your current servers or PCs, the cost of the next version upgrade, the cost of consultants, of hiring backup staff for project team members, and travel?
Is the solution in line with my strategy? Does the system match your criteria for what types of information solutions you will invest in, now and in the near future?
Do I understand all of my alternatives, besides this particular vendor? Have you done your homework regarding software options available? Have you constructed an evaluation matrix and compared all the alternatives to one another?
Does my team have the time and skills to implement this solution? Can you secure near full-time people to manage this project? Is the system easy to learn? Is it intuitive? Has your team evaluated it and are they comfortable they can master it?
Do my users have the aptitude to learn it and become proficient? Can you envision your end users quickly learning to use all aspects of the software? Are there enough users who could become proficient enough to serve as key users and help other users with training and troubleshooting?
Does my team fully understand how this solution will integrate with the company’s other systems? Has the vendor demonstrated to your satisfaction the ease with which the system will integrate with your other systems? Are other enterprises already running the software with systems like yours? Try to get at least a conference call with those references to gauge the level of integration complexity.
How risky is this particular software alternative compared to others? Can the software be phased in without interrupting the business? If the solution fails or the team encounters startup problems, how easy will it be to keep mission-critical activities running?
Vendor reputation. How many enterprises are using the vendor’s software, and for how long? Get references and check them.
Can I find programming help in the open market? If you need customizations, can you readily find people to do the work? Or are you locked in to using the vendor to make all your changes?

All of this is of course after you have submitted and reviewed detailed RFPs from the most appropriate vendors.  You can build a grid or a table, with vendors/solutions across the top and your most important criteria down the left hand side, and weight the relative importance of each. The result is an overall score that points you to a solution that best fits your needs.

Share:
Trends & Technologies

What is the Value of Adaptive Software?

August 20, 2015 by Matt Cook No Comments

Image: opensource.com

The term ‘adaptive software’ has at least two meanings: 1) software that is created with built-in capabilities to change its logic in the future; 2)  software that enhances an existing software application without significantly changing the underlying code of that application.

I have not seen real-world examples of 1) above, so I will focus on adaptive software as defined in 2) above.

The value of this type of adaptive software is in providing new functionality without the high cost of re-programming existing software applications.  Those existing applications are often referred to as “legacy” applications.  They could be five, 10, or 15 years old or older.  In some cases the company that wrote the program is no longer in business.  What do you do if you want to make changes to those applications?  In some cases adaptive software can be used.

Bob Kennedy, VP for business development at DMLogic LLC, describes in a recent article for supplychainbrain.com how adaptive software can be used to add features and functions to a warehouse management system (WMS).  He explained how companies used adaptive software with an existing WMS to create weight-check functionality and messaging and develop new screens to collect international shipping information.

I like the concept of adaptive software but a few hurdles have to be overcome, and you need to understand the limitations.

The main hurdle is access to the existing application’s database.  If you own the application and it resides on a server inside your enterprise this is probably not an issue.  But if you are part of a multi-company or multi-division enterprise all of whom depend on the application you want to adapt, you’ll need internal agreement on any changes (easier said than done!).

The limitations of adaptive software are …. not yet known, but I can guess they would start to be apparent when you try to change something very fundamental to the logic of the application.  Example?  Trying to use adaptive software to add a new unit of measure called “truck” to an existing WMS wherein you have only defined valid units of measure as “case” or “pallet.”

Having tried to find holes in the concept, I will say again I like the idea, because I think software vendors have intentionally or not created products that are too difficult and expensive to change.

Big ERP systems are a good example.  These systems are built with the back office in mind, they are workhorses and can scale as big as you want, but they are inflexible systems and they require disciplined data entry into the right screens at the right time with pristine data.

Can adaptive software solutions meet this challenge?  Can they provide a user interface for complex and heavy ERP systems that simplifies keystrokes and everyday transactions?  I think so, because we have already seen that mobile and tablet applications can simplify what are basically multi-step transactions.

Read Bob Kennedy’s article here.

 

 

Share:
Strategy & Management

Some Advice for Application Vendors

August 6, 2015 by Matt Cook No Comments

Image: “Computer Software Development” by Fabio Bruna, CC license

Being on the “buy side” of corporate software for many years I’ve seen numerous pitches by software vendors. A few were excellent, most were forgettable, and quite a few were incoherent. Like actress Clara Peller in the Wendy’s ads — for those of you alive in the 1980s — I was often left wondering: “where’s the beef?”

One thing missing from nearly all of these presentations: a clear understanding of what my company did and what our business needs were, not to mention how the software solution met those needs.  Nearly all the meetings with vendors centered around the software and its ability to do this or that.

Another common theme: the vendor would present a business problem — one that you may or may not have — how solving this problem is the key to business success, and how that is accomplished with the vendor’s packaged lines of code.

Some advice to software vendors:

Ask the potential customer what they hope to accomplish with your solution.  Listen.  Ask questions and clarify.  The first response you get is probably not enough information.  Once you understand the problem and how you can help then you are ready to present something.

Know the specific issues facing the customer’s industry. Is there a language used in that industry that someone in your firm is familiar with?  Many software vendors have expertise in selling to specific industries, but have few people in their organization who’ve actually worked in that industry.

Limit the accolades for your firm.  You don’t need five slides explaining how great your firm is and how many of your firm’s customers are household names.  The customer probably wouldn’t be meeting with you unless they already knew you were legit.

Most importantly — connect the dots.  Most people cannot, in their minds, translate software functionality into business benefits.  You must do it for them and you must use the language of their business to do so.  You also need to leave behind a draft business case for investing in your solution. Most people don’t know how to write a business case, for anything.

 

 

 

Share:
Strategy & Management

FUD Still Here 35 Years Later

July 6, 2015 by Matt Cook No Comments

Photo by Jimmy Brown, CC license

 

FUD stands for fear, uncertainty, and doubt, and was a phrase used in the early 1980s to describe the unsettling and confusing atmosphere companies faced as they began investing heavily in software applications.

In 1979 Gideon Gartner, formerly a top technology analyst at Oppenheimer & Co., capitalized on that confusion and formed an advisory firm to help companies with technology decisions. Gartner Inc. now has a market value exceeding $4 billion and customers in 85 countries.

Although we have software tools far superior to what was available in the the 1980s, FUD still exists.

It exists wherever software marketers and commercial enterprises interact.  The dialogue is predictable: “Can your system do this, that, and the other thing.”  “Our system can do that, and much more; it can do X, Y, and Z.”

But the two parties (software, business) are talking past each other.  They aren’t even using the same language.

Software marketing is filled with evocative corporate-speak; it is opaque, conceptual, and general.  Meanwhile, the business person looking for a solution is mired in her own problematic world and knows in general what she needs but doesn’t realize that the software company she is speaking to has no idea of the details of her situation and even more cannot imagine it.

They speak to one another and try to find some common things they both agree on and understand.  The business person is left bewildered.  FUD.

Money pits thrive where FUD exists.  In this situation, bad and costly decisions are highly probable.

  • Take a step back and evaluate your business and technology strategy.  Do you really need this technology or could you outsource the whole business process?  Will the investment in this technology make my customers happier?
  • Before considering any solutions offered by software vendors, take the time to evaluate processes the software will support, document how those processes should flow in the future, and prepare a detailed list of requirements for the future application.  You will use this to evaluate the “fit” of each software solution to your situation.
  • Like anything else, educate yourself before you buy.  Understand the type of technology you need, and the options available in the current market.  An advisory firm is recommended here; it will cost you a fraction of what you intend to spend and save you multiples of that.
  • Change the conversation with the vendor.  Stop talking about the software.  Instead talk about your business context and the goals you have.  Most vendors really do want to understand your needs but they don’t have the advantage of being in your shoes.
  • Take the vendor’s software solution for an imaginary “test drive.”  Spend time with the vendor walking through your future process and the associated technology requirements.  The result will be much more clarity and understanding of the vendor’s potential to meet your needs.

 

 

Share:
Trends & Technologies

Tell Me Again Why I Should Care About Hyperscale Computing?

May 2, 2015 by Matt Cook No Comments

Photo: “Trails in the Sand,” Dubai, by Kamal Kestell, CC license

If “Humanscale” computing is managing bags of sand, “Hyperscale” computing is managing each individual grain of sand in every bag.

“Hyperscale” computing (HC) is the processing of data, messages or transactions on a scale orders of magnitude larger than traditional computing.  HC is becoming a need for many businesses.  Why?

Consider a company that sells bottled water.  Its main business used to be selling truckloads full of cases of water to big grocery chains.  It has 25 different products, or Stock Keeping Units (SKUs).  The big grocery chains then distributed cases of water to its stores, which numbered 20,000.  The data requirements for the water company’s computers was manageable, even as the company grew rapidly.

Now, the company wants to analyze the performance of its products on store shelves by measuring things like velocity (how fast the product turns), price compared to competing products, and out-of-stocks.  It’s customers — the big grocery chains — are offering to supply data from their systems on every scan of every product in every store, because they too want to improve the performance of products on the shelf.

In one month during the summer, about 3.5 billion bottles of water are sold.  A data file from just one big grocery chain runs to 3 million lines.  How and where will you process this data?  Traditional databases will be too slow.  You will need superfast databases that distribute computing to many servers — this is called in-memory, or massively parallel computing.  This is an example of hyperscale computing.

Other examples where you would need HC: selling direct to consumers through their smartphones, where you might have to process millions of transactions say, during the Christmas holiday season; gathering machine data every second to monitor a machine’s performance (a General Electric turbofan jet engine generates 5,000 data points per second, which amounts to 30 terabytes every 30 minutes); and managing millions of product-attribute combinations.

The computing tools for hyperscale will not be found in your ERP system.  Trying to engineer your existing systems to handle hyperscale data and transactions will be a costly failure.  But there are tools available on the market today, and many of them are found in cloud applications, and in application hosting providers.

Cloud application and hosting vendors usually have much larger data processing capabilities, including automatic failover and redundant servers.  You can take advantage of this capacity.  For example, you can obtain, from a leading application hosting provider, at a cost less than the monthly rent of an apartment in New York City, 30 terabytes of storage and a massively parallel computing environment.

My advice:

  • Identify areas of your business that are significantly under-scaled, or where you have large gaps in business needs compared to processing capability;
  • Pick one and design a pilot project (many vendors are willing to do this with you at very low cost);
  • Measure results and benefits, and if beneficial, expand the solution to other parts of your business.

It’s probably not OK to ignore this trend.  Even of you don’t need HC today, think about the future and where commerce is going.  If you don’t gain the capability for hyperscale computing, one or more of your competitors probably will.

 

Share:
Page 1 of 212»

Categories

  • Strategy & Management
  • Trends & Technologies

Archives

© 2017 Copyright Matthew David Cook // All rights reserved