Kleine verbeteringen besparen elke dag tijd. Daarom bouw ik graag dingen die mijn werk makkelijker maken. Niet omdat het kan, maar omdat die winst zich optelt. Soms alleen voor mezelf, maar het mooiste is wanneer collega's er ook iets aan hebben. 

In deze blog beschrijf ik hoe zo'n verbetering groeide van een avondje experimenteren tot een tool die ons hele team gebruikt: een browserextensie waarmee je SAP HANA Cloud Calculation Views direct vanuit Bitbucket visualiseert, zonder eerst de Business Application Studio (BAS) te openen. 

Het probleem: schakelen kost tijd 

Ons team werkt met meer dan 80 projecten (containers). Tijdens analyses en refinements schakel ik continu tussen die projecten. Elke keer betekent dat: BAS openen, de Calculation View Editor laden, wachten. Genoeg tijd om je koffiemok bij te vullen. Ik drink geen koffie, dus ik besteed die minuten liever anders. 

In een refinement met 6 tot 10 developers wil je snel kunnen controleren: 

  • Welke datasources zijn gebruikt; 
  • Welke joins er zijn en hoe ze zijn opgezet; 
  • Welke calculated columns er zijn en hoe ze werken;
  • Welke filters er zijn en hoe ze werken. 

Als elke vraag begint met een project openen en wachten op de tooling, lopen de minuten snel op. Dit moest efficiënter kunnen. 

Eerst de vraag: Is het technisch mogelijk? 

Zoals veel ideeën begon dit met een simpele proof of concept (PoC). In de avond bouwde ik in Python een prototype van ongeveer 280 regels code. Met Matplotlib zette ik een Calculation View op basis van parameters om naar een overzichtelijke PNG. 

Matplotlib - Overzichtelijke PNG

Technisch werkte het verrassend goed. Mijn collega's waren enthousiast. Maar er was een probleem: de drempel om de tool te gebruiken was te hoog. Je moest het script downloaden, een terminal openen, het script uitvoeren en daarna de afbeelding openen. Vier handelingen voor een vraag die je in 2 seconden wilt beantwoorden.

Terug naar de tekentafel.

Van script naar browserextensie

Ik had eerder al browserextensies gebouwd voor eigen gebruik. Dus koos ik ook nu voor die route en ging ik aan de slag met een parser in JavaScript.

Voor het tekenen van de relaties koos ik een graphing-tool die vooral in de (bio)academische wereld wordt gebruikt. Relaties in kaart brengen is een vak apart, dus goede documentatie was voor mij doorslaggevend.

De workflow is simpel. De extensie leest de XML van de Bitbucket-pagina uit. Mijn parser vertaalt die naar het framework, dat de nodes, edges en de details die we willen zien oppakt en op een canvas tekent. Dezelfde parserlogica als de PoC, maar nu zonder omweg: in het tabblad dat toch al openstaat.

Features die echt tijd besparen

Samen met collega's keek ik waar tijdens refinements de meeste tijd verloren ging. Daaruit kwamen duidelijke prioriteiten:

  • Inzicht in joins, cardinality en de bijbehorende velden;
  • Snel zien welke velden onderdeel zijn van een join;
  • De logica achter filters en calculated columns bekijken;
  • Direct zien welke datasources onderdeel zijn van een model;
  • Bevindingen eenvoudig delen met collega's.

Op die functionaliteiten richtte ik me eerst. Andere ideeën, zoals data lineage of het tonen van alle kolommen binnen elke node, staan nog op de roadmap. Interessante uitbreidingen, maar minder belangrijk dan de snelle inzichten die developers dagelijks nodig hebben.

Stappenplan - Overview

Daarnaast bevat de extensie een aantal kleine kwaliteitsverbeteringen, zoals extra functionaliteit op mergepagina's en handige branch-overzichten.

Van persoonlijke frustratie naar gedeelde oplossing

Als developers brengen we een groot deel van onze dag door in SAP-tooling. Die tooling is sterk in het bouwen van oplossingen, maar minder sterk wanneer je bestaande modellen wilt analyseren of reviewen. En juist dat kost in de praktijk verrassend veel tijd.

We mogen als developers kritisch zijn op de developer experience van de tools waarmee we dagelijks werken. Als een kleine verbetering tientallen collega's helpt om sneller antwoorden te vinden, waarom zouden we die dan niet zelf bouwen?

Soms begint een product met één frustratie en een avond experimenteren. En juist dat maakt softwareontwikkeling leuk.

Chrome Extensie

De browserextensie staat in de Chrome Web Store. Werkt jouw team met Bitbucket en SAP HANA Cloud Calculation Views? Installeer hem, gebruik hem in je volgende refinement en laat me weten wat je mist.

Loop je tegen vergelijkbare knelpunten in je SAP-tooling aan? Dan denk ik graag met je mee.

BI Consultant Christian van Bracht

Neem contact op en kom in gesprek met onze experts.