Close

Softwareontwikkeling

Leer de beginselen van softwareontwikkeling


Software verovert de wereld. Niet lang na de beroemde uitspraak van Marc Andreessen in 2011, "software verovert de wereld", heeft deze inderdaad de wereld in beslag genomen. In de huidige digitale economie is elk bedrijf grotendeels afhankelijk van software. Amazon mag dan wel 's werelds grootste retailer zijn, maar het is geen retailbedrijf: het is een softwarebedrijf, aldus Jeff Bezos, de voormalige CEO van Amazon. "Ons bedrijf draait niet om de inhoud van de bruine dozen", zegt hij. "Het draait om de software die de bruine dozen verzendt."

DevOps Infinity Loop

Wat is softwareontwikkeling?

Softwareontwikkeling bestaat uit het ontwerp, de documentatie, de programmering, het testen en het voortdurende onderhoud van een te leveren softwareversie. De combinatie van deze stappen wordt gebruikt om een workflow-pipeline te creëren –ofwel een reeks stappen die, wanneer ze worden gevolgd, tot hoogwaardige software leiden. Deze pipeline staat bekend als de 'levenscyclus van softwareontwikkeling'.

Hoewel er veel nuances bestaan, bevat de levenscyclus van softwareontwikkeling doorgaans algemene elementen zoals hieronder vermeld wordt.


Stappen binnen de levenscyclus voor softwareontwikkeling


Gloeilamp met omloopbanen

Ontdek

Projecten worden bedacht, ontworpen en geprioriteerd. Een methodologie zoals agile helpt om het werkproces voor het project te geleiden. Werkwijzen zoals DevOps geleiden werkwijzen gedurende de ontwikkeling en handelingen. Confluence is een geweldige tool om in deze fase documenten voor productonderzoek te ontwikkelen en ontwerpbestanden te delen.

Eenvoudige workflow

Plan

Belanghebbenden worden in kaart gebracht, budgetten worden vastgesteld en er wordt infrastructuur aangevraagd. Ontwerpdocumenten uit de conceptfase worden opgesplitst in uitvoerbare taken. Jira Software en Trello beheren, volgen en organiseren deze takenlijsten.

Code opslaan

Builds maken en testen

Ontwikkelingsteams werken aan de ontwikkeling van software die klaar is voor productie en die aan vereisten en feedback voldoet. CI/CD-pipelines zorgen voor een efficiënte ontwikkelaarservaring. Bitbucket biedt tools voor het gezamenlijk beoordelen van code en CI/CD-pipelines die aansluiten op het codebeoordelingsproces.

Code release

Implementeren

Zodra code is geschreven, goedgekeurd en samengevoegd, is het tijd om te leveren. Dankzij de CI/CD-pipelines in Bitbucket kunnen implementaties met één druk op de knop worden uitgevoerd. De live productiecode moet ergens worden opgeslagen. Overweeg het gebruik van cloudhosting door Amazon AWS, Google Cloud Platform of Microsoft Azure.

Tandwielen

Gebruiken

Actieve softwareprojecten vereisen support en onderhoudswerkzaamheden. Jira Service Management biedt krachtige tools om klantenserviceaanvragen vast te leggen, erover te beslissen en op te lossen.

fout

Observeren

Incidentbeheer is wanneer ontwikkeling en operations reageren op ongeplande gebeurtenissen en services herstellen met behulp van betrouwbare methoden om prioriteit te geven aan incidenten en snel tot een oplossing te komen.

Werkwijzen binnen de levenscyclus voor softwareontwikkeling

CI/CD

Continue feedback

Teams moeten elke release evalueren en rapporten maken om toekomstige releases te verbeteren, klanten vragen om hun mening te geven over de waarde en impact van productkenmerken, en bedrijfsgerelateerde uitkomsten met belanghebbenden delen. Door continue feedback te verzamelen kunnen teams hun processen verbeteren en waarde voor klanten verhogen.

Beveiliging

Beveiliging

Naarmate softwaretoepassingen steeds complexer en schaalbaar worden, zijn traditionele Q&A en beveiliging die aan het einde van een releasecyclus wordt „vastgeschroefd” niet langer voldoende om software veilig te houden. In plaats daarvan moet testen gedurende de levenscyclus van softwareontwikkeling worden opgenomen om bugs in softwarecode te minimaliseren.

Belangrijkste functies van effectieve softwareontwikkeling


Agile

Agile is een iteratieve benadering van projectmanagement en softwareontwikkeling die teams helpt sneller en met minder hoofdpijn waarde te leveren aan hun klanten. Agile-methoden zijn enorm populair binnen de software-industrie, omdat ze teams in staat stellen om per definitie flexibel zijn, goed georganiseerd en in staat zijn om te reageren op veranderingen.

DevOps

