Regression Testing and Business Verification
How to Ensure Your Modernization Project is a Success Part 3
In our previous post, we suggested that you establish a team early on to mine your database for edge cases and other examples that can be used for regression testing, define expectations ahead of time based on those examples, and test-as-you-go. In our final post of this series, we’ll go deeper into testing.
Why is Regression Testing So Important?
Regression testing is done to validate that an application functions as expected after a code change or other update. In decision migration projects, regressions tests ensure that the decision outcomes in your new system match your expectations. What’s important to remember is that you’re comparing decision outcomes and not the rules themselves.
Another reason that regression testing is a must-do is that it will help you identify what we call “logic band-aids.” These are those messy workarounds that you had to do outside your legacy system to make it work properly. Usually these workarounds exist because your legacy system lacked enough expressivity and/or functionality on its own. Logic band-aids can live in various places, including your code, your database, or your UI. Finding them is one of the hardest parts of the migration project. Regression tests can clue you in on where to look. And once you find them, you should replace them with easy-to-understand decision logic on the new system.
Regression Testing Best Practices
Regression testing can be time consuming, so here are ways that you can speed up the process (and your overall migration project):
Include regression testing capabilities as part of your new technology evaluation:
As regression testing should not only be a part of your migration process but also an ongoing part of decision management, your new system should allow you to run regression tests easily. What to look for include the ability to run hundreds of thousands (if not millions) of test cases quickly, the ability to easily filter out test cases where outcomes do not meet expectations (ex. add QA flags), and the ability to report on decision outcomes (ex. custom dashboards). This short video shows you how you create dashboard reports in SMARTS to monitor and compare KPIs when you modify decision logic.
Build your library of test cases as part of your planning process:
We already mentioned this in our previous post but want to reiterate it here. Ideally, by the time you start your migration, you should have your test cases ready, so that you can test-as-you-go. In addition, once you have your library, you can continue to use these test cases for regression testing every time you modify your decision logic moving forward.
Augment regression testing with business verification:
Regression testing only works when your old system is error-free. So even if your decision outcomes in the new system match what’s in the old, the outcomes may not be accurate. This is where business verification comes in handy. These are additional business rules applied to your business rules to validate that your decision logic is correct. For example, you may have a rating table that segments people into different tiers where the higher the tier, the higher the rating. You can create a verification rule that checks whether Tier 1 < Tier 2 < Tier 3, etc. If Tier 3 < Tier 2, you know you have an error in your table. Focus your verification rules on higher-level patterns like this to help you catch any errors from your old system. And like with regression testing, continue to run these checks every time you modify your decision logic post migration.
Want to learn how SMARTS empowers business analysts to make smarter, faster operational decisions? Contact us today to request a custom demo.
Decision Migration Techniques & Best Practices
How to Ensure Your Modernization Project is a Success Part 2
In our previous post, we discussed why migration should be a part of your decision modernization planning process. In today’s post, we’ll cover decision migration techniques and best practices. As a reminder, while this blog series provides tips for any modernization initiative, our focus is on projects related to operational decision-making and decision management.
Decision Migration Techniques
Decision migration projects are similar to other migration projects. In general, there are three techniques with variation in-between:
- Fully Automated
- Rule Conversion
- Manual Rewrite
While we believe a manual rewrite produces the best quality, this technique is also the most labor intensive. Therefore, blending the three techniques will probably be the best approach for your organization. Let’s take a closer look at each technique.
Fully Automated: automatically translate decision logic that is reliable and stable
- How it works: extract your rules (decision logic code) as data and then apply business logic to convert that data to the decision logic representation of your new system
- Pro and Cons: fastest technique but will transfer over any errors and ugly code from the old system — the decision logic in the new system may still be difficult for business analysts to understand and manage
- When to use it: where your decision logic is reliable (error-free) and stable (doesn’t change)
- What to look for when evaluating new technology: automated import capabilities
Rule Conversion: literally translate decision logic that business analysts are familiar with
- How it works: manually translate rules from the old syntax to the new syntax
- Pro and Cons: requires less skills/time than a manual rewrite and can incrementally improve the readability of the rules but prevents you from leveraging the richer features of the new system
- When to use it: pockets of decision logic that business analysts were already comfortable managing in the old system (ex. a decision table)
- What to look for when evaluating new technology: expressivity of the language
Manual Rewrite: completely rewrite ugly and outdated decision logic
- How it works: redesign the data model, simplify logic, and address decision limitations
- Pro and Cons: enables you to take advantage of the richer features of the new system to produce the best quality (redesign decisions and decision management for business analysts) but requires a significant upfront investment (skilled labor)
- When to use it: crucial areas of your decision logic that currently cannot be effectively managed by business analysts
- What to look for when evaluating new technology: verification capabilities
A way to blend manual rewrite with fully automated could be to focus the redesign on the decision flow (sequence of decision steps). Once the decision flow has been established, the rules that operate at each decision step can be fully automated from the old system. Regardless, determining your migration approach will take some time (and why migration should be a part of your decision modernization planning process).
Decision Migration Tips
To help you plan and speed up your migration approach, here are a few tips:
- Start with the data model: Whether you decide to keep your existing data model or create a new one, you should look for opportunities to augment. In addition, establish a team early on to mine your database for edge cases and other examples that can be used for regression testing.
- Get rid of ugly code: Where possible, remove concepts that are confusing such as null, nested logic, and string assembly. Instead, replace them with syntax (in place), business terms, calculations, and functions. In other words, the more expressive you can be, the better.
- Define expectations ahead of time and test-as-you-go: Does an outcome on the new system have to exactly match the outcome of the old system or can there be variability? Once you establish expectations, be sure to test as you build decision logic (makes it easier to identify errors than waiting til the end to QA), using the edge cases that you identified early on.
Through proper planning and utilizing the tips we mentioned, you can avoid dragging out your migration project for months, if not years. For example, one of our bank clients was able to migrate a multi-channel credit origination system onto our decision management platform in 2 weeks! But more importantly, because they understood the importance of testing, they were able to improve the quality of their decisions from the get-go. In our final post, we’ll go deeper into regression testing and business verification during migration and beyond.
Want to learn how SMARTS empowers business analysts to make smarter, faster operational decisions? Contact us today to request a custom demo.
Decision Migration & The “Golden Rule”
How to Ensure Your Modernization Project is a Success Part 1
When it comes to modernization, migration is often overlooked in the planning process. It’s no wonder that digital transformation failure rates have been upwards of 70% according to major consulting firms. Recently, Carole-Ann Berlioz, Co-Founder and Chief Product Officer at Sparkling Logic shared her insights from client migration projects in our webinar An End-User Approach to Modernizing Operational Decision-Making. In this 3-part series, we dive deeper into the webinar key takeaways:
- First, include migration support capabilities as part of your new technology evaluation
- Second, pre-plan the migration project so it doesn’t take years
- Finally, test, test, test!
While the blog series provides tips for any modernization initiative, we will focus on projects related to operational decision-making and decision management.
The Case For Decision Modernization
Operational decisions are the day-to-day, repetitive, and often high-frequency decisions that keep an organization running and impact an organization’s bottom line. Examples include:
- In Insurance, whether or not to accept an insurance claim
- In Financial Services, how to price a credit offer for an applicant
- In Retail, how to efficiently get your products to your retail locations
- In Healthcare, what treatment plan to recommend to a patient
In an effort to gain more operational efficiencies, organizations have invested in automating many of these operational decisions. However, more often than not, the focus was on processes and not on the decision-making itself. As a result, the code responsible for decision-making is typically buried within various systems. Consequently, managing decisions is cumbersome and requires IT intervention. Even small changes to decision logic would require going through the system development life cycle, preventing organizations from adapting quickly to market, regulatory, and other external changes. Therefore, many decision modernization projects involve isolating the code responsible for executing decision logic and treating it as a separate asset to enable the business to:
- Ensure the consistency of decisions
- Rapidly adjust decision logic
- Improve decision quality over time
Why Migration Should Be a Part of Your Decision Modernization Planning Process
From use-case specific technologies like loan origination software to universal decision management platforms like SMARTS, there are many technologies available to choose from. Regardless of whether you build or buy, migration should be front and center of your modernization planning process. That’s because how you migrate will determine how well your new system will serve the end user — the business analysts responsible for managing those operational decisions.
This brings us to what we call the “Golden Rule” of Decision Migration: think like a Business Analyst because the future of decisions lies in their hands. And in our experience, the #1 thing business analysts want to avoid is code. In our next post, we will cover decision migration best practices to minimize code.
Want to learn how SMARTS empowers business analysts to make smarter, faster operational decisions? Contact us today to request a custom demo.
Our customers — who they are, what they want, and what we bring them
As an enterprise IT solution, SMARTS has different customers in the same organization who directly use it or indirectly benefit from it. This blog post aims to succinctly describe who our customers are, what they want, and what value we bring to each of them that matches their unique needs.
In our terminology, these are the customers in the organizations who design, author, deploy, and update decisions according to the company’s policies and industry’s directives.
When they looked for a decision management solution, they looked for product simplicity and rich functionality. More importantly, they wanted autonomy once the solution was in place.
After a few weeks after training on SMARTS, our business analyst customers reported that they very much liked to have data, models, and business rules in the same tool. They enjoyed how we succeeded in managing SMARTS’ evolution to have both richness and easiness in the same product. They also enjoyed being able to quickly author, test, deploy, run, monitor, and change decisions. Their experience with SMARTS was a joy as they could focus on the decisioning process and its outcomes instead of the technology to implement it.
Business users are the people who run, monitor, and manage the performance of the business. In our case, they are the internal customers of business analysts. They are the ones who use the solution daily.
They wanted to know how easy it will be for them to monitor decisions built by business analysts and make the necessary changes when the actual performance may deviate from the expected performance.
After using SMARTS, business users reported the following benefits: Quick change-test-deploy-run cycles, being able to work without coding and with no prior knowledge of machine learning or business rules, just with their knowledge of the business and using web forms and point-and-click.
By IT, we designate IT the people who install and connect the solution to the rest of the organization’s IT system. They asked for integration, performance, security, and fit with the IT global architecture and governance.
They want to have business analysts and business users to be autonomous but at the same time being able to monitor the solution as the rest of the IT infrastructure.
IT people liked all the performance, security, integration, and scalability we promised. They also appreciated SMARTS adherence to the enterprise IT architecture and governance as expected. They liked how easily they could deploy SMARTS on premises or in the cloud. Finally, they also very much liked to have no additional development or changes in the current applications.
These are the people who develop and manage models using data science libraries through languages such as Python, R, SAS, and SPSS.
They are not direct users, but they were willing to see their models fully operational into the new solution while they continue their effort on enhancing existing models and experimenting with new ones.
Thanks to SMARTS, they were able to know the performance of their models in production with real data and transactions. SMARTS was an effective demonstrator of their models.
In our case, these are the people who head organizations or verticals where decisions are at the core of their operations, throughout all the organizations activity. Their attention is “more revenue, less cost, and why not both!”
They wanted to hear about similar successful implementations in their market, in particular the time it would take to recoup their investment in the new solution, and the strategic advantages it will provide them after one year or two in production.
To management people, we brought strategic benefits. They could operate the business under a decisioning process that implements the business strategy. Their organization could finally make informed, error-free, and unbiased decisions. And they were insured that the decisions taken were in full compliance to internal policies and industry regulations.
Sparkling Logic is a Silicon Valley company dedicated to helping businesses automate and improve the quality of their operational decisions with a powerful decision management platform, accessible to business analysts and ‘citizen developers.’ Sparkling Logic’s customers include global leaders in financial services, insurance, healthcare, retail, utility, and IoT.
Sparkling Logic SMARTSTM (SMARTS for short) is an all-in-one low-code platform for data-driven decision-making. It unifies authoring, testing, deployment, and maintenance of operational decisions. SMARTS combines business rules with predictive models to create intelligent decisioning systems.
If you envision modernizing or building a credit origination system, an insurance underwriting application, a rating engine, a product configurator, a condition-based maintenance application, or such applications, SMARTS can help. Just contact us or request a free trial.
Sparkling Logic SMARTSTM in 10 Questions and Answers
Sparkling Logic helps businesses automate and improve the quality of their operational decisions with a technology platform that is powerful and simple: SMARTS for short. In this post, we present SMARTS through 10 selected questions and answers.
1) What is SMARTS?
SMARTS is a decision management platform for business analysts and ‘citizen developers’ to author, test, simulate, deploy, run, and change decisions autonomously, without involving developers or IT beyond first installation.
2) Is SMARTS a business rules engine?
SMARTS is more than a business rules engine. It integrates multiple decision technologies into the same platform. SMARTS provides eight execution engines: A decision flow engine to sequence tasks of a business process; a state-machine engine to orchestrate tasks; a rule set engine to sequence decisions; a sequential engine that either fires all or just the first valid decision; a Rete-NT engine for inference; a lookup engine for data search in large datasets; a PMML engine to execute predictive models; and a DMN 1.3 engine to execute decision models. Depending on the problem you have, you may choose one or the other, or even combine them in the same set-up.
3) What are the typical applications for which SMARTS is the best fit?
In the financial, insurance, and healthcare services, SMARTS often won over the competition for origination and underwriting, pricing and rating engines, account management, fraud detection, and collections and recovery. More generally, SMARTS is a good fit when there are a lot of decisions that are data-based, frequently invoked, and likely to change often.
4) What is the difference between authoring business decisions and rules with SMARTS and coding them directly in the final application?
You can code decision logic but you will need detailed specifications from business analysts. This process may take too much time when compared to SMARTS. And once the decision logic is coded, it becomes complicated for business analysts to understand and take control of. SMARTS targets business-critical decision logic that either implements business models, corporate policies or industry directives in a dynamic and continually changing economy. Think of all the financial, insurance, and healthcare regulations since the financial crisis of 2008 and the changes since the coronavirus crisis of 2020. These two crises are typical examples of complex situations where business decisions not only need to be implemented quickly and accurately, but they also need to change dynamically and continuously.
5) Does SMARTS come with a decision design process?
SMARTS not only supports but it also augments the Decision Model and Notation (DMN) standard of the OMG (Object Management Group). DMN models decision dependencies very well, but not decision sequencing, which is also a natural way experts use to describe a complete decision logic. SMARTS addresses both dependency and sequencing through the combination of Pencil, RedPen, and the decision flow.
6) What machine learning models does SMARTS support?
SMARTS supports the execution of 13 machine learning models including classification, linear and logistic regression, support vector machines (SVMs), decision trees, random forests and ensemble learning, clustering, and neural networks. SMARTS uses PMML, the standardized predictive model markup language, to import and execute whatever model your data scientists have built.
7) Does SMARTS integrate with business process management platforms?
Yes, a SMARTS decision service can be natively invoked by a business process like any other service. Also, for decision-centric processes, SMARTS provides an orchestration capability.
8) What is the difference between an RPA tool and SMARTS?
If you think of a process as a sequence of “what to do”, “how to do it”, “do it”, and “report it”, then SMARTS automates the “what to do” and “how to do it” tasks while an RPA tool automates the “do it” and “report it” tasks.
9) Is SMARTS cloud-based?
SMARTS was designed from the ground-up for the cloud. Whether you have chosen to host your application or use our SaaS solution, we provide you with the most modern tools. SMARTS comes in a container, ready to install on your premises, AWS, GCP, Azure, or Aliyun. Choose yours, change your mind, no need to recode to redeploy your application.
10) What makes you unique?
Our motto is “your decisions, our business”. We enjoy nothing more than helping customers implement their most demanding business requirements and technical specifications. Our obsession is not only to have clients satisfied but also to be proud of the system they built. So dare to give us a challenge and we will solve it for you in days, not weeks, or months. Just email us or request a free trial.
In this post, we introduced SMARTS through 10 selected questions and answers. If you have more, feel free to read our blog, sign up for our webinars, or contact us. We would be happy to get back to you very quickly.
Sparkling Logic is a Silicon Valley company dedicated to helping businesses automate and improve the quality of their operational decisions with a powerful decision management platform, accessible to business analysts and ‘citizen developers’. Sparkling Logic’s customers include global leaders in financial services, insurance, healthcare, retail, utility, and IoT.
Sparkling Logic SMARTSTM (SMARTS for short) is a cloud-based, low-code, decision technology platform that unifies authoring, testing, deployment and maintenance of operational decisions. SMARTS combines the highly scalable Rete-NT inference engine, with predictive analytics and machine learning models, and low-code functionality to create intelligent decisioning systems.
Hassan Lâasri is a data strategy consultant, now leading marketing for Sparkling Logic. You can reach him at email@example.com.
Software industry trends behind the digital transformation revolution
This article presents the three software industry trends driving the digital transformation revolution: DevOps, low-code / no-code automation, vertical integration with digital decisioning.
IntroductionThe pandemic changed tech priorities for many people both at work and home making a ‘hybrid’ work a top initiative. Where and how we do the work accelerated the need to improve customer digital experiences and efficiency across work, shopping, and everyday chores.
The data supports this new trend. The independent research firm Omdia compiled over 300 responses from executives at large companies indicated that working away from traditional offices will become the new norm. 58% percent of respondents said they will adopt a hybrid home/work. Even more interesting is that 68% of enterprises believe employee productivity has improved since the move to remote work.
Similarly, adoption of everyday on-line activities such as shopping, banking and entertainment further accelerated the pace of digital transformation. The need for improved applications increased the pressure on companies to relaunch efficient, friendly front-end customer apps with more intuitive UX. The back end now needs to support faster turnaround with the need to automate processes for the new on-line community of users demanding faster, cleaner, and more intelligent offerings.
To respond to this digital transformation, companies are rapidly adopting easy-to-use integrated enterprise software tools to optimize and accelerate development of these efficient digital products.
Several trends like DevOps, Low-code/automation and vertical integrations with integrated digital decisioning have emerged to help enterprises take the digital transformation journey faster and cheaper.
DevOpsDevOps is a software development concept bringing together historically disconnected functions in the lifecycle of the software development. Traditionally, business analysts would define the problem, developers would interpret the concept and build applications, and operations teams would test, report bugs and provide feedback. The disconnect between the functions, silo’d approach created inefficiencies, increased costs and slowed down application releases.
The emergence of integrated tools and processes which integrate this multiple aspect of software development and promote collaboration between these different functions supported growth of the DevOps industry.
In fact, the market data shows that these trends are supported by the investment community and exit activity. According to Venture Beat, in 2Q 2021, Venture funding for global DevOps startups reached $4 billion and the exit activity deal value was dominated by the IPOs of UiPath (robotic process automation) and Confluent, (data / application integration platform).
Low code / no code automationApplication development is also coming closer to non-developers with low/no-code approach and automation.
Software engineering, traditionally owned by IT and software engineers, has always been coveted by other, non-IT stakeholders in the enterprise. In 1991, Powerbuilder introduced a revolutionary concept of a development framework, aiming at democratizing development by allowing non-software professionals to get access to application development. Perhaps ahead of its time with clunky UX, WYSIWYG, Powerbuilder started the revolution of introducing emergence of ‘citizen-developers’, people who originally participated alongside IT in shaping the application and business models but could not code and create the applications themselves. It also introduced data integration with application logic and object-oriented concepts like inheritance and polymorphism and encapsulation, bringing software engineering to the masses.
Fast forward to 2020’s, virtually every enterprise tool platform and enterprise customer have adopted a low-code/no-code approach. The mission is the same as 30 years ago – to provide easy to use, graphical UI/UX, drag and drop concept to application development and allow business analysts, ‘citizen-developers’ and non-software engineers to create, test and even deploy enterprise applications.
Vertical integration with digital decisioningThe perennial challenge of allowing non-developers to create applications is the conundrum of how deep they can develop without coding and to what extent they can customize complex enterprise cloud applications without IT and coding.
To accelerate digital transformation, enterprise software vendors are emerging mostly from the workflow / BPA world, such as Pega and ServiceNow. They are applying a two prong approach – core tool collection and vertical integration. The workflow vendors have developed (or acquired) a collection of point tools in a core-component framework. Those components typically include AI/ML, reporting, workflow, RPA (Robotic Process Automation), case management, rules engine, decision management, knowledge bases, BPA (business process automation) and process orchestration. Those components typically feature common UI and work across a normalized data model and unified architecture.
But that is not enough. To satisfy modern rapid digital transformation needs, in case of fintech enterprise customers (i.e. banks, insurance companies and financial services) also now require pre-built workflow, data and application models. These vertical templates are higher level and more specific, providing out-of-the box, drag/drop solutions like credit card operations, loan management and payment operations. Using the low-code approach, a business analyst can graphically drag/drop pre-defined steps into a loan origination workflow with pre-defined commonly used tasks, created using best practices defined by the ‘centers of excellence’. Companies like UIPath have created a 3rd party marketplace for additional steps and templates created by analysts and consultants. (Those steps could be ‘get customer data’, ‘OCR input form’, ‘scrub customer data’, authorize user’, ‘assess risk profile’ etc.).
Beyond the top level tasks, the functionality ultimately becomes more complex and the sophisticated customer needs powerful decision capabilities to introduce their own business rules and implement proprietary features. The ‘secret-sauce’, which separtes most common steps from proprietary concepts distinguishes top corporations from the competition, requires more sophisticated digital decisioning tools. These digital decisioning tools enable non-developers to customize and manage decision logic, implement AI/ML features, run A/B testing and visualize performance results on training and production data in real time.
To satisfy most common customer base, digital workflow vendors typically provide rudimentary business rules integrated in their low-code platforms and further integrate them with the downstream workflow platforms and vertical ecosystem vendors (i.e. FiServ, Jack Henry, SAP, Salesforce and FIS in banking for example).
The most sophisticated and demanding customers, however, need a more sophisticated set of digital decisioning tools like standalone professional DM platforms. To simplify and visualize this complex decision management, a new generation of low-code digital decision management platforms like Sparkling Logic emerged. These platforms integrate historical business rules engine, data and AI, demystifying machine-learning and providing low-code approach to development and monitoring of application logic performance, continuously as the business logic and training data change and drift.
The pandemic, hybrid work and pervasiveness of the cloud computing have irreversibly changed the software application development. Enterprise customers are seeking and deploying better, faster, more integrated software tools. DevOps integration, low-code, vertical templates, integrated AI and digital decisioning are becoming a new normal while defining the next generation of applications, created not only by software engineers, but by mere mortals across the enterprise.