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

Overview of VersionOne Updates

VersionOne is one of the leading agile tools that we feature in our list of requirements management tools. In an earlier blog post from 2015, we surveyed its then latest developments. These were: Epic Dependency Visualization, Strategic Themes, Epic Timeline Drilldown and Scorecards.

Now we find it’s time for an update. Since spring 2015, VersionOne has delivered several builds, bundled into 3 major release streams named Summer 2015, Fall 2015, and recently in January the Winter 2016 release.

This blog post highlights and summarizes some of the major capabilities that have been added in the timeframe since our previous blog. Note that feature capabilities depend on the VersionOne edition chosen by an organization. For an overview of the four editions Team, Catalyst, Enterprise and Ultimate look up the VersionOne edition overview.

The Summer release 2015 provided enhanced visibility about commit information. The CommitStream TeamRoom panel provides the stream of commit data relevant to all work items for the entire list of repositories that has been configured. The panel can be configured by users to view only the repository commit information they are interested in.

Project management support has been enhanced by introducing budgeting capabilities. Total capacity may be allocated to the entire organization for a certain timeframe and then split into project based budget segments. The Fall release 2016 added capabilities to set budget for strategic themes. These capabilities are available under the topic of portfolio planning.

The Winter release 2016 added a Timesheet feature which allows team members to enter time spent on work items in an environment they are used to. The Timesheet page displays a team members time tracked against items for an entire week.

Reporting capabilities got enhanced in every release. The Summer release 2015 provided additional scorecards, like TeamRoom Scorecard and Iteration Scorecard.

The Winter 2016 release provided a new dashboard at the enterprise level. This Enterprise Dashboard visualizes organizational metrics in the categories: Throughput, Responsiveness, Quality, and Predictability.

DevOps has become a major theme in recent years. As a strategic response to that VersionOne acquired ClearCode Labs to add continuous delivery and automation functionality into its product offering. In the Summer release 2016 DevOps Center was added to the VersionOne product as a first step.

In the Winter release 2016, VersionOne announced that DevOps release automation is now available as a separate product named: Continuum. Continuum helps with automating, orchestrating and visualizing the flow of releases and their associated changes from inception to delivery.

As a consequence, the company VersionOne now offers two products:

  • VersionOne Lifecyle – Agile project and portfolio planning, tracking and reporting
  • VersionOne Continuum – Continuous delivery automation, orchestration and visualization

Kanban support in team rooms is now available. Teams are no longer required to have an open sprint/iteration. TeamRooms can now be configured as “iterationless”, which allows for true Kanban support.

Summary

VersionOne continuously broadens its capabilities in their already rich featured agile tool. From our point of view, it delivers one of the most complete solutions for agile teams. While they have added impressive support for large scale agile development in recent years, they did not neglect to refactor and streamline their core offerings as triggered by requests from their user base.

Survey of Requirements Tools Lists

For the February 2014 update of our list of requirements management (RM) tools, my colleague Gerald Heller and I researched for other lists of requirements tools, in order to extend and complement our collection. In the following you find the results of our investigation. Each list has its specific strengths and focus areas that are outlined in brief comments on each entry.

Requirements Management Tools

