Software engineering uitgelegd: alles over de 8 onmisbare onderdelen van het proces
In de afgelopen periode hebben we in een aantal blogs de 8 stappen beschreven die we zetten als we software engineering toepassen. Heb je ze nog niet gelezen? Dan krijg je in dit artikel een overzicht van waaruit je verder kunt lezen. Als je ze al wel gelezen hebt, is dit een mooie samenvatting voor je. Na het lezen van deze en de 8 onderliggende blogs, weet je hoe software engineering van Seleno in z’n werk gaat.
Software engineering in het kort
We vatten straks de 8 stappen voor je samen, maar voordat we dat doen kijken we even naar het grote plaatje.
Software engineering bij Seleno is een ideale manier om je IT-wensen in de praktijk te brengen. We werken bijvoorbeeld samen een geweldig idee voor een app uit, of verbeteren een bestaande app om zo je bedrijfsproces te verbeteren. Wat het ook is: een webapplicatie begint altijd met een idee. Om dat idee snel tot leven te brengen, gebruiken we bij Seleno een minimum viable product of MVP. Hiermee kun je snel en betaalbaar je ideeën testen. We geven je graag een idee wat je van een MVP kunt verwachten.
In het volgende onderdeel van software engineering gaat het over de basis. Je begint nog niet direct met ontwikkelen, maar denkt alvast goed na over de architectuur van webapplicaties, zodat je toekomstige groeiproblemen kunt voorkomen.
Zodra de architectuur is uitgedacht, is het tijd om een ontwikkelomgeving neer te zetten. Hiermee kan het MVP ontwikkeld worden, maar tegelijkertijd is het een voorschot op de toekomstige serveromgeving. In onze software engineering bouwen we een lokale developmentomgeving met containers. Dit helpt bij het toekomstbestendig maken van de app.
Een heldere strategie voor versiebeheer is het volgende onderdeel. Dat betekent kiezen, maar wat is beter? GitFlow versus GitLab Workflow. Voor het inrichten van een OTAP-straat gebruiken we Kubernetes, dat geeft meer grip op development. Ook vertellen we over de kunst van Agile werken, en waarom Kubernetes daarin onmisbaar is. Deze zaken zorgen er allemaal voor dat je snel kunt inspelen op veranderingen in de markt of nieuwe inzichten.
Als het MVP staat is het tijd voor het laatste onderdeel, nadenken over het beheer en doorontwikkeling van applicaties. Daarna kun je de eerste versie van je app live zetten!
De 8 verschillende onderdelen van software engineering uitgelegd
Nu je het overzicht hebt, gaan we verder in op de 8 onderdelen van software engineering. We geven je een korte samenvatting en natuurlijk een link naar het complete artikel.
1. Snel en betaalbaar je ideeën testen met een MVP
Als je als ondernemer een goed idee hebt voor een nieuwe applicatie of een uitbreiding van een bestaande applicatie, wil je daar niet direct een fortuin aan uitgeven. Met het MVP kleden we je idee uit tot we de basis te pakken hebben en die werken we uit. Als vervolgens blijkt dat je idee in de praktijk goed werkt, kunnen we het stap voor stap uitbreiden. Werkt het niet? Dan geeft het je snel de kans om bij te sturen of toch te stoppen. Zo is het MVP in beide gevallen waardevol, terwijl je geen enorm risico hebt genomen door veel te investeren. Zo helpen we ondernemers graag met het tot leven brengen van hun IT-wensen.
Lees verder: Snel en betaalbaar je ideeën testen met een MVP
2. MVP: wat kun je ervan verwachten?
Heb jij nu dat geniale idee en wil je dat eens laten testen? Dan is het interessant om te weten wat je precies van zo’n MVP kunt verwachten. Daarom leggen we het proces van iteratief werken uit, omdat dat aan de basis ligt van een MVP en onze software engineering. In de praktijk betekent het namelijk nogal wat. In het voorbeeld uit het artikel vergelijken we een webapplicatie met een auto. Vroeger gaf de klant je een grote zak geld, verdween jij maanden in je schuur en kwam je eruit met een auto. Dan was het maar hopen dat de auto inderdaad was wat je klant wilde. Door iteratief te werken kijk je anders naar deze uitdaging. Je kijkt namelijk wat de onderliggende wens van je klant is. Hij wil een auto om van A naar B te komen. Dat kan ook met een skateboard, fiets of motor. Hoe dat precies zit?
Lees verder: MVP: wat kun je ervan verwachten?
3. Architectuur van webapplicaties
Zodra je hebt besloten dat iteratief werken de manier voor je is, ga je niet direct ontwikkelen. Het is belangrijk om eerst na te denken over de architectuur van je webapplicatie. Dat doe je al direct in het beginstadium, omdat je de basis direct goed wilt neerzetten. Dus gaat het over het toekomstige beheer van de applicatie. Je wilt dat de boel schaalbaar is en goed blijft presteren. Alleen dan zorg je voor een applicatie die eenvoudig nog jaren met je mee kan groeien.
4. Lokale developmentomgeving met containers
Tijd om te ontwikkelen! Dat doen we bij Seleno in een lokale omgeving op basis van containers. Dit is een techniek die steeds meer toegepast wordt. Het voorkomt niet alleen versieverschillen tussen ontwikkelaars, omdat iedereen op dezelfde virtuele server werkt. Het zorgt namelijk ook voor enorm veel flexibiliteit in je applicatie. Het idee is dat elke service van je applicatie een eigen container krijgt, die je onafhankelijk van elkaar kunt beheren. Je houdt overzicht over het hele plaatje met Docker.
Lees verder: Lokale developmentomgeving met containers
5. Wat is beter? GitFlow versus GitLab Workflow
Tegenwoordig gebruiken veel ontwikkelaars GitFlow of GitLab Workflow bij software engineering. Bij Seleno hebben we met beide varianten veel gewerkt, dus zetten we graag de voor- en nadelen van beide voor je op een rijtje. Op het eerste gezicht lijken de verschillen niet zo groot. Maar als we dieper op de praktische details ingaan, krijgen we toch al snel een duidelijke voorkeur. Waar wij voor kiezen?
Lees verder: Wat is beter? GitFlow versus GitLab Workflow
6. Meer grip op development met Kubernetes
Het ging eerder al even over containers en waarom we daar graag mee werken. Een goede tool om containers goed te managen, is Kubernetes. Dit is een serveromgeving voor je containers. De tool ondersteunt alle fasen in de DevOps-werkwijze, wat het onze favoriet maakt. Daarnaast is het met Kubernetes ontzettend eenvoudig om de productie-omgeving van je webapplicatie op te schalen. Voordat je het kunt gebruiken, moet je het wel ergens hosten. Ook daar vertellen we je meer over.
Lees verder: Meer grip op development met Kubernetes
7. De kunst van Agile werken en waarom Kubernetes daarin onmisbaar is.
Kubernetes past perfect in de Agile-werkwijze. Dit is een manier van ontwikkelen waar het draait om alles binnen je organisatie zo in te richten dat je tijdens de ontwikkeling razendsnel kunt inspelen op veranderingen. Dit komt het eindresultaat ontzettend ten goede. Ontdek wat voor rol een productowner speelt en waarom het beter is dan een waterval. En waarom Kubernetes er echt niet in mag ontbreken.
Lees verder: Agile werken met Kubernetes
8. Beheer en doorontwikkeling van webapplicaties
Na deze 7 onderdelen van software engineer, is het bijna tijd om live te gaan. Bijna, want je moet eerst nog nadenken over het beheer en de doorontwikkeling van je applicatie. Doe je dat niet, dan krijg je daar in de toekomst al snel spijt van. In dit onderdeel gaat het onder andere over de veiligheid van je app en het verzamelen van de eerste feedback. Regel je het beheer en de doorontwikkeling vervolgens goed, dat kun je de eerste versie van je app live zetten!
Lees verder: Beheer en doorontwikkeling van webapplicaties
Een gezamenlijk doel
De onderdelen van software engineering verschillen per ontwikkelaar. Dat betekent dat onze werkwijze niet voor iedereen heilig is, maar wel voor ons. We zijn ervan overtuigd dat het een geweldige manier is om samen met jou als klant tot een eindproduct te komen waar iedereen trots op is. Dat laten de resultaten die we boeken keer op keer zien. Lees hier nog even rustig door wat we voor je kunnen betekenen met software engineering. Of neem direct contact met ons op om je idee te bespreken.