Speed up On-Premises Product Delivery

Fast delivery of value to customers is today’s business mantra – especially in the software industry. In this blog I reflect on delivery challenges of companies which offer the same product as SaaS AND on-premises solution. I will also present a case study that shows how a company has dramatically improved its on-premises delivery speed.

Within the past 15 years we have seen several approaches how to foster fast delivery of software products. Two prominent ones are:

  • Agile development
  • Cloud based solutions

The agile approach to software development produces software products incrementally and frequently. This is achieved by close interaction with customers and a set of development principles that are based on the agile manifesto. It is not uncommon that software companies create new versions of their software products on a monthly or even shorter frequency.

How are these product increments delivered to the customer?

Currently there are two major mechanisms in use:

The fastest way for on-premises provisioned products, is to check during launch if there is a newer version of the product available. If so, the newer version will be automatically downloaded and installed. This practice is often used within the software games industry. E.g. games that are provisioned by the steam gaming platform. Traditional ways to deliver a new on-premises version are customer notifications combined with manual on-demand-downloads.

SaaS provisioned products are often under control of the company in charge for the development of the product. Whenever the development organization has produced and tested a new product increment, it will be moved to the SaaS server. Customers that launch the product through their web browser are automatically connected to the latest version of the product. Cloud-based solutions enable software vendors to deliver new software features quite often to their customers. The only thing left to do is to update the software on the runtime environment that is often under their own control. In such environments it is not uncommon that bug fixes and new features are delivered on a weekly or even on a daily basis.

The dual-delivery challenge

Companies which started business after the millennium focus often on cloud based solutions and do not provide on-premises products. In contrast, companies that have been around for more than 15 years are used to on-premises delivery and have established their business around that channel. However, more and more of those companies start to deliver their products as SaaS-based products in addition. Prominent examples are Microsoft with their office suite and HPE with their ALM solution.

Serving two channels with the same product creates new challenges. Customers that utilize on-premises products often have to wait for more than a year to get new features. Features which they can already see within the SaaS version of the same product. This situation creates quite some tension. Therefore, product companies try shortening the delivery cycles for on-premises solutions as well.

The company Jama Software was faced with this challenge and recently came up with a new release model for their on-premises release stream of the requirements product named Jama.

Case study Jama

Jama Software prefers the SaaS delivery channel. However, they accept that some of their customers do not want data managed outside their company’s intranet. Especially, if the data contains sensitive information about upcoming product releases which is usually the case when managing requirements.

As a consequence, Jama Software delivers its product as a hosted solution via SaaS AND as an on-premises solution. Typically, they release two on-premises versions within a year. However, customers using the SaaS version get access to new product features much earlier.

In summer 2016 Jama Software announced a significantly changed new release mechanism: On-premises Express. With the on-premises express channel they aim to deliver new versions on a monthly base. Compared to the half year release schedule so far this represents a stunning acceleration in delivery.

What are the secrets to Jama Software’s cycle time reduction?

First of all: A thorough analysis of the current situation. Finding out the areas of work that need a lot of time for each release. The current server part of the product Jama is delivered on two operating systems: Windows and Linux. All used 3rd party components need to be available on both platforms at the same time. So far Jama Software supports two database systems: MySQL and Oracle. Features and bug-fixes need to be tested on both platforms and DBs. Testing bug fixes and new product features on the various configurations consumes quite some time.

Jama product management made the tough decision to drop support for Microsoft Windows server and Oracle DB. This enabled the QA organization to substantially reduce time for testing. Now Jama Software delivers the same software configuration to their customers that they use on their hosted platform as well.

Second, they analyzed their current architecture in regards to ease of modification. They found out, that they could improve their product significantly by a new way of modularization.

Third, they decided to utilize top-notch technology for isolating the product into distinct independent components, thereby easing software distribution. Jama Software decided to utilize Docker containers. They now encapsulate product dependencies like Java and Tomcat into containers, so that customers don’t need to care about specific Java or Tomcat versions.

Fourth, accelerating deployment. Jama software now uses Replicated. This technology takes advantage of Docker and deploys containers not only to the SaaS server of the vendor but also behind a customer’s firewall. Using Replicated Jama Software now builds the product just once and deploys the result simultaneously to their own hosted instance and to registered customers.

Develop and Deploy

Encapsulating product services into Docker container and managing deployment with Replicated enables Jama Software to manage deployment of the service-oriented architecture much faster, more flexible and more reliable than before.

Summary

Achieving cycle time reduction in development is just one element to deliver software to customers more frequently. It needs to be matched by fast deployment methods, so that the whole DevOps chain can be covered. On top of that the product managers of Jama Software needed to make some tough decisions what not to support in the future. These decisions took complexity out of the product and significantly reduced testing time. Product managers are responsible for the overall product success. They have a holistic view of the business and need to look at all aspects along the delivery chain of a product in order to come up with solutions that enable sustainable business success. Jama Software has rebuild major elements along that line.

