Evaluate Weigh the pros and cons of technologies, products and projects you are considering.

Managing requirements for cloud-based applications

In this expert response, Scott Sehlhorst examines the needs of cloud-based applications, explaining the details about updating, security and other considerations.

Is the requirements management process different for cloud-based applications? If so, how?

The software requirements management process is not different for a cloud-based application, relative to an installed, or "thick client" software application. You can use an Agile or Waterfall process for either, but the nature of deploying a cloud-based application may enable you to get additional benefits from using an Agile process for incrementally improving your product. There are several constraints that impact the frequency with which you can release new versions of a software application. 

One of the constraints on update speed is the frequency with which your customers are able or willing to update the latest version of your software. When your customers use your product as one of several components in their architecture, they cannot make the "should I upgrade?" decision in isolation – they have to take into account how changes to your product may require other products to be updated simultaneously. Even when your product is used in isolation from other systems, it may be providing functionality that is important for one or more business processes – and changes to your product may require changes to your customer's processes.  Changes to your product, if visible to users, at a minimum require your users to learn what is new. This may require training, and your customers may incur an indirect cost to upgrading. A cloud-based application is subject to all of these constraints. An installed application is additionally constrained by the cost – to your customers – of deploying and installing your software.

Minor changes, however, such as bug fixes and performance improvements, with no changes to the interfaces (either human interfaces or machine interfaces), can be made to a cloud-based application, and your customers will realize those benefits without incurring any tangible costs. If installed software is updated quarterly, cloud-based software, with all other factors being equal, could also be updated with significant quarterly releases and minor enhancements on a monthly (or even weekly or on-demand) cadence.

Cloud-based applications may need additional security requirements, if access to those applications is less tightly controlled than for applications that are run on a single device or behind a firewall, where access is presumed to be restricted to authorized users only. Many cloud-based applications use architectural designs that allow multiple customers to share resources (like network bandwidth and data storage repositories) – they will need additional requirements for restricting access to information such that one customer cannot access another customer's information or resources.

Dig Deeper on Topics Archive

Start the conversation

Send me notifications when other members comment.

Please create a username to comment.