INCOSE’s RM Tools List (http://www.incose.org/productspubs/products/rmsurvey.aspx) has been the first large RM tools list we know of that was researched systematically. It is supplied with an extensive collection of (vendor-provided) tool characterizations. Unfortunately, the last update is from 2010 and much information stems even from 2008, so that most of the detailed tool information must be regarded outdated.

Volere’s RM Tools List: http://volere.co.uk/tools.htm. Vendors provide their own brief tool characterizations. Much information is not fully up to date. But the rather extensive list provides an easy to read overview of the RM Tools landscape.

Iain Alexander’s ’s RM Tools List at http://www.scenarioplus.org.uk/vendors.htm includes many tools that are not contained in INCOSE’s and Volere’s collections. A large subsection is on tools for requirements quality analysis.

The Tools Journal’s RM Tools List (http://www.toolsjournal.com/requirements-management-tools) is another list that provides a good overview of tools. But it also most information is not up-to-date.

Capterra’s list of requirements management products (http://www.capterra.com/requirements-management-software) contains about 40 tools and provides filtering support with regard to tool features.

Ludwig Consulting Services provide a fairly up-to-date list (http://www.jiludwig.com/Requirements_Management_Tools.html) that has last been updated in 2012 but also mentions some outdated tools. It includes a brief informative introduction text and contains some tools not provided in the previous lists.

IEEE Software magazine from July/August 2011 includes a tools survey (http://www.computer.org/csdl/mags/so/2011/04/mso2011040086-abs.html) that contains an elaborated overview characterization of 37 tools. The authors have set up a web page with brief characterizations of the tools. A PDF version of the article is also available from Vector’s media portal.

Ideation Tools

Ideation tools list at CreatingMinds.org: http://creatingminds.org/tools/tools_ideation.htm. It contains tools from various different areas, many of which can be relevant in certain requirements elicitation and requirements definition activities.

Agile Tools

Lists of agile tools at agileSCOUT: http://agilescout.com/top-agile-tools/best-agile-tools. The extensive list, grouped into two web pages on Scrum and Kanban tools, provides a good overview using a screenshot for each tool.

Steve Blank’s list of agile tools is part of his “Startup Tools” list (see subsection “Kanban and Scrum Tools”) and focuses on mostly light-weight tools that can be relevant to software startups: http://steveblank.com/tools-and-blogs-for-entrepreneurs/

Business Modeling Tools

Wikipedia page on tools specifically for BPMN notation: http://en.wikipedia.org/wiki/Comparison_of_Business_Process_Modeling_Notation_tools

Listly’s BPM tools list (http://list.ly/list/CR-bpm-tools-essential-in-itsm-projects) contains 62 tools, with embedded media (screenshots, video clips) for some of the tools.

Process-Symphony blog presents a list of ten selected tools, along with an evaluation and rating: http://psymphony.wordpress.com/2013/06/04/top-ten-bpm-tools-you-cannot-ignore/

BPM-Software blog focuses on free tools: http://bpmsoftware.wordpress.com/free-bpa-tools/

UML Tools

The wikipedia list of UML tools (http://en.wikipedia.org/wiki/List_of_Unified_Modeling_Language_tools) provides tabular tool characterizations and feature overviws. It also contains links to other lists of UML tools.

OOSE’s list of UML tools: http://www.oose.de/nuetzliches/fachliches/uml-werkzeuge/. The list includes a table of detailed information provided by vendors, dating from 2012/2013.

The list at Listly offers screenshots, brief overview texts and possibilities for user voting and for user comments: http://list.ly/list/2io-popular-uml-modeling-tools

UI Mockup / Wireframing Tools

Steve Blank’s list of wireframing tools as part of his “Startup Tools” list (see subsection “Wireframing Tools”): http://steveblank.com/tools-and-blogs-for-entrepreneurs/

Usertesting.com presents a list of wireframing tools (http://www.usertesting.com/blog/2012/10/23/the-ultimate-wireframing-tools-guide/) along with guidelines and recommendations for tool evaluation.

The App Entrenpeneur website at http://theappentrepreneur.com/54-amazing-wireframing-tools-apps lists web apps as well as Android and iOS mobile apps with brief one-line characterizations of each tool.

Memeburn’s specialty is a list (http://memeburn.com/2012/09/25-of-the-best-wireframing-and-prototyping-tools-ever/) with embedded video clips from most of the tool’s vendors.

Econsultancy provides at http://econsultancy.com/blog/62700-18-practical-responsive-design-tools-and-resources-for-wireframing wireframing tools and and additional resources.

A commented list of selected tools is presented by http://vandelaydesign.com/blog/design/wireframe-tools/

creativebloq.com (http://www.creativebloq.com/wireframes/top-wireframing-tools-11121302) list tools along with platform and price information. It also contains some less conventional but interesting recommendations.

Last but not least, two lists of free wireframing tools:

http://mashable.com/2010/07/15/wireframing-tools/

http://webdesignledger.com/tools/10-free-ui-wireframe-kits

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

Who Owns the Requirements

When it comes to the question of who owns the requirements the answer is sometimes surprising.

Depending on the titles used in an organization we may hear requirements analyst, business analyst or product manager. Others might name development manager, solution manager or system analyst. While all these people have to say a lot about requirements the product manager should have overall responsibility for the requirements.

Why that? Well, it is the product manager who is ultimately responsible for the business success of the product. He provides product direction and sets the goals for product releases. Through his direct connection to customers and the market he knows best what customer problems are and understands current offerings of competitors. Therefore he is optimally equipped to guide the business team.

Unfortunately, in most organizations the product manager is a poorly defined role. Often product managers get many things to work on, typically too many to be effective. A recent study clearly indicates that product managers work too often on tactical tasks, like customer escalations and supporting sales inquiries.

Successful organizations understand that product management must be balanced between tactical and strategic tasks. However due to the lack of a common understanding of all these tasks it is often a time consuming ineffective effort. Tools that provide an overview of all product management activities accelerate this work substantially.

In October 2010 I gave a presentation at the German “Requirements days” in Munich where I presented some of the fundamental activities in software product management.

Interestingly I got quite some feedback from people, who see a need for clarification specifically in organizations who move towards agile. The simple approach that a product manager equates to a product owner in Scrum doesn’t work out well. On the other extreme product managers might position agile product development to effect only the development organization. They continue to work as before not realizing the full potential of agile development.

Independent whether a software organization works agile or traditional a framework of software product management activities will enable them to improve its effectiveness. That’s why the International Software Product Management Association (ISPMA) pushes towards a certification of software product management.

If this topic is of interest to you, then get in contact with me and/or download the presentation.