We may expect similar moves by other vendors this year as they all face similar pressures.
Stay tuned.

Further information:

Jama delivery channels

Replicated Technology: SaaS vs. on prem solved

Docker

Software Product Management: Key to software product success

Jama Version 2014.1 & New Release Strategy

This is the second article in our series of blog posts on notable updates from the requirements management (RM) tool market that happened since February 2014. It features updates concerning Jama, mainly the with its new spring release 2014.1, presented in April 2014.

Jama 2014.1 brings two main features: Advanced support for management of trace relationships, and a new feature to support social interaction and user notification on requirements. In addition, Jama has modified its product release strategy, focusing more on its SaaS version. The SaaS version has recently received updates about once a month, including defect fixes and feature enhancements, while the on-premises version has been updated only with one major release during the past six months.

The remainder of this article dives deeper into these enhancements and changes, in order to provide existing Jama customers with more specific information.

Relationship rules & relationship status indicators: Trace relationships between items (e.g., business requirements, system requirements, user stories, epics, test cases) can be defined using rules. Project administrators can define for each relationship type what are the source and target item types the relationship type connects, and whether the relationships shall be included into coverage calculations. The rule set is also displayed graphically in the relationship administration window. Once a project has such relationship rules assigned, the creation of relationships between items in this project will be guided by the rules. For a given source item, only allowed relationship types will be offered. And only those target items will be available that fit the relationship type. This also avoids defining relationships with the wrong orientation (i.e., direction of the relationship).

Based on the defined relationships rule set, new relationship status indicators show for a given item how many related items it has, and whether its relationships comply with the defined relationship rules. Suspect links are indicated this way, too. The basic status indicator is part of the item view. But a similar new indicator can be added to list view.

Connected users: Connected users is another new concept added to each item. In item view, and again similarly in list view, an icon indicates how many users are associated to an item. This covers the item’s creator, editor, or who has commented, subscribed or been @ mentioned on this item. The connected users feature facilitates social interaction on items. It can also be used to find out about the popularity of requirements or product ideas. Connected users are organized in circles according to their association or involvement with the item. Users from these lists can easily be included into collaboration stream messages when discussing on an item or when sending notifications.

For details on the new features, you may consult the following information sources:

What else is new concerning Jama? One thing is the new naming scheme of versions. Jama has moved away from its seasons-related versioning scheme (e.g., “Spring version”) to indicating the calendar year and just enumerating the individual releases (e.g., “2014.1”)

The other, related but more important news is that Jama’s release strategy now distinguishes between its hosted SaaS version and the version offered for on-premise installation. The SaaS version is being updated in relatively frequent cycles, while feature updates and bug fixes for the on-premise version have been quite rare in the past months. The new 2014.1 features went live in the SaaS version on April 19, and the SaaS version has undergone seven updates until September 13. Some updates have contained many defect fixes, and feature enhancements occurred several times. For the same period, the on-premises release notes list only the release of 2014.1 was published on May 15 and an immediate defect fix on May 16.

Customers might want to evaluate carefully what release strategy fits best to their needs, and whether they want to go for SaaS or on-premise. In addition, the fast-moving SaaS offering provides a good opportunity for exploring and evaluating new features before they become available in the on-premises version.

For more information on releases and feature updates you may look up the following websites:

Requirements reuse with Jama

On May 9th, 2014 Andreas Birk and myself presented the Webinar “Requirements reuse – requirements practices using the tool Jama” (in German)
We did show reuse practices which increase productivity and quality in development on a sustainable fashion.

Themes addressed:

  • Reusing requirements from previous releases
  • Reusing requirements form similar projects
  • Managing company wide guidelines as global requirements across projects
  • Managing product variants

We did show how Jama features help to address those scenarios, but also mentioned the challenges which need to be handled for such situations. The presentation is available on Slideshare.

This picture shows the various challenges an organization might encounter when establishing systematic reuse.
This picture shows the various challenges an organization might encounter when establishing systematic reuse.

Flexible and agile management of requirements

On April 11, 2013 Dr. Andreas Birk and Gerald Heller provided a webinar on managing requirements in a flexible and agile way. Using the tool Jama as an example they visualized

  • systematic clarification of requirements
  • review and change management of requirements
  • managing requirements in agile context

The focus of the talk was flexible management of requirements. What needs to be done to fully utilize the potential of an RM tool?

Slides of the webinar are available on Slideshare: Flexible and agile management of requirements

User story in Jama

Requirements Practices with Jama

On March 22, 2013 Dr. Andreas Birk and Gerald Heller provided a webinar on well established tool based requirements management (RM) practices. Using the tool Jama as an example they visualized how

  • requirements are structured systematically
  • requirements are managed continuously
  • requirements and tests contribute to product success

The focus of the talk was the optimal interworking of tool and requirements practices. What needs to be done to fully utilize the potential of an RM tool? How can the tool help to broaden the RM practices in an organization.

Slides of the webinar are available on Slideshare: Structuring requirements with Jama