• jeroen
    Jeroen Olthof
  • 01 mei 2023
  • 4 min. leestijd

Interview met Rick over business applicaties

rick jeroen interview
Vraag 1

Hoe ontwikkelen jullie webapplicaties?

Een webapplicatie lost een bepaald probleem op, vaak heeft dit betrekking tot het automatiseren van een proces of het inzichtelijk maken van data. Als agency krijgen wij te maken met verschillende klanten in verschillende branches, daarom is het zaak dat wij eerst het domein gaan verkennen. Welke processen lopen er? Hoe is het bedrijf opgesplitst? Wat is precies de probleemstelling? Hoe ziet de rest van het landschap eruit? Allemaal vragen die ons helpen om de probleemstelling beter te begrijpen. Dit noemen wij ook wel de discovery phase. Als we eenmaal dezelfde taal spreken kunnen we echt gaan kijken naar een passende oplossing. Deze oplossing splitsen we uit in onderdelen en waar nodig gaan we bij sommige onderdelen verder de diepte in. Aangezien niemand een unlimited budget heeft is het ook van belang om kritisch te kijken naar hoe we een oplossing kunnen vormen naar een budget. Dit houdt in dat we het budget gaan verdelen over de onderdelen, hierin kan de klant keuzes maken; waar gaan we de meeste tijd in investeren? Als dat eenmaal duidelijk is kan het ontwikkelteam van start. We beginnen met het opzetten van de basislaag van de applicatie, hier kunnen wij vervolgens de onderdelen op gaan uitbouwen.

Wij beginnen altijd met het meest complexe onderdeel, om zo eventuele verrassingen zo vroeg mogelijk te ontdekken.

De communicatie tussen WeDevelop en klant is hierin van groot belang, wij nemen de klant mee in ons proces om zo ook gedurende het ontwikkelen de mogelijkheid te bieden om bij te sturen. Om dit mogelijk te maken is het ook ons doel om zo snel mogelijk een werkende acceptatie omgeving neer te zetten zodat de klant direct mee kan kijken met de laatste staat van de applicatie.

Vraag 2

Welke technieken gebruiken jullie en waarom?

Wij kiezen onze technieken uit op stabiliteit, onderhoudbaarheid en vrijheid. Stabiliteit zorgt ervoor dat we op de techniek kunnen vertrouwen, zowel in het begin als wanneer de applicatie in populariteit toeneemt of wanneer het meer en meer data moet verwerken. Onderhoudbaarheid voorkomt dat we met updates tegen de muur aanlopen. Er is niets vervelender en gevaarlijker dan een applicatie die gebouwd is met verouderde technieken, dus kiezen wij frameworks en tools die met elke nieuwe versie een fatsoenlijk upgrade pad bieden. En vrijheid zorgt ervoor dat de ontwikkelaars altijd in controle blijven hoe we de applicatie bouwen om zo een applicatie te bouwen die past bij het probleem wat we oplossen.

Stabiliteit zorgt ervoor dat we op de techniek kunnen vertrouwen.

Om deze reden kiezen wij vaak het Symfony framework bij het bouwen van webapplicaties. Dit framework bestaat sinds 2005 en bestaat uit verschillende componenten die individueel in- en uitgeschakeld kunnen worden. Deze componenten vormen ook de basis voor andere frameworks en tools in het PHP ecosysteem. Symfony heeft een duidelijk release plan met een LTS (Long Term Support) belofte. Daarnaast weet het framework een mooie balans te bieden tussen gemak en vrijheid. Hiermee worden de ontwikkelaars ontzorgd als het aankomt op de terugkerende implementatie taken, maar behouden ze de vrijheid als het gaat om het hart van de applicatie.

Om ervoor te zorgen dat de code kwaliteit wordt gewaarborgd zetten wij test en analyse tools in. Hiermee blijven we de applicatie bij elke wijziging testen en controleren, om zo het grootste deel van de bugs op te vangen voordat het ergens draait. Op deze manier behouden we ook uniformiteit tussen de applicaties omdat elke applicatie aan deze standaarden moet voldoen.

Vraag 3

Hoe zorgen jullie dat de applicatie goed kan meegroeien met onze toekomstige (nog onbekende) wensen?

Agile uit zich niet alleen in het proces wat we aanhouden, maar ook in de code. Bij elke wijziging maken wij de afweging hoe flexibel we het moeten bouwen om de klant ook in toekomstige ontwikkelingen te kunnen voorzien. Indien het code-technisch flexibel maken van een bepaald component dusdanig veel extra tijd vraagt zal dit een overweging zijn die we met de klant bespreken. Maar ook hier ligt de kracht van Symfony en haar ecosysteem, er is altijd een integratie punt te vinden van waaruit we in de toekomst kunnen doorontwikkelen zonder dat de hele applicatie overboord moet.

Vraag 4

Betekent maatwerk dat je alles van scratch wordt ontwikkeld?

Nee, maatwerk houdt in dat wij een passende oplossing bouwen voor de probleemstelling van de klant in plaats van dat de probleemstelling in een bestaande oplossing wordt gedrukt. Wij kennen onze technieken door en door, en weten deze efficiƫnt in te zetten. Op deze manier kunnen wij snel tot een omhulsel komen van de applicatie, waarbinnen het daadwerkelijke stuk maatwerk, de oplossing voor het probleem van de klant, kan gaan leven.