Logo

Passie voor E‑commerce

De oorzaak van een hardnekkige bug vinden, een ingewikkeld voorraad vraagstuk nailen of een klant super enthousiast maken met een nieuw design. Dát zijn de overwinningen waarvoor we het doen. Met veel koffie, leuke overlegmomenten en prachtige resultaten.

In onze blog schrijven we regelmatig over onze overwinningen, zoals nieuwe projecten, resultaten en modules.

Lees Blog
Reach Logo

Doorontwikkelen zonder downtime

We ontwikkelen lokaal, werken met versiebeheer en maken releases via automatische deployservices. Testen van nieuwe functionaliteit kan op de acceptatieomgeving (OTAP). Met monitoring services houden we de conditie van de server in de gaten en kunnen we snel reageren op eventuele problemen. Zo beperken we downtime.

Slim samenwerken met scrum

Softwareontwikkeling is een gezamenlijke inspanning van opdrachtgever, programmeurs en designers. Het scrumproces geeft structuur aan deze samenwerking, waardoor we met ieder contactmoment resultaat boeken. Je hebt direct contact met de programmeurs en designers die aan het project werken.

E-commerce is meer dan een webshop

Design en techniek zijn onze belangrijkste disciplines, maar e-commerce gaat over logistiek, SEO, content, advertising, finance en data. Al 10 jaar werken we met de beste partijen op deze fronten en nemen we deze ervaring mee in onze dagelijkse werkzaamheden.

Magento logo

Magento Enterprise partner

Reach Digital is Magento professional partner, de vereiste status voor het implementeren van Magento Enterprise. Magento Enterprise - de gelicenseerde versie van Magento - biedt oplossingen voor e-commerce vraagstukken met hoge eisen omtrent performance, content staging en integratie met retail.

Integratie vóór maatwerk

Magento biedt vanuit de core veel essentiële functionaliteit voor het bouwen van een webshop. Bijvoorbeeld winkelwagen- en afreken functionaliteit, een uitgebreide catalogus of orderbeheer. Naast deze core functionaliteit, is het mogelijk om modules ontwikkeld door derden aan het systeem toe te voegen. Bij Reach Digital hebben wel als doel om zoveel mogelijk gebruik te maken van functionaliteit die reeds beschikbaar is, zodat we geen onnodig maatwerk verrichten. Onze gecertificeerde solution specialists zijn bekend met alle core functionaliteit in zowel Magento Community en Magento Enterprise. We controleren extern ontwikkelde modules op kwaliteit voordat we ze inzetten en hebben als partner van de grootste externe ontwikkelaars goed contact voor het rapporteren van eventuele bugs in modules.

Kwalitatieve code door gecertificeerde developers

Kwaliteit van code speelt een belangrijke rol in ons dagelijkse werk. Veel van ons werk bestaat uit het oplossen van foutmeldingen, debuggen van technische problemen en optimaliseren van performance. Verkeerde strategische keuzes bij de ontwikkeling van functionaliteit of gebrek aan ervaring met Magento (2) zijn de redenen dat een stuk techniek soms simpelweg de prullenbak in kan. Reach Digital investeert in het continu bijscholen van programmeurs. We organiseren interne (lunch)presentaties, workshops en studiedagen. Ieder project heeft een lead developer, die verantwoordelijk is voor regelmatige peer reviews van functionaliteit. De certificering van onze programmeurs en Magento specialisten is een bevestiging van onze kennis en ervaring.

Reach Logo

Werkwijze en proces

Betere software door face to face gesprekken

Ons proces biedt vaste contactmomenten voor programmeurs en designers om samen met de product owner (aangestelde persoon uit team van de klant die de inhoudelijke verantwoordelijkheid over het project draagt) ideeën te bedenken, vragen te stellen en functionaliteit te bespreken. We leggen een vraagstuk vast in de vorm van een story; een vanuit het perspectief van een doelgroep geschreven wens, bijvoorbeeld: “Als bezoeker wil ik de mogelijkheid hebben om het assortiment te doorzoeken op EAN nummer”. Vervolgens bespreken we de verschillende oplossingsrichtingen die door developers en klant worden aangedragen. Softwareontwikkeling is mensenwerk, dus we proberen aannames van beide partijen op elkaar af te stemmen. Iedereen akkoord? Dan schatten we het issue in en kan hij in de eerstvolgende sprint worden opgepakt.

