There are two types of software companies; those that profit from improving the user’s experience and those that profit from the user’s lack of technical knowledge. When designing software, it’s easy to take the lazy route and only create the bare minimum required to make a process work (requiring manual editing of configuration files, setting permissions, offloading any other unfinished task to the end-user). Even if the software being created does, in the end, accomplish a complex task, the result will be an alienated customer with dwindling chance of any purchase in the future.
With cloud computing becoming a major part of the online business world and Software as a Service (SaaS) technologies gaining more and more traction every day, it’s important that developers not forget that these technologies are still incredibly complex even as they try to simplify and consolidate previously complex technologies. Consider a user who would like to purchase your backup software solution. You have two choices: Do you design the product quick and easy where the user is left to terminal/SSH into their cloud instance to manually write configuration files describing how and when their backups will occur or do you design the product to the point where the user can easily open a web interfaces for your product to click a few buttons enabling the same functionality? Even if you’re having a budget crisis, NEVER take the quick and easy (and cheap) route! It will only hurt you in the medium to long term when customers discover your competitor’s product that actually behaves the way it should and the customer decides not to renew that support contract or purchase that second year of licenses.
Today’s software must be designed differently than the software of last decade. Businesses are expecting “automagic” functionality. They want to press a few buttons, as a semi-technical user, and have it execute incredibly complex routines to accomplish their goals. They don’t want to have to hire a technical specialist for every product they purchase, they want to invest in a few IT guys that can effectively manage all of their cloud/service products.