Van spaghetticode naar simpliciteit met iteratie
Structuur in Software
In de huidige B2B- en B2C-markt is het regelmatig bijwerken van software eerder regel dan uitzondering. Hoe vaak werk jij je servers, pc of apps per maand bij? Het is eigenlijk best opvallend dat dit zo vaak nodig is. Veel software bevat namelijk nog "spaghetticode" – complexe, onoverzichtelijke code die lastig te onderhouden is. Grote kans dat ook jouw zakelijke applicaties, zoals CRM of andere systemen, hiermee te maken hebben.
De internetbranche: een gebrek aan structuur
In tegenstelling tot andere branches zoals de auto-industrie of chipindustrie, ontbreekt het in de internetsector vaak aan strikte standaarden. Het voelt soms als het Wilde Westen, waar elke ontwikkelaar de vrijheid heeft om te bouwen wat hij of zij wil. Versiebeheersystemen worden vaak gezien als oplossing, maar de echte kwaliteit blijft vaak onder de radar.
Internet Branche - Wilde Westen Industrie
Iedere individuele ontwikkelaar, in zijn stukje code, heeft de vrijheid en macht om te bouwen wat hem of haar goed dunkt. Het is bijna ongelooflijk dat zulke cruciale systemen vaak op zo'n losse manier worden beheerd.
Spaghetticode, beter voorkomen dan genezen!
Bedrijven proberen de output van een development team te beheersen met projectmanagement methodieken zoals PRINCE2 of Agile/Scrum, gecombineerd met kwaliteitsmanagers en testteams die moeten voorkomen dat “rommel” in productie komt. Maar in de praktijk wordt software vaak alleen functioneel getest; wat er onder de motorkap zit, blijft onbekend. Dit brengt niet alleen inefficiëntie met zich mee, maar ook veiligheidsrisico’s. Dagelijks worden applicaties aangevallen door internetcriminelen die op zoek zijn naar waardevolle data.
VIP Marketing: een andere aanpak
Bij VIP Marketing pakken we het anders aan. Voor ons begint kwaliteit bij een heldere structuur in het ontwikkelproces. Onze software is niet alleen betrouwbaar, maar ook kostenbesparend en makkelijk in gebruik.
Een CMS dat meegroeit
Onze missie was om een online applicatie te bouwen die:
- Een leven lang meegaat;
- Steeds beter en krachtiger wordt;
- Eenvoudig te bedienen blijft;
- En snel aan te leren is.
Ons CMS groeit mee met de behoeften van onze klanten en biedt een stabiele basis voor online marketeers en contentmanagers.
Hoe wij deze doelen met ons online CMS hebben bereikt is, in feite, gestoeld op 1 conceptueel uitgangspunt.
HET CONCEPT VAN ITERATIE (VAN DATA-LIJSTJES)
Samengevat zijn wij gaan denken vanuit het feit dat je ieder gewenst schermonderdeel van een applicatie opbouwt via het identificeren en 'uitprinten' van 1 of meerdere kleine data-lijstjes. Dit uitgangspunt staat altijd centraal wanneer wij iets nieuws gaan bouwen: "Wat is het data-lijstje waarover onze code itereert?".
Een CMS met een efficiënte ontwikkelomgeving
Door vast te houden aan dit principe hebben we onze ontwikkelomgeving simpel gehouden. Om een applicatie, zoals een website(pagina), goed te kunnen bouwen moet je daarnaast ook in staat te zijn om de volgende code-elementen goed te managen.
- Broncode (Html)
- Css code
- Javascript code
- Bijlagen c.q. bestanden
HCL Domino is een document management databaseserver en daarmee al tientallen jaren uitermate geschikt voor het managen van bovenstaande 4 elementen.
Door het consequent vasthouden aan dit uitgangspunt met 'data-lijstjes' en 'iteratie' hebben wij onze online ontwikkelomgeving supersimpel kunnen houden. Geen complexe schermen met allerlei popup menu's en instellingen. Nee, gewoon eenvoudig en altijd hetzelfde online invoerscherm ongeacht de module (output) die moet worden gebouwd.
Onze ontwikkel interface is volgens onderstaande 7 uitgangsregels opgezet:
1. Identificeer een data-lijstje (=databron) en geef het lijstje een naam, de modulenaam
2. Geef per module de mogelijkheid om 1 of meerdere delen hoofd, midden, -en voetcode te genereren
3. Geef per module basisformules mee om het lijstje (op het scherm) te kunnen samenstellen
4. Geef per module de optie om zelf data-formules bij te bouwen
5. Geef per module de invoermogelijkheid voor specifieke instellingen
6. Geef per module de optie om Html-instellingen, CSS, Javascript en bijlagen te beheren
7. Geef per module inzicht/info hoe deze wordt ingezet/gebruikt
Hierdoor kunnen wij ons beperken tot een simpele HTML pagina met 6 tabs die je in een mum van tijd overdraagt. Ons iteratie-concept beperkt zich niet tot scherm-uitvoer, je kan het bijvoorbeeld ook toepassen op sofware actielijstjes (zoals workflowprocessen).
Wat je ook maar kunt bedenken, je kan het met deze invoerinterface beheren (en generen):
• Een API-call (post) naar een backend systeem of CRM
• Een workflow proces (waarvan iedere stap weer een verzameling van data-lijstjes is)
• De header van een website of app
• Het navigatie-menu van een website of app
• Een lijstje met advertentie banners
• Een lijstje met (nieuws)artikelen
• Een aantal filterboxen
• Een import proces of een export proces
• Een mooie foto slider of galerij
• Een sitemap voor Google
• Een simpel of juist complex online formulier met invoervelden
• Een lijstje met inkomende of uitgaande links
• Een lijstje met bijlagen of downloads
• De zoekresultaten van jouw website of app
• Een stukje structured-data voor het technisch aanbieden van bijvoorbeeld vacatures (XML of JSON-formaat)
• De footer van een website of app
• Enzovoort.....
Samenvattend structuur door de kracht van eenvoud!
Waarschijnlijk werken jullie met een andere ontwikkelplatform dan Domino. Dit is geen enkel probleem. Ons iteratie-concept is niet beperkt tot onze omgeving. Het kan ook worden toegepast in jouw platform of programmeertaal. Denk er rustig over na en ontdek hoe eenvoud ook in jouw softwareontwikkeling voor structuur kan zorgen.
Vragen over onze manier van programmeren? Laat het ons weten via onderstaand formulier of een telefoontje naar Michael.
Gerelateerde links
Maak van jouw website een Money Maker
Laat vandaag nog jouw gegevens achter en één van onze marketeers neemt zo snel mogelijk contact met je op.