Bij elk product worden we geconfronteerd met veel compromissen en uitdagingen die de toekomst van de onderneming bepalen. De technologie, of liever de keuze van de technologie, is echter het belangrijkste dilemma omdat het alle aspecten in de toekomst beïnvloedt. In dit artikel wil ik de dilemma's presenteren die gepaard gaan met het nemen van een dergelijke beslissing.
Met elke productstaan we voor veel compromissen en uitdagingen die de toekomst van de onderneming bepalen. Het is echter de technologie, of beter gezegd de keuze van de technologieDat is het belangrijkste dilemma omdat het alle aspecten van de toekomst beïnvloedt. In dit artikel wil ik de dilemma's presenteren die gepaard gaan met het nemen van zo'n beslissing.
De juiste technologie selecteren voor productontwikkeling is een kritisch onderdeel dat een aanzienlijke invloed kan hebben op project succes. In dit artikel bespreken we de belangrijkste variabelen waarmee je rekening moet houden bij het kiezen van de juiste technologie voor je bedrijf. productontwikkeling behoeften. Hier zijn 5 regels voor de juiste technologie kiezen voor productontwikkeling:
1. Projectvereisten definiëren
Het is van cruciaal belang om de behoeften van je project goed te begrijpen voordat je begint met het technologische selectieproces. Dit omvat het schetsen van het probleem dat je probeert op te lossen, de doelgroep, gewenste functies en eventuele technologische behoeften. Een goed gedefinieerde lijst met vereisten kan je helpen bij het evalueren van verschillende technologieën ten opzichte van de eisen van je project.
- Schaalbaarheid
Naarmate je product zich verder ontwikkelt, heb je technologie nodig die het groeiende aantal gebruikers, gegevens en functies kan bijhouden. Onderzoek hoe gemakkelijk de technologie kan worden geschaald en of er resources beschikbaar zijn om te schalen. Het gebruik van schaalbare technologie zorgt ervoor dat je product toekomstige groei aankan.
3. Flexibiliteit en aanpassingsvermogen
Productvereisten kunnen na verloop van tijd veranderen en daarom is het belangrijk om een technologie te kiezen die zich aan deze veranderingen kan aanpassen. Zoek naar technologieën die het eenvoudig maken om nieuwe functies toe te voegen of bestaande functies aan te passen, zodat je product relevant en up-to-date blijft.
4. Deskundigheid ontwikkelaar
De expertise en ervaring van je team met verschillende technologieën zijn cruciaal voor het succes van je project. Het gebruik van vertrouwde technologie kan de productiviteit verhogen en de leercurve verkleinen. Als een nieuwe technologie beter bij je project past, zorg er dan voor dat je personeel goed wordt opgeleid en ondersteund.
5. Beveiliging
Nu gegevensbeveiliging en privacy steeds belangrijker worden, is het belangrijk om de beveiligingsaspecten van elke technologie te beoordelen. Controleer of de gekozen technologie voldoet aan de beveiligingseisen van uw product en aan de geldende regels en industrienormen.
In mijn werk als programmeur heb ik te maken gehad met veel producten en veel CTOsen ik was in staat om de belangrijkste aspecten van het werk en de problemen die het met zich meebrengt vast te leggen, evenals de moeilijkheden met betrekking tot projecten en technologieën:
Onderhoudsgemak
Uw product moet in hoge mate beschikbaar zijn en geen problemen veroorzaken bij de implementatie en het gebruik. Elke technologie is gebouwd om goed te presteren in de juiste omgeving, daarom is de beslissing zo belangrijk. Een nogal riskante keuze zou zijn om C+ in een webapplicatie met hoge beschikbaarheid te stoppen in een wereld waar we Elixir en GoLang hebben, zij kunnen je helpen om robuuste en schaalbare applicaties te maken. Aan de andere kant, als we IOT diensten en we weinig middelen hebben, kan de beslissing anders uitvallen. Ruby kan ook het antwoord zijn op elk van de bovenstaande vragen, het hangt allemaal af van compromissen en wat je belangrijk vindt bij het onderhouden van de applicatie of website.
Technologische rijpheid
Elk jaar worden er veel technologieën ontwikkeld en sommige zijn revolutionair op het moment van hun creatie. De vraag is of dit het moment is om ze te gebruiken. De volwassenheid van een technologie is niet alleen de beschikbaarheid van specialisten, maar vooral wat de gemeenschap doet in de vorm van documentatie, bibliotheken, cursussen en artikelen.
We kunnen het aantal nieuwe repositories op GitHub niet vergelijken voor JavaScript met die voor Ruby, omdat JavaScript veel grote nieuwe frameworks en bibliotheken heeft en elk daarvan ontwikkeling en bouwpakketten vereist. In Ruby hebben we één toonaangevend framework en een bijbehorend ecosysteem; daarom zijn veel authenticatiebibliotheken of API-klanten al gevestigd en onderhouden, en de problemen daarmee zijn ook bekend. Daarom kunnen we niet verbaasd zijn dat het transactiesysteem in onze bank is gebaseerd op Java en niet JavaScript en ExpressJS, en dat een startup die je kent problemen heeft met het temmen van de applicatiearchitectuur omdat niemand hun probleem heeft opgelost in deze nieuwe technologie die ze hebben gekozen.
Er is hier echter nog steeds sprake van een trend, want iedereen heeft wel eens gehoord van Perl of Cobol. Dit zijn eeuwenoude, gevestigde technologieën, maar ze zijn helaas niet modieus genoeg om ontwikkelaars aan te moedigen ermee te werken. Een trend is een belangrijke factor bij het aantrekken van talent, vooral omdat hoe hoger de leeftijdscategorie, hoe minder programmeurs.
Aantal specialisten
Als we met een IT-project bezig zijn, gaan we niet programmeren, maar moeten we precies begrijpen wat er gebeurt. Het is de moeite waard om eerst naar LinkedIn te gaan en na te gaan hoeveel specialisten er in jouw land zijn; dit zal ons vertellen hoe groot de omgeving is waarmee we te maken hebben. Het is ook de moeite waard om naar de Koppeling en controleren hoe de softwarebedrijf markt eruit ziet. Je moet klaar zijn voor plotselinge groei en een snelle vervulling van vacatures. Natuurlijk staat een overvloed aan potentiële kandidaten niet gelijk aan kwaliteit, maar het maakt het gemakkelijker om talenten te werven en verschillende specialisten te bereiken met uw aanbod.
Je moet er ook van uitgaan dat werknemers in het bedrijf vervangbaar zijn; in de post-covidale periode is dit vooral belangrijk omdat de quarantaine veel bedrijven heeft kunnen blokkeren. Met een dergelijke aanpak kun je ook de crisis van de uitstroom van specialisten voorkomen en technische documentatie uitbreiden.
Bedrijfskosten
De combinatie van bovenstaande punten genereert de operationele kosten, dus hoeveel het daadwerkelijk gaat kosten om de applicatie te onderhouden en de ontwikkelingsteam. We kiezen allemaal een team dat aan onze behoeften voldoet, maar je moet niet denken aan de volledige back-end van de applicatie, of eventueel kiezen voor een IaaS- en SaaS-oplossing voor services die kritisch zijn voor de werking van het product.
Elk zelfgehost servicebeheer is een extra kostenpost voor je en een last die je van het doel verwijdert. In de beginfase van de productontwikkeling brengt zelfs een bekende oplossing, zoals Netlify of Heroku, de hele omgeving in één pijplijn en verspilt u niet de tijd van het team om alles vanaf nul te creëren.
Samenvattend
Op de lange termijn kan een kant-en-klare infrastructuur goedkoper zijn dan het wiel opnieuw uitvinden. De operationele kosten, de prestaties van het team met betrekking tot de gegeven functionaliteit, de maturiteit van de technologie en de omvang van de beschikbare werknemers op de markt zijn van groot belang.