Wat speelt er nu bij ShareValue?

Bart Bart / 22-11-2023

4 minuten lezen

Vaak denkt men dat het investeren in het verhogen van de codekwaliteit overbodig is; omdat het geen directe waarde biedt voor de organisatie. Maar is dat ook zo? In deze blog bespreken wij, Pieter en Bart, waarom jouw organisatie de codekwaliteit zou moeten verhogen en geven we tips hoe je dit kan doen.

Wat is codekwaliteit?

De kwaliteit van code bestaat uit meer aspecten dan alle code netjes in een bestand plaatsen. “Codekwaliteit” verwijst naar de mate waarin de broncode van een applicatie voldoet aan de normen en richtlijnen die zijn vastgesteld door een organisatie.


Codekwaliteit omvat verschillende aspecten waaronder leesbaarheid, herbruikbaarheid, betrouwbaarheid, onderhoudbaarheid en efficiëntie. Een hoge kwaliteit resulteert in een verbeterde begrijpbaarheid, waardoor ontwikkelaars productiever kunnen samenwerken tijdens het maken van wijzigingen, en het plegen van onderhoud. 
 

Figuur 1:  “Is High Quality Software Worth the Cost?” Martin Fowler

Wat zijn de voor- en nadelen van het verhogen van de codekwaliteit?

Voordelen

  • Code van hoge kwaliteit is doorgaans modulair en goed georganiseerd. Dit maakt het gemakkelijker om wijzigingen aan te brengen en de code te onderhouden. Hierdoor wordt het onderhouden van de codebase gemakkelijker en efficiënter.
  • Samenwerking binnen projectteams gaat makkelijker wanneer een standaard voor code wordt gehanteerd en nageleefd.
  • Het opsporen van bugs en daarmee het verlagen van de zogenaamde technische achterstand (technical debt) is een tijdrovend proces. Wanneer je aandacht besteedt aan codekwaliteit zal dit proces minder tijd en kosten in beslag nemen.
  • Beter geoptimaliseerde code resulteert in een beter werkende applicatie. Dit biedt voordelen. Zowel vanuit een commercieel perspectief als voor de eindgebruiker.
  • Hoge kwaliteit verhoogt de betrouwbaarheid van de werking van code onder diverse omstandigheden en scenario's.
  • Het vermijden van codekwaliteits-principes oogt op korte termijn aantrekkelijk vanwege de mogelijkheid tot snelle winst. Echter neemt over tijd de complexiteit van een codebase toe, wat veel werkzaamheden vereist. Hierdoor kan een applicatie minder snel nieuwe functionaliteiten toevoegen waardoor stakeholders minder tevreden zijn. Dit resulteert uiteindelijk vaak juist in hogere kosten.

 

Nadelen

  • In het begin zal er geen directe meerwaarde zijn voor de organisatie; bovendien heeft de kwaliteit van de codebase geen invloed op de eindgebruiker. Echter zal  er later in de software lifecycle wel baat bij zijn aangezien nieuwe functies dan sneller geïmplementeerd kunnen worden.
  • Het verbeteren van een codebase is een financiële investering voor de organisatie. Het implementeren van de benodigde tooling en de extra tijd die ontwikkelaars stoppen in de codebase zal niet gelijk zichtbaar zijn.
  • Het implementeren van nieuwe methodieken in het ontwikkelproces kan lastig zijn voor een team. Aan het begin van het proces kan weerstand ontstaan, maar binnen enkele weken zullen de eerste resultaten zichtbaar zijn.
     

Hoe kan een hogere codekwaliteit worden bereikt?

Statische code analysetools: Analysetools zoals SonarQube en Qodana beoordelen de codekwaliteit van aspecten zoals security, bugs en linting. Statische code-analysetools scannen de code zonder het uit te voeren. Daarnaast kan het gekoppeld worden aan de CI/CD straat om te voorkomen dat lage kwaliteit code wordt samengevoegd met de productie codebase.

Code reviews: Door code na te laten kijken voordat deze in productie wordt genomen, kunnen bugs en andere “code smells” worden verholpen. Dit kan worden gedaan door het gebruik te maken van “MergeRequest” via GIT.

Design reviews: Door uit te tekenen en uit te schrijven wat er geïmplementeerd gaat worden, kunnen misconcepties en fouten in de businesslogica eerder worden geïdentificeerd.

