CASE STUDY
MasterControl “RapidOnboarder”
Scalable application for onboarding FDA-regulated companies and their manufacturing quality documentation to MasterControl’s quality management software product.
Summary
MasterControl engaged CodeStringers for more than five years to develop and maintain a web application used by customer implementation consultants to onboard MasterControl customers. Read more below on the business need and solution.
Technologies Used
Engagement Model
Industry
Pharmaceutical, Medical Device and Food Manufacturing Software.
“CodeStringers is genuinely unique among software development partners.”
“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.
For manufacturers of pharmaceuticals, medical products and food, product quality is quite literally an issue of life or death. Hence, the U.S. Food and Drug Administration (FDA) regulates those industries and specifically their manufacturing processes and documentation. Although the standards of quality vary depending upon the type of product being manufactured and each company’s role in the manufacturing process, in all cases companies are required to maintain documentation for every step of a manufacturing process and the history of documents as they pass through internal approvals, FDA inspections and other workflows. CodeStringers’ client, MasterControl, provides a cloud-based quality management system (QMS) that enables manufacturers 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.
Regulated Document & History Retention
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 upload to MasterControl’s product.
However, doing so isn’t as simple as just uploading files to cloud-based storage. MasterControl’s QMS enables customers to configure sophisticated workflows to handle document tasks such as approvals, govern editing and viewing permissions to documents, and create metadata for documents that is required for regulatory compliance.
Hence, when MasterControl on-boards each customer, the QMS must be configured to align to each customer’s existing processes, documentation must be uploaded, and each document and its history integrated into the QMS configuration.
MasterControl’s Professional Services organization is responsible for leading each customer through the onboarding process. Until CodeStringers’ involvement, consultants gathered information from customers about their required QMS configuration using spreadsheets. Thereafter, the consultant would manually import both the configuration and documents into the MasterControl QMS.
A Digital Transformation
The use of spreadsheets and imports was prone to human error and, even when successful, required significant manual updates to data to add missing information.
MasterControl engaged CodeStringers 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 MasterControl’s customer implementation time by 57 percent.
The Solution… “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.
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:
- Drafting high level user stories (agile development method functional requirements written in the voice of the user).
- 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.
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).
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.