Maatwerk softwarespecialist Covadis is een bedrijf uit Doetinchem. Op maat gemaakt software werkt zonder aanpassingen in bestaande processen van een bedrijf of organisatie zodat de voordelen direct te merken zijn. De toepassingen zijn speciaal voor jouw organisatie op maat ontwikkeld. Ze sluiten precies aan bij de bestaande procedures en er hoeven geen wijzigingen in het bedrijfsproces geregeld te worden.

Op maat gemaakte software zorgt voor optimalisatie en versnelling van bedrijfsprocessen.

De op maat gemaakte software van Covadis zorgt voor optimalisatie zonder vertraging. Door de versnelling in de bedrijfsprocessen dankzij de automatisering blijf je de concurrentie voor. Bovendien levert het al direct rendement op. Dat wil jij toch ook? Neem dus vandaag nog contact op met Covadis en ontdek wat het softwarebedrijf uit de Achterhoek voor jou kan betekenen. Want de specialist in maatwerk software ontwikkeling is veelzijdig.

In dit artikel geven we antwoord op de volgende vragen:

Op welke manier ontwikkelen wij software?

Twee bekende software ontwikkel methodes zijn Agile en de watervalmethode. De waterval spreek natuurlijk meteen tot de verbeelding. Agile is een Engelse term voor behendigheid. Een natuurkracht en flexibiliteit, je bedenkt er niet meteen een ontwikkelteam bij. Toch zijn het onwrikbare termen in de wereld van software development. Wat betekenen ze?

Ontwikkeling van software

Software development methode waterval 

De waterval methode is een klassieke werkwijze in de software development. Kort gezegd, bij de waterval methode komt een opdrachtgever met een idee aan bij het softwarebedrijf. Er wordt een volledig ontwerp gemaakt op basis van de wensen. De vereisten of details (requirements) worden vastgelegd en de eindbestemming wordt besproken. Vervolgens geven de opdrachtgever en de verantwoordelijke voor de ontwikkeling elkaar de hand en zeggen ze ‘tot over drie maanden’. Langer of korter kan ook.

Uiteindelijk komt de opdrachtgever terug en is de software af. Als het goed is, is het goed. Als er aanpassingen of uitbreidingen nodig zijn, dan kan er een nieuw traject worden gestart. Een waterval verloopt meestal in de volgende stappen:

  • Requirements opstellen 
  • Functioneel ontwerp opstellen
  • Technisch ontwerp opstellen
  • Ontwikkelen
  • Testen
  • Opleveren

Agile software ontwikkeling 

Hoewel de waterval een klassieker is, bestaat Agile even lang. De laatste jaren is Agile populair geworden in software ontwikkeling. De software ontwikkelaars van Covadis gaan overal in mee. Zij zijn namelijk niet alleen slim, maar ook heel lenig. 

Ook bij Agile begint de ontwikkeling met de wensen van een opdrachtgever. Hoewel er net als bij de waterval naar een compleet product wordt toegewerkt, is de weg ernaartoe toch anders. Het is vaak onmogelijk om alles tot in detail uit te werken want het is heel moeilijk om alle wensen al direct boven water te krijgen. Daarom wordt de ontwikkelfase opgedeeld in kleine fases van twee tot vier weken. Deze fases worden iteraties of sprints genoemd.

Er wordt gewerkt in korte fases waarbij aan het eind van iedere sprint werkende software wordt opgeleverd.

Er wordt gewerkt in korte fases waarbij aan het eind van iedere sprint werkende software wordt opgeleverd. De opdrachtgever hoeft geen maanden te wachten en kan zo tussendoor feedback geven waardoor het ontwikkelteam een product maakt dat volledig aansluit bij de wensen van de opdrachtgever. Hij of zij kan namelijk telkens bijsturen tijdens de ontwikkeling. Uitgebreide documentatie waar langdurig aan gewerkt is wordt onnodig. Door regelmatig te laten zien wat er ontwikkeld is en met elkaar in gesprek te gaan, komen de details vanzelf boven water.

software development

