There are days when technology manages to leave me breathless and over the last few months that feeling has happened several times - which is awesome. The most recent occasion was when I started working with a Bluefin partner called smartShift; a company who we collaborate with to accelerate the code optimisation and/or remediation phases of our SAP HANA migrations. The results of this partnership have been impressive.
Let me introduce you to smartShift
smartShift has built a product, or rather a suite of products, which automate code remediation and housekeeping for various applications and programming languages - SAP products being among them.
Where do they fit into the HANA story?
When starting a HANA migration project there are two, often three, critical changes to an SAP system:
- An O/S change, to either Red Hat or SUSE Linux
- A database change, HANA
- An SAP version change, to bring the system to latest support or EhP level.
These changes mean that there is a level of code remediation and also a level of testing to be performed. This code remediation and optimisation is where smartShift technology is amazing and has taken my breath away.
The automation advocate
Having worked in several System Integrators (SI), I’ve witnessed two main approaches to the remediation of code: manual or automated. As a long-time advocate of automation, I was always disheartened to see many SI’s and clients deciding to take the manual approach to resolving code remediation. Sometimes the decision was taken to maximise the revenue from a customer, other times it was because developers felt a tool could not match their expertise in fixing issues and in some cases it was because the customer was not comfortable with automation.
From my experience, these reasons miss the point of what the technology and the process is designed to do. At its heart, code remediation is the job of fixing other people’s code to recreate an existing process or outcome - hardly the most exciting job in the world and often repetitive with the same changes needing to be made to multiple blocks of code. I am sure many people would agree that this is hardly a good use of an experienced developer’s time. smartShift’s algorithms identify these blocks of code which need remediation, calculates the changes which need to be made to the code and then implements the changes.
You will have clearly noticed that I’m a believer in automating repetitive tasks. It has so many advantages, including:
- The same changes will be applied in the same way every time,
- It is a parallelizable activity which reduces the time taken to apply the changes,
- It is an auditable process which produces a report of all the changes made.
Focused regression testing
Another area which uses a lot of resources, on the customer side, is in Regression testing. Often customers will run a full regression test on a system with little regard for what has been changed. This can be a waste of valuable resources for the customer’s business team. Using the data collected during the smartShift analysis phase and the remediation, a customer and SI can pinpoint the specific areas of the system which are most affected by the remediation. This can vastly reduce the Regression test surface, moving a customer away from risk based testing to a more reliable focused based testing approach.
smartShift has several other products which are designed to help customers following their migration. For example, a service which harmonises entire custom code bases of systems, using consistent variable naming conventions, white spacing, and comments, all of which are important when you have multiple suppliers developing custom code on your system. These products are well-regarded in the marketplace by customers who use them, enabling them to increase confidence in the code compliance of their system and easing the transition from project work into support.
From a project methodology perspective, both our organisations have found alignment in a way which is very special. Bluefin runs its HANA projects to achieve a robust view of the upgrade process through a Proof of Concept and functional testing of that system, which matches how smartShift deliver its insights and the code remediations early on in the project. This alignment creates a much clearer view of the project because it allows the team visibility of critical information, for example:
- The upgrade process steps and time lines,
- Remediation scope,
- Testing scope.
Whilst automated code is not something new, there have been several companies like Panaya and Worksoft who, like smartShift, have been providing these services for years. Unfortunately, many clients are unaware of the potential possibilities these services can bring to migrations and how aligned project methodologies, such as those experienced by Bluefin and smartShift, can improve projects and their outcomes.
As pressure mounts on customers to increase the velocity of their projects, they are finding themselves resource constrained to meet the challenges of changing business landscapes. The use of automation to free-up experienced developers and testers means that these valuable resources can be utilised across activities which produce higher business value.