DevOps is een aantal procedures, tools en een culturele filosofie die de processen tussen softwareontwikkeling en IT-teams automatiseert en integreert. Het legt de nadruk op team empowerment, communicatie en samenwerking tussen teams en technologie-automatisering.

Continue integratie en levering (CI/CD)

Continue integratie is het automatiseren van de integratie van codewijzigingen in een softwareproject. Het stelt ontwikkelaars in staat om codewijzigingen regelmatig samen te voegen in een centrale repository waar builds en tests worden uitgevoerd.

Continue levering gaat verder dan continue integratie door automatisch codewijzigingen in een test-/productieomgeving te implementeren. Het volgt een pipeline van continue levering, waarbij geautomatiseerde builds, tests en implementaties als één release workflow worden gecoördineerd.

Microservices

Een microservices-architectuur, ook wel gewoon microservices genoemd, is een manier om een toepassing te bouwen als een reeks onafhankelijk inzetbare services die gedecentraliseerd en onafhankelijk van elkaar zijn ontwikkeld. Deze services zijn losjes met elkaar verbonden, onafhankelijk inzetbaar en gemakkelijk te onderhouden.

Met een microservices-architectuur kunnen ontwikkelaars zich organiseren in kleinere teams die gespecialiseerd zijn in verschillende services, met verschillende stacks en losgekoppelde implementaties.

Agile

Agile is een iteratieve benadering van projectmanagement en softwareontwikkeling die teams helpt sneller en met minder hoofdpijn waarde te leveren aan hun klanten. Agile-methoden zijn enorm populair binnen de software-industrie, omdat ze teams in staat stellen om per definitie flexibel zijn, goed georganiseerd en in staat zijn om te reageren op veranderingen.

DevOps

DevOps is een aantal procedures, tools en een culturele filosofie die de processen tussen softwareontwikkeling en IT-teams automatiseert en integreert. Het legt de nadruk op team empowerment, communicatie en samenwerking tussen teams en technologie-automatisering.

Continue integratie en levering (CI/CD)

Continue integratie is het automatiseren van de integratie van codewijzigingen in een softwareproject. Het stelt ontwikkelaars in staat om codewijzigingen regelmatig samen te voegen in een centrale repository waar builds en tests worden uitgevoerd.

Continue levering gaat verder dan continue integratie door automatisch codewijzigingen in een test-/productieomgeving te implementeren. Het volgt een pipeline van continue levering, waarbij geautomatiseerde builds, tests en implementaties als één release workflow worden gecoördineerd.

Microservices

Een microservices-architectuur, ook wel gewoon microservices genoemd, is een manier om een toepassing te bouwen als een reeks onafhankelijk inzetbare services die gedecentraliseerd en onafhankelijk van elkaar zijn ontwikkeld. Deze services zijn losjes met elkaar verbonden, onafhankelijk inzetbaar en gemakkelijk te onderhouden.

Met een microservices-architectuur kunnen ontwikkelaars zich organiseren in kleinere teams die gespecialiseerd zijn in verschillende services, met verschillende stacks en losgekoppelde implementaties.

Softwareontwikkelingstools


Tools voor softwareontwikkeling kunnen helpen in elke stap van de levenscyclus van de softwareontwikkeling. Hieronder vallen toonaangevende agile en DevOps-werkwijzen, codebeheer, automatisering mogelijk maken door middel van CI/CD, incidentrespons, testen en meer.

Logo Jira Software

Jira Software

Jira is de nr. 1 softwareontwikkelingstool die wordt gebruikt door agile teams. Jira Software is een projectmanagementtool voor agile teams om met vertrouwen software van wereldklasse te plannen, volgen en leveren.

Logo Bitbucket

Bitbucket

Bitbucket is meer dan alleen Git-codebeheer. Met Bitbucket kunnen teams centraal projecten plannen, samenwerken aan code, en deze testen en implementeren.

Compass-logo

Kompas

Compass is een ontwikkelaarsplatform dat je helpt met navigeren door je verspreide architectuur. Deze tool brengt alle losse informatie over engineering-output en de teams die hieraan samenwerken op één centrale, doorzoekbare plek samen.

Atlassian Open DevOps

Open DevOps is kant-en-klaar en teams vinden er alles wat ze nodig hebben om software te ontwikkelen en te gebruiken. Open DevOps begint bij Jira Software, Confluence, Bitbucket en Opsgenie. Teams kunnen eenvoudig de tools die ze willen, zoals GitHub en GitLab, met één klik toevoegen.

Atlassian Open DevOps

Open DevOps is kant-en-klaar en teams vinden er alles wat ze nodig hebben om software te ontwikkelen en te gebruiken. Open DevOps begint bij Jira Software, Confluence, Bitbucket en Opsgenie. Teams kunnen eenvoudig de tools die ze willen, zoals GitHub en GitLab, met één klik toevoegen.