MasterControl “RapidOnboarder” Case Study.

MasterControl engaged CodeStringers over a period of five years to develop and maintain a web application used by MasterControl’s Professional Services Consultants and those working for third-party systems integrators to onboard new MasterControl customers. Read more below on the business need and solution.

Industry

Pharmaceutical, Medical Device and Food Manufacturing Software

Engagement Model

Technologies

JavaAngular. Redis.  Microsoft SQL Server.  JSON Web Tokens (JWT).  Amazon Web Services (AWS).  Docker.  Ant Design Framework.  Spring Core / Boot.  Hibernate ORM.

Lori Oakley

Executive Vice President, Services

“Our Services organization is scaling quickly, and we urgently needed a custom software application to automate our workflows, without breaking our annual budget. CodeStringers was the perfect fit, supporting us from ideation through go live and everything in between. They innovated, hit their deadlines and released an amazingly high quality application that decreases our internal costs and improves our reputation with our customers. It would not have happened without CodeStringers.”

MasterControl Helps FDA-Regulated Firms with Compliance.

In U.S.Food and Drug Administration (FDA) regulated industries, quality in their products and processes is literally about life and death. These firms’ compliance with government quality control regulations ensures that their products are safe for consumption and use. MasterControl, provides a cloud-based quality management system (QMS) that enables these firms to comply with these regulations by:

  • Managing critical documents related to product design and manufacturing.
  • Ensuring that access to documentation is controlled.
  • Making sure personnel are certified to perform their job functions, and that information access is dependent upon maintaining certifications.

Under the government regulations, documents, including their revisions and history, and training certification information must be maintained for a minimum of 10 years. As such, MasterControl’s new customers have countless documents and records that they need to migrate into MasterControl.

MasterControl’s Professional Services organization is responsible for helping new customers upload that data into the product. Their processes for gathering customer data and loading it into the MasterControl product had been, until CodeStringers’ involvement, entirely manual. MasterControl’s data collection process utilized:

  • Complex spreadsheets.
  • Physical or cloud-based storage to gather documents.
  • Import functionality to import information into the product.
  • Manual information editing in the MasterControl product to add missing information and interrelate data records based on MasterControl’s system.

MasterControl engaged CodeStringers was to design and build a web application to automate the aggregation and loading of information. The goal was to reduce onboarding time by at least 50% to decrease customer fatigue during the process. The results exceeded the objectives. In one case, RapidOnboarder reduced a configuration from weeks of effort and months of duration to 30 minutes. On average, the application has reduced onboarding effort by 57 percent.

%

RapidOnboarder Reduced Onboarding Effort by 57%

The Solution… “RapidOnboarder”.

RapidOnboarder MasterControl engaged CodeStringers to begin ideation around a set of internally-defined best practices to standardize customer onboarding.  Additionally, they sought  a custom software application that automated those best practices.

The primary objective was simple. Reduce time-to-value for customers by at least 50%. Secondary objectives included decreasing customer fatigue caused by the onboarding process, and making customers expansion-ready sooner.

Product Planning.

Prior to writing the first line of code, CodeStringers collaborated for more than a year with key stakeholders in the Product and Professional Services organizations. We wanted to understand MasterControl product functionality and the existing processes for onboarding customers. Our work took the following stages closely resembling a design thinking process:

Stage 1 – Discovery

CodeStringers needed to understand the “day in the life” of an Implementation Consultant at MasterControl. This included both the process and tools they use to assemble and load each customer’s configuration into MasterControl. We also needed to understand the different configuration data types and how those data types interrelate. This process involved several hundred hours of sessions with stakeholders. It culminated in a firm understanding of how the business currently operated.

Stage 2 – Ideation

In this stage, we started to envision the solution. CodeStringers did this by defining a future state, and by envisioning the software that would deliver that future state. We initially identified mechanisms to allow Implementation Consultants to more rapidly capture and interrelate data in the system. However, this process still involved manual effort. Thus, we also defined methods to automatically generate a customer’s configuration in order to dramatically reduce set-up time, while also aligning the auto-generation to the best practices that had been defined internally.

Stage 3 – Prototyping and User Testing

Good software product management is the ability to translate raw ideas into a development and release plan. To wit, we took the first step in that journey by:

  1. Drafting high level user stories (agile development method functional requirements written in the voice of the user).
  2. Creating wireframes of the user interface, and making those wireframes into an interactive (clickable) prototype.

We built no software during this phase. Rather, we used online tools to create a set of screens with clickable zones that mimic real software.

CodeStringers then presented that prototype to the same stakeholders who participated in the discovery phase. We iterated the prototypes numerous times to get to a final prototype that all stakeholders agreed on.