Er zijn gedurende het project continue feedback-momenten. Je ziet het product groeien en er is concrete voortgang. Bij een waterval model gebeurt dit aan het eind in één keer. Met Agile is er continu overzicht.

Hiermee houd jij als opdrachtgever grip en inzicht bij het project. Mocht je tijdens het ontwikkelproces een andere kant op willen gaan met de software, dan is er van alles mogelijk qua aanpassingen.

Agile software ontwikkeling

Agile software ontwikkeling Doetinchem

De kostenverdeling ligt bij een waterval project anders dan bij een Agile project. In een watervalproject is veel tijd nodig voor documentatie en het inventariseren van de requirements. Vooraf wordt alles tot in detail vastgelegd. Er wordt dus een groot deel van het budget besteed aan documentatie.

Bij Agile is dat anders. Daar worden requirements wel gedocumenteerd, maar minder uitgebreid. Er ligt meer nadruk op overleg en communicatie met de opdrachtgever. Overleg over hoe de opdrachtgever wil dat het werkt en hoe de applicatieontwikkelaar het implementeert is belangrijker dan het uitgebreid vastleggen. Bij Agile is er dus meer communicatie. De opdrachtgever is meer betrokken en aanwezig bij het proces.

Er zijn veel projecten waarbij de watervalmethode de juiste methode is. Het kan gaan om projecten waarbij de vereisten vast liggen en duidelijk zijn, maar ook op toepassingen die eenmalig opgeleverd worden zonder dat daar verder aanpassingen voor vereist zijn. Zo kan er bijvoorbeeld een koppeling tussen webapplicatie X en Y worden gevraagd. Covadis weet exact welk protocol gebruikt moet worden, weet precies welke informatie erbij komt kijken en wat het einddoel is. In dat geval is een watervalproces efficiënter dan Agile methodiek.

Hoe wordt maatwerk software getest?

Voor de oplevering wordt de software oplossing getest. Hiervoor zijn verschillende methodes van testen beschikbaar.

Ieder bedrijf heeft kwaliteitscontroles, van pindakaasfabrieken tot veehouderijen. Voor softwarebedrijven is dit het testen. Waar pindakaas vooral gemaakt wordt door machines met een constant resultaat, is het ontwikkelen van software mensenwerk. Een ontwikkelaar steekt veel tijd in het schrijven van code. Zijn dag bestaat uit veel denkwerk en het is belangrijk dat een tester controleert of de software doet wat de opdrachtgever wil dat het doet. Dat moet goed in elkaar zitten voor het op de wereld wordt losgelaten.

testen van software

Het is dan ook prettig dat een ontwikkelteam kan terugvallen op verschillende testen. Onze testers werken op verschillende manieren om te zorgen dat de software zo veilig en bruikbaar mogelijk wordt opgeleverd. We lichten er verschillenden toe.

Unittests – De unittest is een test op detailniveau. Deze technische test wordt door de ontwikkelaar zelf gemaakt. Er wordt een klein stuk van het programma gepakt om te controleren of het doet wat het moet doen. De test roept een functie in verschillende varianten aan en test zo of het blijft werken. Bovendien kun je deze test vaker doen. Zodra een opdrachtgever wil dat er een onderdeel aangepast wordt, kan de unittest naderhand controleren of alles nog foutloos werkt.

Regressietesten – Bij een regressietest wordt gecontroleerd of de aangepaste delen van een bestaande applicatie nog steeds werken. De nieuwe functionaliteit wordt meer in de breedte getest. Je controleert wat er op punt B gebeurt als je bij punt A iets aanpast. Dat is regressie en het helpt je om onverwachte resultaten voor te blijven.

Er zijn vele manieren om de kwaliteit van software te waarborgen.

Exploratief testen – Exploratief testen betekent handmatig testen op basis van de eigen redenering zonder vast plan. De tester gaat uit van al zijn of haar kennis en ervaring. Een goede tester weet waar eventuele zwakke plekken zijn en gaat op zoek naar fouten. Hoewel deze wijze van testen eenvoudig klinkt, kunnen alleen hele goede testers deze methode uitvoeren. Gelukkig hebben we die bij Covadis maximaal.

