Tech Stack – de beslisser voor je MVP
I write about fintech, data, and everything around it
Dus je hebt een idee voor een nieuw product en je besluit om te beginnen met het bouwen van een MVP, een minimum viable product. En dat is het begin van een groot debat …“Welk framework moet ik gebruiken voor de frontend?” of “Wat is de beste backend technologie voor mijn MVP?”. Vergeet niet dat het er bij een MVP vooral om gaat dat je een product snel in handen van je klanten krijgt en dat je hun feedback gebruikt om het eindproduct te verbeteren. Maar voordat uw ontwikkelaars code schrijven, moet u een technische stapel kiezen die uw softwareproduct zal aandrijven. De opties kunnen overweldigend zijn, vooral als je niet technisch aangelegd bent, en ze gaan gepaard met het risico dat het kiezen van de verkeerde taal of het verkeerde framework het product nu of veel later ernstig kan beïnvloeden.
Voor niet-ingewijden: een tech stack is een combinatie van softwareproducten en programmeertalen die worden gebruikt om een web- of mobiele applicatie te maken. Applicaties hebben twee softwarecomponenten: client-side of de front-end, en server-side of de back-end. Elke laag van de applicatie bouwt voort op de functies van de laag eronder, waardoor een stapel ontstaat.
Ontwikkeling van webtoepassingen
De front-end is het visuele deel van je applicatie dat gebruikers zien en waarmee ze interageren. Deze interactie kan plaatsvinden via een webbrowser of een mobiele app. De front-end tech stack bestaat uit talen als HTML, CSS, JavaScript, C/SWIFT of Java. De back-end bevat de bedrijfslogica die achter de schermen werkt om je app aan te sturen. Gebruikers zullen nooit direct contact hebben met de back-end, alle informatie wordt heen en weer gestuurd via de front-end. Er wordt een programmeertaal gekozen samen met een webraamwerk dat in die taal geschreven is. Gelukkig is het selecteren van de juiste tech stack niet zo moeilijk en hoef je maar een paar belangrijke factoren in gedachten te houden tijdens het selectieproces. Hier zijn enkele factoren die je zullen helpen om de opties snel terug te brengen tot een hanteerbare reeks technologiekeuzes. Je doelgroep. Kijk naar je primaire doelgroep bij het ontwerpen van je MVP en het waardevoorstel dat je product hen zal bieden. Zijn gebruikers eerder geneigd om contact met je op te nemen via een app of een desktop, of allebei? Lanceer je MVP om te beginnen slechts voor één platform. Het uitgeven van extra middelen om twee aparte interfaces te bouwen en te onderhouden is zinvoller nadat je vooruitgang hebt geboekt in het valideren van je product. Het platform dat je kiest zal je eerste stap zijn bij het kiezen van de technische laag. Het landschap van tools in uw branche. Een van de sleutels tot een succesvolle MVP is het verkorten van de time to market.
. Door gebruik te maken van bestaande tools kun je de hoeveelheid werk en moeite die nodig is om je product te lanceren drastisch verminderen. Wanneer je een programmeertaal en andere back-end technologieën kiest, zoek dan de beste open source tools die beschikbaar zijn in jouw branche en gebruik hun tech stack als leidraad. Als je alleen een eenvoudige native mobiele app wilt lanceren, kun je het beste een back-end provider zoals Parse of StackMob gebruiken in plaats van je eigen app te ontwikkelen. Zoek naar recente ontwikkelingen op Github van een grote verscheidenheid aan medewerkers en een groot aantal StackOverflow vragen. De beste tools hebben een levendige en enthousiaste gemeenschap van ontwikkelaars om zich heen. Functionele en niet-functionele vereisten. Een ander belangrijk punt, misschien wel het belangrijkste, is het definiëren van de functionele en niet-functionele aspecten van je product voordat je de technische stack samenstelt. Niet-functionele vereisten zijn schaalbaarheid, prestaties, bruikbaarheid, toegankelijkheid, gegevenslevering, beveiliging, compliance, uitbreidbaarheid, overdraagbaarheid, disaster recovery, documentatie, robuustheid enz. De technologie-stack die je kiest moet je volledige controle geven over de ondersteuning van deze niet-functionele vereisten. Functionele vereisten zijn producteigenschappen of functies die ontwikkelaars moeten implementeren om gebruikers in staat te stellen hun taken uit te voeren. Eigenlijk wat je wilt dat je softwareproduct doet. Een specificatieblad met alle functionele vereisten zal u helpen de juiste tech stack te kiezen. Je moet rekening houden met factoren als snelheid, schaalbaarheid, kosten van toekomstig onderhoud en integraties om te voorkomen dat je MVP onnodig ingewikkeld wordt. Wie is je ontwikkelaar? Bepaalde techstacks hebben verschillende soorten kandidaten nodig. Zorg er bij het kiezen van een tech stack voor dat er voldoende ontwikkelaars op de markt zijn met de vaardigheden die je nodig hebt. Nieuwe technologie zoals NodeJS trekt misschien goed talent aan, maar je zult rekruteren uit een relatief beperkte talentenpool. Je team moet echt ervaren zijn omdat het project op een deadline loopt. Dus als je op het punt staat om een web tech stack te kiezen, zorg er dan voor dat deze een grote community van ontwikkelaars en rijke documentatie heeft. Zelfs je bedrijfstak heeft invloed op de beschikbaarheid van talent. Fintech-platforms worden bijvoorbeeld meestal gebouwd met Java of .NET omwille van regelgeving en compliance, beide talen met een enorme talentenpool. Zelfs nadat je hebt gekozen voor de tech stack, moet je niet vergeten dat het ontwikkelteam de app ook na de lancering moet onderhouden. Type project. Als het project klein is en je moet het in zo kort mogelijke tijd opleveren, dan kun je eenvoudige technologieën gebruiken zoals CMS of WordPress. Je MVP kan dan zelfs binnen een strikte tijdlijn worden opgeleverd. Een groter project heeft een combinatie van programmeertalen nodig omdat de ontwikkelaars iets nodig hebben dat hen verschillende functionaliteiten en naadloze integraties op meerdere platforms biedt. Java en C# zijn de meest gebruikte programmeertalen voor grote of complexe projecten, zoals sociale netwerken, grote e-commerce marktplaatsen, enz.
Schaalbaarheid
Als het aantal gebruikers stijgt, moet de app de belasting aankunnen. Kies een technische stapel die geschikt is voor toekomstige groei van de app om te voorkomen dat het product in de toekomst instort. Onthoud dat technologiestacks verschillende schaalbaarheidsmogelijkheden hebben. De componenten van de MEAN-stack (Angular en Node.js) hebben bijvoorbeeld een uitstekende schaalbaarheid.
Kosten van ontwikkeling
Hoewel de meeste populaire tools en frameworks gratis en open source zijn, kan het zijn dat je een abonnement moet nemen om toegang te krijgen tot de geavanceerde functies. Afhankelijk van de tech stack die je kiest, moet je ook de bijbehorende licentie aanschaffen. Zorg er dus voor dat je weet hoeveel je bereid bent uit te geven aan MVP ontwikkeling. Tot slot wil ik erop wijzen dat het beter is om voor bewezen technologieën te gaan, vooral als je groeit en meer ontwikkelaars nodig hebt. Vind het wiel ook niet opnieuw uit, tenzij dit essentieel is voor je product en denk na over welke hulpmiddelen je eigenlijk nodig hebt om het product te laten doen wat je wilt. Een van onze klanten werkte bijvoorbeeld samen met een andere leverancier die.Net en SQL Server respectievelijk als frontend en backend gebruikte om het MVP te bouwen. Maar Zuci realiseerde zich al snel dat Apache Solar, Java en aanverwante technologieën een betere optie waren, gezien het feit dat de applicatie meer leesbehoeften dan schrijfbehoeften zou hebben. Onthoud uiteindelijk dat technologie een hulpmiddel is dat je kan helpen een winstgevend bedrijf op te bouwen. Maar trap niet in de val van technologie omwille van de technologie. Je eindgebruikers geven er niet om hoe trendy je tech stack is, maar wel hoe goed je app of website werkt. Relevantelinkshttps://www.zucisystems.com/blogs/cut-out-the-fat-eliminate-the-essence/https://www.zucisystems.com/blogs/minimum-viable-product-mvp-in-90-days-customer-testimonial-2/https://www.zucisystems.com/blogs/mind-to-market-in-90-days/