Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

People

Contributors

Alex Struk - Senior Full Stack Developer, Digimod

Allieren Ward - Senior Content Design Lead, Digimod

Arlen Tees - Product Owner, Digimod

Bahaa Harmouche - Service Design Lead, SaaS Adoption Team

Daniel Hirner - Senior Product Owner, SaaS Adoption Team

Nia King - Web Content Strategist, Digimod

Nate King - Front End Developer

Rebekah Ford - Scrum Master, SaaS Adoption Team

Shea Phillips - Product Owner, Developer Experience

Contacts

Daniel Surdu - Senior Security Architect, digital STRA

Bethany Frei - Manager, digital PIA

Andy Teppin - CITZ Service Now contact

Stephen Gidden - CSAM - interested in Service now for Software Asset Management

...

For contributors and contacts, see here.

SaaS Catalogue

SaaS Catalogue will be a web-based application used by users to assist them with finding, assessing and procuring SaaS. Users will be able to browser software, see information about the products such as price and description as well as see which ministries and individuals already have subscriptions.

...

If, on the other hand, the application is already in the catalogue but the user’s ministry has not gone through procurement, then by applying through the catalogue their subscription will be added to the existing application listing.

Ultimately, however, users would like to have an app store experience, such that they can acquire actual software from the catalogue, similar to that of the Software Center. While meeting that exact experience may be challenging given the complexity of the procurement process, app store approach should serve as a model to be followed to the highest extent possible.

Software licenses come in 3 varieties - enterprise (government wide), corporate (ministry-wide) and personal. Enterprise agreements don’t require SaaS procurement process, corporate agreements make software available for the whole ministry and need to be done only once, while personal agreements are done on the one-off basis. Note that there are instances where even though PIA/STRA process has been completed within a ministry, it may need to be repeated with some variations for another team within the ministry if they have different requirements. Other factors such as a change in number of users may also require re-assessment.

...

Other Features

Airtable SaaS Directory UX Research carried out by the SaaS Adoption Team produced a set of features that users perceived as desirable:

  • Ability to report bugs

  • Ability to search - by title, but also possibly by description

  • Searching by tag

  • Simple UI

  • Search faceting

  • Search autocomplete

  • Software features listed in bullets, and what they mean in terms of solving business problems

  • Product comparison (user have to compare any product over $1000 to other 3 products)

  • Dark mode theme

  • App store experience - users would like to walk away from the directory with software that’s ready to use, similar to that of Software Center

Build Options

Backstage.io

...

ServiceNow is Application Platform as a Service (APaaS) that allows users to create IT process automation products. One of the features of the platform is the ability to create applications. The applications are written primarily with JavaScript and some version of a constructed using low-code approach using modules to perform custom tasks, such as form designer and workflow automation. Custom code is written with JavaScript and the platform also provides an interface to an SQL database. Of note is that digital STRA is currently implemented using ServiceNow (Daniel Surdu). In addition to the ability to create custom applications, the platform also comes with a broad range of low- and no-code solutions in the form of packages that can be assembled to produce automated workflows. Presumably SaaS catalogue may be constructed in ServiceNow either in its entirety (frontend and backend), or the backend could be constructed in ServiceNow with an API fed into a custom frontend (e.g. React).

Advantages

  • Integration with STRA process may be simplified due to the co-existence on the same platform

  • Development may be is simplified do due to the low-code approach to the application building

  • Developer instances are free and provide low barrier for entry

  • OCIO is moving more services into ServiceNow and it appears to be the corporate direction

  • Scalability, provisioning, security and reporting/analytics are built-in

Disadvantages

  • Will require developers learning how to develop in the new environment, if done internally (approximately 1-2 months)

  • OCIO’s provisioning model of the ServiceNow has barriers towards implementing custom solutions (they prioritize simple things such as changing voicemail or requesting a new phone), thus building SaaS catalogue through ServiceNow may take a prohibitively long time .without internal developer resources

  • Custom functionality is typically outsourced by OCIO and is expensive (if no internal resources are available)

  • May require purchase of packages to implement some aspects of the system

  • Licensing costs

WordPress

Given that currently digital.gov.bc runs on WordPress, SaaS catalogue could be developed as a plugin. Gravity Forms may be leveraged for user input and new submissions mapped onto custom post types. Authentication may be accomplished with MiniOrange plugin to provide IDIR login protection. Once the custom post type is created, it exists in a draft state until an administrator verifies the information and publishes the post, causing it to appear in the catalogue.

...

  • May not cover all use cases

  • May not integrate with external systems

  • May not provide APIs

Airtable Interface Designer

Airtable introduced a way to build custom interfaces without any code through the Interface Designer feature. This feature allows users to create alternative interfaces to the standard Airtable management UI using spreadsheets (see Fig.2). Users can then selectively view specific fields through respective UI elements and also update data in the Airtable backend.

Advantages

  • Does not require development

Disadvantages

  • Restrictive features may not meet exact requirements

  • May not support more complex business needs

  • Airtable backend may need to be replaced to support API integrations etc which would cause frontend redesign as well

Airtable API with custom frontend

...

Backend improvements can be done incrementally to address acute pain points, while clarifying the full set of requirements to determine whether a brand new backend is actually necessary or can be accomplished using a hybrid solution of Airtable backend in combination with auxiliary tools such as CHEFs and automation scripts.

Advantages

  • Does not require building a new custom backend

  • Decouples front end into a separate project - can connect it later to a different backend

Disadvantages

  • The UI may become irrelevant if an alternative platform is considered that is capable of constructing it’s own UI (e.g. ServiceNow portal)

  • Airtable APIs may not be optimally suited to drive all front end features, resulting in additional code to bring data into a desirable format

  • Requires continued Airtable subscription

  • Backend features might be restricted by the platform and cause issues with more advanced features, like API integrations with external services and more advanced business processes

  • Continued use of Airtable backend may result in an unstable, difficult to maintain system

...

  • Decouple front end from the backend and develop them separately

  • Develop front end using React or a similar framework first, while maintaining the current Airtable backend as a management interface

  • Fully understand the product roadmap to avoid developing one feature at a time using a system that may not meet final goals, however:

  • Assess whether Airtable backend can be augmented to address current deficits related to data entry (for example automating data input from CHEFs), API integrations (for example by running a standalone script to do periodic imports from external systems) and process integration (for example by using CHEFs in combination with automation scripts to drive those processes). These approaches may provide low cost solutions (but may not be ultimately appropriate due to stability concerns).

  • Determine if available SaaS governance tools are capable of meeting the business needs. Check for the availability of APIs for the possibility of driving the existing frontend using the an off-the-shelf product instead of Airtable. There is a possibility of using ServiceNow SaaS License Management module with modifications to drive custom SaaS catalogue features.

  • Further investigate ServiceNow custom application build for viability as it is designed for this type of IT and business process automation

  • If none of off-the shelf products are appropriate and sufficient developer resources are available, develop a custom backend application and host it on a cloud

  • If developing a custom management backend in the future, try to avoid developing the management interface from ground up, instead leveraging existing packages, like nocodb