Automatisch testen – Deze vorm van testen is inderdaad wat je er van verwacht. Een test die automatisch wordt uitgevoerd. Een vorm van automatisch testen is UI testing. UI staat voor User Interface. Een UI test is uitgebreid en grondig. Als de test eenmaal gemaakt is, kan hij vaker worden uitgevoerd. Zo kan een applicatie  getest worden zonder dat een tester er zelf mee aan de gang gaat. Deze vorm van testen is dan ook heel aantrekkelijk voor grote applicaties die vaak onderhouden en uitgebreid worden. Als een grote applicatie telkens vernieuwd wordt, is het heel handig als deze met slechts een druk op de knop getest kan worden.

Uiteraard beschikt Covadis over nog meer testvormen. Wil jij graag meer weten over onze testen? Neem dan eens contact met ons op.

Covadis en de code reviews 

Code reviews worden ook wel peer reviews genoemd. Het idee van een code review is dat een ontwikkelaar zijn code laat controleren door een collega die het vervolgens beoordeelt. De collega controleert of de functionaliteit goed is en of de code aan een bepaalde kwaliteitstandaard voldoet. Eventueel houdt de reviewer rekening met toekomstige functionaliteiten. Als een applicatie A kan, moet het in de toekomst misschien ook B en C kunnen. Dit geldt natuurlijk niet altijd.

Ontwikkelaars Covadis

Verder let de reviewer erop dat de code goed gestructureerd is. Het moet ook makkelijk te lezen zijn. Als de ontwikkelaar een jaar later opnieuw in de code duikt, moet hij het nog wel begrijpen. Uiteraard wordt er ook gelet op de veiligheid van de code. Tot slot wordt er ook gekeken naar de structuur en de architectuur van een code. Een team heeft hier afspraken over. Als de code hieraan voldoet, is het makkelijker voor een ander teamlid om de code uit te breiden. Bovendien is het essentieel voor de onderhoudbaarheid van de code.

De code reviews zijn dus een belangrijk onderdeel van software ontwikkeling in teamverband. Uiteraard komt dat de maatwerk applicatie ten goede. Dit is een mooie vangst voor de opdrachtgever.

Wat is Continuous Deployment?

We werken bij Covadis met Continous Deployment. Continuous Deployment betekent dat software na voltooiing automatisch live gezet wordt. Op ieder mogelijk moment kan een nieuwe versie van de software neergezet worden zonder dat de gebruiker daar vertraging of andere hinder van ondervindt. Dit is de snelste en gebruiksvriendelijkste manier om software op te leveren. Na iedere testfase wordt de software automatisch geactiveerd. Wat er voor zorgt dat de software snel en effectief in gebruik kan worden genomen.

Continuous integration

Continuous Deployment kan niet zonder Continuous Integration. Deze methode voorkomt conflicten tussen bestaande software en de nieuwe onderdelen. Nieuwe releases werken zo optimaal in een bestaande toepassing, app of applicatie. Nieuwe onderdelen zijn op maat ontwikkeld voor de bestaande applicatie. De gebruiker ondervindt geen hinder bij de oplevering.

Dankzij deze werkwijze levert Covadis continu hoogwaardige software. Laat Covadis voor jou een app ontwikkelen met de nieuwste techniek. Wil jij software ontwikkeling uitbesteden? Covadis is de ideale partij voor jou bij iedere app ontwikkeling.

Continuous Deployment zorgt voor enorme flexibiliteit.

Nieuwe software snel in gebruik 

Continuous staat voor doorlopend. Deployment betekent inzetten. Als software ‘deployed’ wordt, betekent dit dat er nieuwe software of een nieuwe versie van bestaande software opgeleverd wordt. Op de klassieke wijze wordt software een enkele keer in een lange periode gereleased.

In de traditionele wijze wordt software ontwikkeld in een waterval methode ontwikkeld. Het is een proces van:

  • Analyse
  • Programmeren
  • Testen
  • Afronden
  • Deployen

Na een langere periode is er een nieuwe release van de software.