Stage 4 – Release Planning

In the final planning phase, we developed a software release plan, which included:

  • Detailed user stories, including a “definition of done” (acceptance criteria), grouped into epics (related groups of stories that improve requirements traceability).
  • Determining which user stories and epics would be completed in the first release, or “minimum viable product”. We also decided which stories and epics would be deferred to subsequent releases.
  • Time-based estimates of each user story, including both development and testing time.
  • A methodology to translate the effort above into a timeline. It had to factor in multiple developers and quality assurance engineers as well as the overlapping nature of some workstreams.
  • A methodology for prioritization of defects.
    Interface style guides that marry the MasterControl corporate branding with product style guides and the functionality included in the RapidOnboarder application.
  • User interface designs that provide pixel-perfect screen designs for all functionality to be developed.
  • A recommended technology stack, including infrastructure (hosting), web front-end functionality, and database back-end services.
  • An architecture that includes both microservices and initial database schemas.

RapidOnboarder Capabilities.

RapidOnboarder is designed as a multi-tenant enterprise cloud application. It separates customer data into separate database instances and web services in order to secure and compartmentalize confidential customer data. Furthermore, it shares common hosting infrastructure to leverage the economies of scale afforded by cloud hosting. Professional Services Consultants at MasterControl access the application through a “System” console. In the console, they can create and access each customer’s “Domain”, which is each customer’s instance of RapidOnboarder. Customer users access their own domain only. Permissions are managed to ensure that Consultants are able to access and edit only domains to which they are assigned. On the other hand, customer users are able to access, edit, and view only the information that the business needs them to.

The application is designed to allow users to efficiently enter thousands of data records into multiple datasets. They then interrelate records among the datasets. Examples are datasets that capture records of users, and a dataset that includes permission roles. Each of those datasets may include several hundred to thousands of records and the number of interrelationships maybe tens of thousands. Thus, the user experience and interface must allow for rapid entry of the user and role records and for interrelating those records. Then expand this example to a dozen different datasets where each dataset may relate to between two and 10 other datasets.

​The users dataset in RapidOnboarder showing roles to which each user is assigned.

Every dataset allows for manual entry of data, copying data from another formatted source and pasting it into the RapidOnboarder application, or downloading of an Excel import template, completion of the template, and import of the Excel document into RapidOnboarder.

Some of the datasets capture MasterControl product configuration information, such as roles, while other datasets capture customer data, such as users. In the case of configuration information, RapidOnboarder sought not only to make it easier and faster for Consultants to manually enter information, but to actually fully automate the creation and interrelationship of that information, applying industry and MasterControl-specific best practices. We call it “autogeneration” of configuration and, for a customer that can access best practices without customization, autogeneration can reduce weeks or months of effort defining and creating the system configuration to minutes.

Finally, RapidOnboarder allows Consultants to configure multiple MasterControl servers into each customer domain for the purpose of pushing information from RapidOnboarder to the customer’s development, testing, and production instances of the MasterControl product via Application Programming Interfaces (APIs) within the MasterControl product.

Thus, Consultants work with customers to create and interrelate information in the RapidOnboarder application; review the final configuration with the customer in RapidOnboarder; and then “push” the information from RapidOnboarder to the customer’s MasterControl server(s).

RapidOnboarder enables Consultants to “push” a customer’s configuration totheir MasterControl server without laborious manual imports.

Product Development.

Following the planning phase of RapidOnboarder, CodeStringers assembled a 22-person team that included a product manager, project manager, requirements analyst (assistant product manager), 12 developers, and six quality assurance engineers. The application was built using a Scrum agile methodology executed in two-week development sprints.

The initial sprints focused on the underlying architecture of the system, core front-end components for the dataset table and data manipulation functionality (copy, paste, fill down, insert rows, delete rows, etc.), and the multi-tenant architecture and functionality for domain setup and permissions management.

Thereafter, the team developed one dataset at a time, reviewing developed functionality with Consultants after each sprint, gathering feedback, and incorporating desired improvements into subsequent sprints. The first version of the application was released in production two weeks shy of one year from the start of development (23 sprints).

Our engagement with MasterControl was for a long-term relationship to provide a development team at a fixed monthly cost per team member. This type of structure aligns to the needs of customers building software products because it allows for the continual iteration — changes in scope — that agile development supports without requiring continual contractual changes to handle the changes in scope.

The Outcome.

The results achieved exceeded the objectives. In one case, a customer’s configuration that would have taken months to define and create using the prior process was automatically generated by RapidOnboarder in less than 30 minutes. On average, the first version of the application reduced configuration time for new customers by 57%, and subsequent versions added to that time savings.