GitHub Copilot: GitHub Copilot kan worden ingezet om ontwikkelaars te ondersteunen tijdens het schrijven van hoge kwaliteit code. Deze AI tooling genereert efficiënte code die voldoet aan afgesproken standaarden. Gebruik hiervan kan resulteren in code die beter gestructureerd is en door automatisering van commentaar volledig gedocumenteerd is. Daarnaast worden simpele taken overgenomen, waardoor de ontwikkelaar zich kan focussen op meer complexe vraagstukken.
 

Figuur 2: “GitHub Copilot AI pair programmer: Asset or Liability?” (Moradi Dakhel et al., 2023)

Conclusie

Alhoewel een financiële investering  in codekwaliteit op korte termijn geen directe waarde levert, bespaart dit veel kosten en moeite op lange termijn. Bovendien leidt het tot een beter te onderhouden codebase, bevordert het een gestandaardiseerde manier van (samen)werking en optimaliseert het de applicatie.

ShareValue kan ondersteuning bieden bij het verhogen en bewaken van de codekwaliteit binnen uw organisatie. Dit doen we  door middel van het refactoren van code, het verhogen van code coverage met unit tests, het implementeren van statische code-analysetools zoals SonarQube en het houden van code reviews.

Wil je meer weten over code kwaliteit of kunnen we je ondersteunen bij het invoeren van deze codekwaliteit? Neem dan gerust contact met ons op, zodat we de mogelijkheden kunnen bespreken.  

Manuel Manuel / 15-11-2023

5 minuten lezen

Je bent vast bekend met Sensitivity Labels. Deze classificeren en beschermen jouw organisatiegegevens zoals documenten op basis van het niveau van vertrouwelijkheid. En op het niveau van de impact, in het geval ze zouden worden gelekt of bekendgemaakt. De labels worden per document toegepast, handmatig of automatisch aan de hand van een aantal criteria. 

Soms is het handig om een reeks aan documenten gelijk te kunnen voorzien van een label, omdat zij in dezelfde categorie vallen. Gelukkig is het tegenwoordig mogelijk om een SharePoint bibliotheek te voorzien van een standaard label. Dit zorgt er dan voor dat alle documenten binnen die bibliotheek voorzien worden van hetzelfde label. In deze blog vertel ik hoe je documenten in een SharePoint bibliotheek standaard kunt voorzien van een label.

Benodigdheden en licenties

Om Sensitivity labels in SharePoint Online te gebruiken, heb je een van de onderstaande licenties nodig. Je moet ook de SharePoint Administrator rol of de Global Administrator rol in Microsoft 365 hebben. Let wel dat de Sensitivity Labels al moeten bestaan, deze kunnen namelijk niet aangemaakt worden door de SharePoint Administrator.

Een overzicht van ondersteunende licenties:

  • Microsoft 365 E5/A5/G5
  • Microsoft 365 E5/A5/G5 Compliance
  • Microsoft 365 E5/A5/G5 Information Protection and Governance
  • Office 365 E3/A3/G3 met de Microsoft 365 E5 Compliance add-on
  • Office 365 E3/A3/G3 met de Microsoft 365 E5 Information Protection and Governance add-on

Het inschakelen van Sensitivity Labels voor bestanden in SharePoint en OneDrive

Om te beginnen moet eerst de ondersteuning voor Sensitivity Labels voor bestanden in SharePoint en OneDrive worden geactiveerd. Wanneer deze functie ingeschakeld is, wordt de Sensitivity knop beschikbaar in het lint in de webversies van de Office 365 applicaties, zoals bijvoorbeeld Word Online.

In een documentenbibliotheek wordt in het eigenschappenpaneel ook het Sensitivity Label getoond, zoals hieronder afgebeeld.

Afbeelding 1. Eigenschappen van een bestand

In de instellingen van de bibliotheek is ook de optie om een standaard label aan te duiden beschikbaar.

Afbeelding 2. Bibliotheekinstellingen

Zoals eerder vermeld dient eerst de ondersteuning voor Sensitivity Labels voor bestanden in SharePoint en OneDrive te worden geactiveerd. Deze ondersteuning kan worden ingeschakeld door de volgende stappen te volgen:

  1. Navigeer naar de Microsoft Purview compliance portal
  2. Log in als een Global Administrator
  3. Navigeer naar Information Protection onder Solutions
  4. Klik op Labels
  5. Klik op de knop Turn on now in de onderstaande melding