Bij de Agile methodiek zijn er veel meer gelegenheden voor een ontwikkelteam om te laten zien wat er ontwikkeld is. Na iedere sprint is er tenslotte werkende software en iets waar de opdrachtgever feedback op kan geven. De toepassing wordt continu getoetst aan de wensen van gebruikers en klanten.

Daarnaast is er het zogenaamde minimum viable product (MVP). Dit is het product met net genoeg kenmerken voor de opdrachtgever om feedback op te geven. Het kan gezien worden als startpunt om terugkoppeling op te krijgen voor verdere doorontwikkeling. Om op dat punt te komen streep je verschillende onderdelen van de software weg tot je de minimale vereisten over hebt. Bij iedere vorm van inspanning is er gelegenheid tot feedback en zo wordt er vanaf dat punt doorontwikkeld.

Nieuwe software

Welke voordelen heeft Continuous Deployment?

Continuous Deployment gaat hand in hand met Agile. Na iedere sprint is er werkende software ontwikkeld. Heeft het ontwikkelteam het werk af, dan wordt het meteen live gezet en in gebruik genomen. Het is een flexibel proces. Er is direct een actieve gebruikersgroep.

Doordat er meteen een actieve gebruikersgroep is, is er nog sneller feedback te verkrijgen en te verwerken. De architectuur staat en de sprints volgen elkaar snel op. Eventuele wijzigingen worden heel snel doorgevoerd. Dit biedt enorm veel voordelen voor een klant. Nieuwe software kan nog sneller in gebruik worden genomen. Hierdoor kan de opdrachtgever dus nog sneller reageren op veranderingen in de markt.

Razendsnelle software

Razendsnel software op maat 

Bij Covadis maken we onderscheid tussen

  • Continuous Integration
  • Continuous Delivery
  • Continuous Deployment

Deployment kan niet zonder Integration. Continuous Delivery is toch net anders. In dit proces wordt er nog een menselijke handeling gedaan voor de software live gaat. Het vergt nog een laatste ‘druk op de knop’. Hierdoor verloopt het proces net wat trager.

Het proces bij Continuous Deployment verloopt bij Covadis ongeveer als volgt:

  • De ontwikkelaar voltooit de code
  • De code wordt door Covadis getest 
  • De code wordt in de testomgeving verwerkt en door de klant beoordeeld
  • De nieuwe versie is gedeployed en dus gereleased

Zo levert Covadis snel, overzichtelijk en betrouwbaar kwalitatief hoogstaande toepassingen. Zie jij in jouw organisatie mogelijkheden voor snel op maat gemaakte software? Neem vandaag nog contact met ons op en ontdek wat een software programmeur voor jou kan betekenen.

Wie zitten er in een ontwikkelteam?

De eerste stap in het proces is het onderzoeken van de oorspronkelijke behoefte van de software. Welk proces moet worden verbeterd en hoe gaat de software worden toegepast? Daar hoort de nodige research bij. Bij Covadis komt de analist/projectleider dan in actie. Hij of zij bespreekt de details uitvoerig met de opdrachtgever. Op basis hiervan wordt er een plan gemaakt en kan de software in stappen ontwikkeld worden.

Ontwikkelteams van Covadis zijn zelfsturend, multidisciplinair, flexibel en schaalbaar.

Bij alle methodes beschikt een Covadis ontwikkelteam mogelijk over:

  • Een analist/projectleider
  • Software ontwikkelaars
  • Software architecten
  • Testers
  • Security specialisten

Uiteraard is het aan de opdrachtgever hoe groot een ontwikkelteam is en uit welke leden deze bestaat. In alle gevallen werkt Covadis graag op de wijze die het beste past bij de opdracht en bij de opdrachtgever. Zo verloopt het proces zo optimaal mogelijk. Wil jij weten wat Covadis voor jouw organisatie kan betekenen? Ontdek wat wij kunnen op het gebied van applicatie ontwikkeling. Neem dan vandaag nog contact op. Bij Covadis kun je software laten ontwikkelen, de specialist in software ontwikkeling op maat.