Voor iedere ontwikkelaar die een nieuw implementatietraject tegemoet gaat is de balans tussen korte- en langetermijndoelen van levensbelang. In dit blog kun je lezen welke aanpak je daarbij bijzonder goed helpt, rekening houdend met de moeilijkheidsgraad van een project. Verder geef ik je praktische tips om geld en tijd te besparen, zoals handige manieren om kant-en-klare code te vinden, het hergebruik van code, en ondersteuning via een boek, video, app-platform, enzovoort. Met alles kun je direct aan de slag.

 

Wat mag je verwachten van de code van hoge kwaliteit? Ons platform doet in ieder geval onder alle omstandigheden zijn werk, van no-low-code tot en met omvangrijke implementaties voor de grootste grote ondernemingen. In het algemeen kun je stellen: hoe eenvoudiger je implementatie, des te meer voordeel je behaalt met de snelle ontwikkelingscycli van het cloudplatform. Dat kan zeker met een low-code-aanpak, waarvoor je specifieke tool gebruikt als process builder, flow, workflow en standaard-UI's. Hoe complexer je project is, des te meer zul je waarschijnlijk een mix gebruiken van de 'agile-per-default'-aanpak en een meer traditionele ontwerpaanpak. Kortom, je gaat aan de slag met Apex, Visual Force en het Lightning Component-framework.

 

Platform in plaats van zelf bouwen

Voordat we die twee methodes nader bekijken, wil ik je op het hart drukken het wiel niet opnieuw uit te vinden. Net als andere softwareleveranciers levert Salesforce kant-en-klare oplossingen. Zo hoef je Territory Management echt niet zelf te bedenken – je pakt gewoon onze oplossing. Dat is immers de reden dat je een packaged application aanschaft via een platform in plaats van het pakket helemaal zelf te bouwen met een ontwikkeltool als Heroku.

 

Evengoed hoef je niet volledig te leunen op de productreeks van Salesforce. In de AppExchange vind je alles wat je nodig hebt, en nog gratis ook. Van simpele code tot en met 'spaghetticode' en de verfijning van Salesforce Apex, onze eigen programmeertaal die een Java-developer zo onder de knie heeft. Je vindt Apex op de GitHub, waar het vrijelijk beschikbaar is om te downloaden. Probeer het eens uit, zou ik zeggen!

 

Vind je op GitHub niet de best passende oplossing, kijk dan eens hier. Je kunt de AppExchange vergelijken met de Apple Store, alleen is deze winkel volledig op de business gericht en op Salesforce. Wist je dat onze Marc Benioff er eerder mee kwam dan Steve Jobs c.s.? Kortom, ook bij ons vind je in een handomdraai branchespecifieke oplossingen als Vlocity en Financial Force. Waarvoor je ook kiest, je kunt er onmiddellijk mee aan de slag.

 

Wat als jouw project omvangrijk en complex is?

Stel je voor dat je de CTO bent van een telecom-multinational die in veel landen actief is. Dan ben je op een gegeven moment wel klaar met dat woud van softwarepakketten voor Order Management, Billing en Provisioning die door de hele onderneming heen worden gebruikt. Bovendien heb jij hebt het lef en de middelen om een eigen applicatie te ontwikkelen. Je bent van plan die stack via Salesforce in je thuisland te gebruiken, om na de succesvolle uitrol je oplossing te 'tweaken' voor andere landen, en je creatie vervolgens land na land te implementeren. In dat geval is het verstandig herbruikbare code te overwegen. Juist als je een product implementeert en het vervolgens uitrolt naar een interne (of externe) markt. De manier van coderen die hierbij hoort is anders dan die jij gebruikt in dat ene project. Wees daarom niet te agile, maar ontwerp en plan je code. Zo ben je er zeker van dat jouw complexe codebasis levensvatbaar blijft.

 

 

Hier vind je informatie waarmee je meters maakt

Er bestaat een geweldig boek over hoe ISV's hun packages het beste kunnen designen. Gebruik je zulke hoge standaarden voor je implementatie, dan kan het boek in een dergelijke omgeving een waardevolle gids voor je zijn. Op Trailhead kun je zien hoe je principes definieert voor een service layer en de zogenaamde domain & selector layers. Zelfs wanneer je geen code wilt creëren voor je productdefinities kunnen de objectgeoriënteerde designpatronen van Apex jouw complexe tot zeer complexe codeproject goed ondersteunen.

 

Voor minder complexe projecten is de zo-even genoemde aanpak wellicht omslachtig – dit kan de gemiddelde ontwikkelaar soms ook zo ervaren. Maar zelfs als je besluit de patronen niet te volgen, dan kun je de bij een complexere implementatie jouw developer vragen bij zijn design gebruik te maken van de automatische codecheck. Die is er namelijk voor alle ontwikkelaars, of ze nu extern of intern werken. Developers worden beoordeeld op hun codes en demo's; niemand kijkt onder de motorkap van die mooie racewagen (zie mijn vorig blog). Het risico hiervan is dat de codekwaliteit leidt onder budget- en tijdsdruk. Als klant is het jouw verantwoordelijkheid ervoor te zorgen dat codekwaliteit een vast bestanddeel van de oplevering is. Kortom, het volgende advies:

 

  • hergebruik zoveel mogelijk functionaliteit/code;

  • raadpleeg voor meer code GitHub en Salesforce;

  • profiteer van de packages die je kunt downloaden van de AppExchange.

 

Wat kun je verwachten in het derde en laatste blog van deze speciale reeks voor ontwikkelaars? Dan vertel ik je hoe je korte- en langetermijndoelen in balans kunt brengen met een hybride van agile en watervalmethodes.