Structuur door versiebeheer en OTAP

Bij Reach Digital maken we gebruik van GIT als versiebeheersysteem. Programmeurs werken lokaal aan projecten op een gesimuleerde versie van de webshop. Wijzigingen in de code worden (inclusief korte toelichting en issue nummer) opgeslagen als mutaties in een repository, een archief met de volledige broncode. Een nieuwe wijziging wordt automatisch uitgerold op de testomgeving. Product owner en developers testen gedurende de ontwikkeling op de testomgeving. Bij akkoord wordt functionaliteit vervolgens uitgerold op de acceptatie omgeving. Na acceptatie kan functionaliteit worden uitgerold op de productieomgeving. Deze gecontroleerde manier van ontwikkelen neemt alle risico’s weg die ontstaan bij het toepassen direct aanpassen van bestanden op de productieomgeving en voorkomt het handmatig overzetten van bestanden. De kans op fouten door menselijk handelen wordt veel kleiner. Mocht er toch een fout optreden, dan is deze terug te draaien via het versiebeheersysteem.

SLA en support

Issues kunnen worden aangemeld met prioriteit, of worden door onze tijdens kantooruren beschikbare support ingedeeld in één van de classificaties: Direct, 1 week of Sprint planning. Problemen die er direct voor zorgen dat er geen bestellingen meer kunnen worden geplaatst, worden met hoge prioriteit opgepakt. Indien er downtime heeft plaatsgevonden, dan wordt een incident rapport opgesteld met hierin de datum, het tijdstip, de vermeende oorzaak, reactietijd, geboden oplossing en de gefactureerde uren. Buiten kantoortijden is er een 24/7 crisisnummer beschikbaar.

Inschatten met punten voor een realistische begroting

Om een beeld te krijgen van hoeveel tijd en kosten er aan een functionaliteit of ontwikkeling verbonden zijn, schatten programmeurs en designers issues in op complexiteit. Bij de start van een project wordt er een eerste sprint ingericht voor totaal 50 punten aan issues. We houden initieel rekening met ratio van 1 punt is gelijk aan 3 uur. Er wordt akkoord gevraagd voor 150 uur development en maximaal 150 uur ontwikkeld.

Na het draaien van de beschikbare uren wordt het duidelijk of de ratio realistisch was. Indien er minder tijd nodig was voor issues, zal de ratio bijvoorbeeld worden bijgesteld naar 1 punt is 2,5 uur. Indien niet alle issues af zijn, zal de ratio worden bijgesteld naar bijvoorbeeld 1 punt = 4 uur. Niet afgeronde issues worden naar de volgende sprint doorgeschoven.

Er is geen werkelijk verband tussen punten en benodigde tijd. Uiteindelijke facturatie gebeurt maandelijks op basis van daadwerkelijk gedraaide uren. Het inschatten van punten is bedoeld om een beeld te krijgen van complexiteit en op deze manier prioriteiten binnen het project te kunnen stellen. Het is daarnaast bedoeld om een realistisch beeld te krijgen van de ontwikkelsnelheid (development velocity) en daarmee de kosten van het project.

Om goede inschattingen te maken, schatten programmeurs en designers aan de hand van Sprint Poker. Een systeem om individueel en afgeschermd, een aantal punten aan een issues te geven en vervolgens de schattingen van alle betrokkenen naast elkaar te leggen. Grote verschillen kunnen worden besproken en indien nodig kan het uiteindelijke getal worden bepaald.

E-commerce <3 Alphen aan den Rijn

Hard werken, dat is wat softwareontwikkeling en e-commerce in het bijzonder ook is. Hoge prioriteit bugs fixen, hackers tegenhouden, onverklaarbare verdwenen transacties weer terughalen; soms stressvol, maar het hoort er allemaal bij. We doen het allemaal vanuit Alphen aan den Rijn. Centraal gelegen tussen Amsterdam, Leiden en Den Haag is het zo’n gekke locatie nog niet. Het kantoor is goed bereikbaar en parkeren is gratis. We houden het interessant door regelmatig workshops en (lunch)presentaties te organiseren. En we vinden het mooi als programmeurs of designers opscheppen via de interne chat over de mooie dingen die ze gemaakt hebben.