8 utmaningar för CTO:er år 2023
Den accelererande digitala omvandlingsprocessen leder till att positionen som Chief Technology Officer (CTO), dvs. den som hanterar teknikfrågor inom ett företag, blir allt viktigare. CTO:er...
För varje produkt står vi inför många kompromisser och utmaningar som avgör företagets framtid. Det är dock tekniken, eller snarare valet av teknik, som är det viktigaste dilemmat eftersom det påverkar alla aspekter i framtiden. I den här artikeln vill jag presentera de gåtor som är förknippade med att fatta ett sådant beslut.
Med varje Produktstår vi inför många kompromisser och utmaningar som avgör företagets framtid. Det är dock tekniken, eller snarare val av teknikär det det viktigaste dilemmat eftersom det påverkar alla aspekter av framtiden. I den här artikeln vill jag presentera de dilemman som är förknippade med att fatta ett sådant beslut.
Välja rätt teknik för att produktutveckling är en kritisk komponent som kan ha en betydande inverkan på projekt framgång. Detta inlägg kommer att gå igenom de viktigaste variablerna att tänka på när du bestämmer dig för lämplig teknik för din produktutveckling behov. Här är 5 regler för välja rätt teknik för produktutveckling:
1. Definiera projektkrav
Det är viktigt att ha en heltäckande bild av projektets behov innan man påbörjar processen med att välja teknik. Detta inkluderar att beskriva det problem du försöker lösa, målgruppen, önskade funktioner och eventuella tekniska behov. En väldefinierad kravlista kan hjälpa dig att utvärdera olika tekniker i förhållande till projektets krav.
När din produkt utvecklas kommer du att behöva teknik som kan hålla jämna steg med det växande antalet användare, data och funktioner. Undersök hur lätt det är att skala tekniken och tillgången till skalningsresurser. Genom att använda skalbar teknik säkerställer du att din produkt kommer att kunna hantera framtida tillväxt.
3. Flexibilitet och anpassningsförmåga
Produktkraven kan variera över tiden, och därför är det viktigt att välja en teknik som kan anpassas till dessa förändringar. Leta efter teknik som gör det enkelt att lägga till nya funktioner eller modifiera befintliga, så att din produkt förblir relevant och uppdaterad.
4. Expertis inom utveckling
Kompetensen och erfarenheten hos dina Team med olika tekniker är avgörande för att ditt projekt ska bli framgångsrikt. Att använda bekant teknik kan öka produktiviteten och samtidigt minska inlärningskurvan. Om en ny teknik passar bättre för ditt projekt ska du se till att personalen får rätt utbildning och stöd.
5. Säkerhet
Med tanke på den ökande betydelsen av datasäkerhet och integritet är det viktigt att bedöma säkerhetsaspekterna för varje teknik. Försäkra dig om att den valda tekniken uppfyller produktens säkerhetskrav och följer tillämpliga regler och branschstandarder.
I mitt arbete som programmerare har jag hanterat många produkter och många CTO:eroch jag lyckades fånga de viktigaste aspekterna av arbetet och de problem som det innebär, liksom de svårigheter som rör projekt och teknik, här är några av dem:
Din produkt måste vara mycket tillgänglig och inte orsaka problem med implementering och drift. Varje teknik är byggd för att fungera bra i rätt miljö, och det är därför beslutet är så viktigt. Ett ganska riskabelt val skulle vara C ++ sätta in i en högtillgänglig webbapplikation i en värld där vi har Elixir och GoLang, de kan leda dig till att skapa robusta och skalbara applikationer. Å andra sidan, om vi bygger IOT tjänster och vi har små resurser kan beslutet bli annorlunda. Ruby kan också vara svaret på var och en av de ovan nämnda frågorna, allt beror på kompromisser och vad du bryr dig om när du underhåller applikationen eller webbplatsen.
Varje år skapas många tekniker, och vissa av dem är revolutionerande vid tidpunkten för deras skapande. Frågan är om detta är rätt tillfälle att använda dem. En tekniks mognad är inte bara tillgången på specialister, utan i grund och botten vad samhället gör i form av dokumentation, bibliotek, kurser och artiklar.
Vi kan inte jämföra antalet nya repositories på GitHub för JavaScript med dem för Ruby eftersom JavaScript har många stora nya ramverk och bibliotek och var och en kräver utveckling och byggpaket. I Ruby har vi ett ledande ramverk och ett ekosystem som är kopplat till det; därför är många autentiseringsbibliotek eller API-kunder redan etablerade och underhållna, och problemen med dem är också välkända. Därför kan vi inte bli förvånade över att transaktionssystemet i vår bank är baserad på Java och inte JavaScript och ExpressJS, och att en startup som du känner till har problem med att tämja applikationsarkitekturen eftersom ingen har löst deras problem med den nya tekniken de valde.
Det finns dock fortfarande en trend här, för alla har hört talas om Perl eller Cobol, det är gamla väletablerade tekniker, men de är tyvärr inte tillräckligt moderna för att uppmuntra utvecklare att arbeta med dem. En trend är en viktig faktor för att locka talanger, särskilt eftersom ju högre åldersgrupp, desto färre programmerare.
När vi hanterar ett IT-projekt ska vi inte programmera, men vi måste förstå exakt vad som händer. Det är värt att först gå till LinkedIn och kontrollera hur många specialister det finns i ditt land; detta kommer att berätta för oss hur stor den miljö vi har att göra med är. Det är också värt att gå till Koppling och kontrollerar hur programvaruhus marknad ser ut som. Du måste vara redo för plötslig tillväxt och snabb tillsättning av lediga jobb. Naturligtvis är överflödet av potentiella kandidater inte lika med kvalitet, men det gör det lättare att förvärva talanger och nå olika specialister med ditt erbjudande.
Du måste också anta att anställda i företaget är utbytbara; under perioden efter covid är det särskilt viktigt eftersom karantänen kunde blockera många företag. Ett sådant tillvägagångssätt gör det också möjligt för dig att undvika krisen med utflödet av specialister och utöka den tekniska dokumentationen.
Kombinationen av punkterna ovan genererar driftskostnaden, så hur mycket det faktiskt kommer att kosta att underhålla applikationen och utvecklingsteam. Vi väljer alla ett team som uppfyller våra behov, men du måste komma ihåg om hela applikationens baksida, eller eventuellt välja en IaaS- och SaaS-lösning för tjänster som är kritiska för produktens drift.
Varje självhanterad tjänstehantering är en extra kostnad för dig och en börda som distanserar dig från målet. I den inledande fasen av produktutvecklingen kan till och med en välkänd lösning som Netlify eller Heroku samla hela miljön i en pipeline och du behöver inte slösa teamets tid på att skapa allt från grunden.
I det långa loppet kan en färdig infrastruktur vara billigare än att uppfinna hjulet på nytt. Driftskostnaden, teamets prestanda i förhållande till den givna funktionaliteten, teknikens mognad och omfattningen av tillgängliga medarbetare på marknaden är av stor betydelse.