#Blog | Software development: hoe werkt het en wat kun je ermee?

Veel van wat onze opdrachtgevers doen is niet mogelijk zonder software. Online diensten bieden aan klanten, bedrijfsprocessen ondersteunen door logisch ingerichte systemen en de bedrijfsvoering datagestuurd blijven verbeteren is afhankelijk van goede software. Sterker nog, de start van het digitale tijdperk begon met software development. Een paar knappe koppen die in een garage hun programmeerkennis en de rekenkracht van computers door wisten te vertalen naar praktische functionaliteiten die we daarvoor niet voor mogelijk achtten. Waardoor we in de 21e eeuw alsmaar blijven werken aan nog slimmere, betere en snellere oplossingen voor bedrijven en consumenten. Inmiddels is software development volledig geïntegreerd in het bedrijfsleven. En rollen de applicaties en IT’ers in hoog tempo van de lopende band. Maar, hoe opereert zo’n IT-afdeling nu precies? Hoe gaan we van een wens naar een digitale oplossing in de praktijk? En wie zijn er betrokken bij de ontwikkeling van software? We leggen het je kort, maar krachtig, uit in deze blog!

wat is software engineering

Hoe werkt softwareontwikkeling in de basis?

Als software engineer ben je verantwoordelijk voor het volledige proces van ontwikkelen, testen, implementeren, verbeteren en onderhouden van software-oplossingen voor een klant of opdrachtgever. Dat is een hele mond vol, maar het belangrijkste feitje voor een software engineer is: de behoeften van de klant staat altijd centraal! Daarom is bij het ontwikkelen van nieuwe software de eerste fase altijd het formuleren van de ‘requirements’: wat moet de software kunnen, en aan welke eisen moet het voldoen? Hierin is communicatie belangrijk; uiteindelijk moet de gebruiker happy zijn met het eindresultaat.

De ontwerpfase van software development

Requirement helder? Mooi. Dan kan de ontwerpfase van start gaan. Hierin legt de engineer wat zijn plan is voor de software die nodig is. Dit is in de praktijk vaak een aanpassing of uitbreiding van bestaande broncode. De methode die hierin tegenwoordig veel gebruikt wordt, heet agile of ‘scrum’ development. Hierin beschrijft een klant wat er gewijzigd dient te worden en waarom. Vervolgens wordt dit in kleine stappen uitgewerkt, opgepakt en opgeleverd door het scrumteam waar de developer onderdeel van is. Tijdens dit proces wordt de klant zo veel mogelijk feedback gevraagd, zodat wijzigingen in de wensen van de klant die door voortschrijdend inzicht onstaan, snel en agile (wendbaar) kunnen worden meegenomen. Als de software klaar is, moet die natuurlijk grondig worden getest op kwaliteit. De meeste scrumteams hebben daarom een tester die deze werkzaamheden uitvoert. Zodat de andere leden van het scrumteam zich kunnen focussen op hun eigen specialiteit. Bijvoorbeeld het ontwikkelen van de applicatie (developer), prioriteiten stellen en resultaat toetsen (product owner) en procesbewaking (scrummaster). Als requirements en functionaliteiten overeenkomen, de applicatie vloeiend loopt en deze geen problemen veroorzaakt met de bestaande software, dan kan de eindgebruiker ermee aan de slag. Als de feedback positief is wordt de software opgeleverd en uitgerold!

Waar moet je rekening mee houden bij het ontwikkelen van applicaties?

Van ontwikkelaar tot eindgebruiker kan veel informatie verloren gaan. Daarom is duidelijke communicatie met de eindgebruiker ontzettend belangrijk bij software development. Daarnaast verwacht de klant meer dan een stukje software. Het nieuwe eindproduct moet goed aansluiten op bestaande software, later nog aanpasbaar zijn én natuurlijk niet te veel geld en tijd kosten om te produceren en verbeteren. Het budget is altijd een reële factor waar in het verleden veel grote IT-projecten op stukliepen. Als software developer race je in de praktijk vaak tegen de klok om op tijd af te leveren. Agile werken met een scrumteam van business IT-professionals helpt daarbij.

Om het de klant en jezelf makkelijk te maken is het daarnaast ook erg belangrijk dat de code structureel van goeie kwaliteit is. Maar wat maakt code nou goede code? Volgens software engineers is het vooral belangrijk dat het goed te onderhouden is, en betrouwbaar reageert op een diversiteit aan onverwachte situaties. De code moet daarom duidelijk en begrijpelijk in elkaar zitten, zodat ook collega-software engineers direct begrijpen hoe het in elkaar steekt. Opsporen van fouten en verbeteren van de applicatie wordt zo een stuk makkelijker. Dat maakt de code op de lange termijn bovendien onderhoudsvriendelijk. Klant blij, eindgebruiker blij, jij geslaagd.

Software development

Wat kun je met (zakelijke) software en met de ontwikkelaar?

De toepassing van zakelijke software is ontzettend breed. Van inkoop, logistiek en boekhouding tot het (door)ontwikkelen van de HR-administratie. Van kleine tweaks tot het bouwen van volledige systemen. Als software engineer werk je vaak op basis van detachering of op projectbasis en ga je dus allerlei verschillende kanten van het vak ervaren. Dat houdt het uitdagend en zorgt ervoor dat je je nooit verveelt. Langzamerhand kun je je specialiseren in een bepaalde taal, software of vakgebied. En zo vanuit je expertise en ervaring nóg betere oplossingen bieden voor de klant. Lekker werken aan gave, slimme en geautomatiseerde oplossingen waarmee je organisaties én personeel tijd en stress bespaart. En het gaafste is nog: je spreekt een of meerdere talen die maar weinigen beheersen: de taal van het programmeren!

Ook werken en verder opgeleid worden tot software engineer?

Dat kan bij House of Bèta. Van leren programmeren tot fulltime praktijkervaring opdoen in scrum teams bij verschillende opdrachtgevers binnen en buiten de financiële dienstverlening. Klinkt goed? Bekijk de mogelijkheden die het traineeship Software Developer jou biedt en come join our community!

Contact

Meer weten over onze organisatie, traineeships of diensten? Wij vertellen er graag meer over.

Stel je vraag

+31 (0)88 − 17 01 480

info@houseofbeta.nl
Utrecht Euclideslaan 2
3584 BN Utrecht
Delft Olof Palmestraat 14-18
(unit 4-5)
2616 LR Delft
Eindhoven Kastanjelaan 400
5616 LZ Eindhoven