In sommige Microsoft 365 tenants werkt het bovenstaande (nog) niet. Hier ben ik zelf tegenaan gelopen. In dat geval kun je PowerShell met de SharePoint Online Management Shell gebruiken om het in te schakelen. Deze stappen worden hieronder beschreven.

Het installeren van de SharePoint Online Management Shell is in dit blog buiten scope. Hierbij wel een verwijzing naar een artikel hoe het te installeren.

  1. Start de SharePoint Online Management Shell of PowerShell met de SharePoint Online module.
  2. Voer het volgende cmdlet uit om verbinding te maken met de tenant:
    Connect-SPOService -Url <voer hier de SharePoint admin center url in>
  3. Je hebt nu verbinding gemaakt met de tenant. Voer nu het volgende cmdlet uit om de ondersteuning voor Sensitivity Labels voor bestanden in SharePoint en OneDrive te activeren:
    Set-SPOTenant -EnableAIPIntegration $true

Nu PowerShell gestart is en er verbinding is gemaakt met de tenant, is het ook raadzaam om de ondersteuning voor PDF bestanden te activeren. Hiermee kunnen PDF bestanden ook voorzien worden van een sensitivity label. 

  1. Voer het volgende cmdlet uit om ondersteuning voor PDF bestanden te activeren:
    Set-SPOTenant -EnableSensitivityLabelforPDF $true

Controleren of de ondersteuning voor Sensitivity Labels voor bestanden in SharePoint actief is

Om te controleren of de ondersteuning voor Sensitivity Labels voor bestanden in SharePoint actief is, kan men het volgende doen: de instellingen van de bibliotheek controleren of nu de optie Default Sensitivity Label beschikbaar is, zoals afgebeeld op afbeelding 1. Gevolgd door het controleren of de Sensitivity eigenschap beschikbaar is als de eigenschappen van een document worden bekeken, zie afbeelding 2.

Verder kan men controleren of in het lint van Word Online de knop Sensitivity beschikbaar is. Zie hieronder. 
 

Afbeelding 3. Sensitivity-knop

Testen van een standaard Sensitivity Label op een bibliotheek.

Als alles gereed is, kan een bibliotheek worden voorzien van een standaard Sensitivity Label. Het label wordt toegepast op alle nieuwe bestanden die in de bibliotheek worden gemaakt. Als men beschermingsinstellingen voor het label heeft ingeschakeld, zoals versleuteling of watermerken, worden deze ook toegepast op de documenten binnen de bibliotheek.

Navigeer naar de gewenste bibliotheek en open de bibliotheekinstellingen. Vervolgens kiest men het gewenste Sensitivity Label onder Default Sensitivity Label. Na het kiezen klikt men op de knop Save om de wijzigingen op te slaan.
 

Afbeelding 4. Het toepassen van een Default Sensitivity Label

Eenmaal terug in de bibliotheek kan men ervoor kiezen om de kolom Sensitivity toe te voegen. Dit kan door naast de kolommen te klikken op Add column. 

Nu is het tijd om wat documenten in de bibliotheek te plaatsen om vervolgens te zien dat het eerder ingestelde label wordt toegepast. Let op: dit kan even duren en is niet meteen toegepast.

In de onderstaande afbeelding heb ik 3 documenten geüpload. Het is te zien dat de kolom Sensitivity nog niet gevuld is.

Afbeelding 5. Nieuwe documenten in de bibliotheek

Na ongeveer een minuut is te zien dat het label is toegepast op de documenten. Zoals hieronder afgebeeld:

Afbeelding 6. Standaardlabel toegepast op nieuwe documenten in de bibliotheek

Ik hoop dat deze blog duidelijk is geweest hoe standaard Sensitivity Labels op SharePoint documentbibliotheken toe te passen en dat je het in de praktijk zal gebruiken. Als er vragen zijn laat het gerust weten! Mijn collega's en ik denken graag mee.

{description}

Heb je een Microsoft Expert nodig?

Neem contact met ons op
{description}

Zoek je een nieuwe baan?

Bekijk onze vacatures