I’d like to share an idea with you. I think it’s a novel idea. However, I’m still trying to work through the possible pros / cons / feasibility of it, so I’d love to hear your thoughts and suggestions. I’d also love to hear whether it actually is novel or whether you’ve seen something similar in OSS/BSS products before.
The concept potentially relates to the functionality of a few existing OSS/BSS tool types, but I’ll just explain it within the context of Product Catalogues to try to keep the discussion simple.
A telco product catalogue is a solution that manages and organises a telco’s products, services, and resources (PSR). It serves as the backbone for the entire product lifecycle, from creation and definition, to version control, then to provisioning, deployment and retirement. However, there can be significant challenges when making new, modified or version-uplifted products or services. They can be quite time-consuming and cumbersome to test prior to being confident enough to go live with the changes.
Let’s start with some additional context. A product catalogue has a few key features, including:
1. Centralised Product and Service Management
The telco product catalogue provides a unified platform for defining, managing, and organising all products and services. This centralisation ensures that every product or service is consistently represented across the organisation, with clear definitions, attributes, pricing, and rules. This eliminates duplication, reduces errors, and facilitates efficient product management.
2. Hierarchical Structure and Decomposition
A product catalogue typically supports the design of a Product/Service/Resource (PSR) hierarchy, allowing complex products to be broken down into individual components, such as services (CFS – customer facing services, RFS – resource facing services) and resources. This decomposition enables the efficient reuse of components across different products and provides a clear view of the relationships and dependencies between them. This structure also supports bundling, where multiple services are packaged together to create new product offerings. It also means that network / domain teams can define the fundamental building blocks (RFS) that product and marketing teams can then flexibly adapt into product offerings to take to market.
3. Product and Service Lifecycle Management
The catalogue manages the entire lifecycle of products and services, from initial concept and design through to launch, modification and eventual retirement. It tracks versioning of products and services, ensuring that changes are carefully managed to avoid impacting existing offerings (unless intended). The lifecycle management feature also supports phased rollouts, allowing telcos to gradually introduce new products or features, or even evolutions in the underlying network / domains (eg new access network types, topologies or configurations).
4. Dynamic and Configurable Offerings
A key feature of the telco product catalogue is its ability to create dynamic and configurable product offerings. This means that products can be tailored to meet specific customer needs by selecting from a range of service options, resources, contract terms and pricing plans. The catalogue supports rules-based configurations, ensuring that only valid combinations of services and resources are offered, reducing the risk of provisioning errors.
5. Pricing and Discount Management
The catalogue includes pricing and discount management capabilities, allowing telcos to define pricing models, discount rules, product bundles and promotional offers. It supports a variety of pricing structures, including usage-based, subscription, and one-time fees. This feature ensures that all pricing information is consistent across the organisation and can be easily updated as market conditions change. When a telco has many different offers – current hero products through to grandfathered legacy products – it can be like trying to juggle a thousand balls at any given time.
6. Integration with Order Management, Billing Systems and East-West Systems
The product catalogue is tightly integrated with order management and billing systems, ensuring that once a product or service is selected, it can be seamlessly provisioned, billed, and managed throughout its lifecycle. This integration allows for real-time validation of orders against the catalogue, ensuring that customers can only order products and services that are available and correctly configured. Through integration with East-West systems such as inventories, CMDBs, etc, a product catalogue can also coordinate the allocation of resources that are managed by external systems.
7. Support for Orchestration and Automation
The catalogue plays a critical role in the orchestration and automation of service delivery. It helps with the creation of predefined orchestration plans that specify how services should be provisioned, activated, sequenced and managed. These plans can be triggered automatically by the order management system, reducing the time and effort required to deliver complex services and improving overall operational efficiency. However, for many product types, it’s activation requires a combination of manual, semi-manual and automated activities, as well as decision paths and authorisation steps.
8. API-Driven Interoperability
Modern telco product catalogues are designed with API-driven interoperability in mind. They expose their functionalities through APIs, enabling integration with other systems, such as CRM, network management, and customer portals. This API-driven approach ensures that the catalogue can interact with a wide range of platforms and can be easily extended to support new business requirements, products, services and resources.
9. Real-Time Updates and Synchronisation
The catalogue ensures that all product and service information is up-to-date and synchronised across the organisation. This real-time capability is essential for ensuring that customers receive accurate information about available products and services and that orders are processed based on the most current data. It also allows for real-time adjustments for pricing, service availability determination and configurations based on network status, market conditions or customer demands.
That’s a lot of context-setting, sorry! Just a little more, then we’ll get to the point!!
10. Design-Time and Run-Time Functionality
An important feature of many product catalogues is that they support design-time features (ie helping the telco administrators to design the PSR breakdowns and orchestration plans) and run-time features (ie for systematically turning those designs / rules into fulfilled orders).
Design-Time Functionality:
- Most product catalogues support robust design-time functionality, which are the essential templates used for defining, configuring, and managing the products, services, and resources before they are made available to customers
- As described earlier, this includes the creation of Product, Service, and Resource (PSR) definitions, setting pricing, defining service hierarchies, and creating orchestration plans
- During design-time, a telco’s authorised users can configure and model products, set rules for configurations, and design how services will be orchestrated and delivered
- The design-time phase also includes lifecycle management, versioning, and governance processes to ensure that products are thoroughly vetted before being deployed
Run-Time Functionality:
- Product catalogues also typically support run-time functionality, which is essential for the organised instantiation of every unique customer’s order according to the rules defined during design time
- This functionality allows the system to dynamically generate the necessary configurations and provisioning steps based on the predefined models and criteria
- At run-time, the product catalogue interacts with other systems, such as order management, network inventory and billing, to ensure that products are correctly instantiated, delivered, and billed. This phase includes handling live customer orders, all their requisite tasks, managing resources (human and machine), and executing orchestration plans in real-time
I’ve attempted to describe these two “lungs” of a product catalogue in the diagram below. It sees the flow of customer orders represented by the yellow arrow running through the run-time “lung,” which in turn uses the PSR definitions and orchestration plan created in the design-time “lung” [however, I’m not totally convinced that this is the best way to articulate it. If you have any suggestions for how to improve the diagram, I’m all ears!!]
Now, let’s finally get to the core of the idea I want to run past you.
11. Finally, we get to the main Idea – Test-Time Functionality!!
While design-time and run-time features are commonplace, I don’t recall ever seeing “test-time” capabilities built into any OSS/BSS tools (such as Product Catalogues). The process of testing a newly designed service might traditionally be handled by separate testing and validation tools rather than being fully integrated into the product catalogue itself.
The concept of test-time functionality might include features such as:
- Having an in-built test harness and/or simulation environment that allows for testing of new or modified PSR definitions, orchestration plans, and new service configurations
- Automated regression testing to ensure that changes or new implementations do not negatively impact existing products and services
- Workflow logging – the logging of messages, workflows, activity sequencing and activation results to ensure correctness and fall-out avoidance. It should test how integrations are invoked and how workflow complexities such as decision points are being handled, as well as other dependencies (eg data formatting from integrations like east-west systems)
- These features above help in validating the correctness and stability of configurations before they are deployed in a live environment. They would use dummy, simulated or copied orders. However, they can’t reflect the true behaviours of production environments
- Therefore, a key feature of the test-time functionality would be having a form of Load-Balancing that is able to take a tiny sub-set of real production orders and run them through the real production run-time environment
- Order flagging functionality (combined with order logging functionality described in dot-point 3) would allow the tiny sub-set of real production orders to be closely observed and tracked for any adverse behaviours. It may not just be the new or modified Product, Service, Orchestration Plan or API that is tested though. The load balancer may also divert a sub-set of other orders through the run-time engine to perform regression testing
- Programmability – to allow testing to be invoked by other systems, on-demand, or on a scheduled basis (to assist with test automation, sequencing and regression test situations)
Here’s a concept of where the Test-time functionality sits in relation to the design-time and run-time components in a product catalogue.
What do you think? Is it novel? Is it feasible? Could “test-time” be applied to other OSS/BSS tools other than product catalogues? Does it already exist?
Post-script:
Thanks to Vance Shipley of Sigscale for highlighting the following:
For the APIs in your diagram we can consider these TM Forum Open APIs:
- Product Test Management API (TMF769)
- Service Test Management API (TMF653)
- Test Case Management API (TMF704)
- Test Environment Management API (TMF705)
- Test Data Management (TMF706)
- Test Result Management (TMF707)
- Test Execution Management API (TMF708)
- Test Scenario Management API (TMF709)
- General Test Artifact Management API (TMF710)
- JAD (Joint Agile Development) Testing Component Suite (TMF913)
Having test specifications tightly integrated into the catalog is exactly what you want! Here’s the TM Forum SID view: