Mitras’ Software Development aanpak
Onze manier van werken kan worden uitgelegd in een aantal pijlers die we hieronder zullen toelichten, we werken namelijk heel modern, grotendeels remote.
Prio 1:Communicatie
Cliché maar waar: Communicatie is de kern van het succes van elk project.
Onze processen zorgen ervoor dat we kwaliteit garanderen, bijvoorbeeld door gebruik te maken van een (beveiligde) videocall applicatie, gecoördineerde methode en planning, evenals gedeelde documentatie.
Prio 2:Vertrouwen
Elke 2-4 weken worden nieuwe resultaten geleverd.
We zullen de resultaten bekijken als de uitkomst van zo’n sprint als een team.
Zo weet je wat er speelt en kunt u direct bijsturen.
Prio 3:Agile
Creeer synergie tussen jou en het team, gebaseerd op feedback en mikken op een hoge ‘velocity’.
Ons team staat open voor uw feedback en het aanpassen van prioriteiten, zodat u uw zakelijke doelstellingen te kunnen bereiken.
Kwaliteit van software ontwikkeling – Wat houden wij in de gaten voor je?
Mitras houdt tijdens het ontwikkelen van jouw maatwerksoftware de volgende 4 zaken in de gaten:
1. De kwaliteit
2. De functionaliteiten
3. De onderhoudbaarheid van de maatwerkapplicatie danwel platform en
4. De koppelingen
Hier wordt al rekening mee gehouden tijdens het vaststellen van de architectuur van de software.
Verder zijn wij een voorstander van de Agile Scrum methodiek waarbij gebruik wordt gemaakt van een multidisciplinair team en zodoende ook diverse expertise om tot een geoptimaliseerd resultaat te komen. Dit gebeurt in sprints van 2-4 weken op een iteratieve wijze. Concreet houdt dat in dat we als team leren en elke 2 – 4 weken wat opleveren waardoor de waardecreatie al direct begint.
Hieronder een plaatje ter illustratie
Scrum ontwikkelen
Aan het zelfsturende ontwikkelteam wordt verteld wat de software waarom moet gaan doen en voor wie (businesscase). Hoe die oplossing er onder de motorkap uitziet, wordt volledig overgelaten aan hun expertise. Aanbevolen wordt om User Interaction Design en ontwikkeling zoveel mogelijk naast elkaar te laten werken zodat de verschillende disciplines direct kunnen afstemmen, elkaars mogelijkheden benutten en onmogelijkheden voorkomen.
Stapsgewijs, met voortdurende feedback van de klant, wordt in meerdere korte ‘sprintjes’ het product ontwikkeld. Functionaliteit die de klant het meest waardevol vindt wordt daarbij als eerste opgeleverd, meteen als werkend product.
De software die de klant wil wordt niet in één keer ontwikkeld, maar incrementeel. In stapjes dus – in Scrum-terminologie sprints – van enkele weken per keer. Steeds is het resultaat daarvan een werkend en getest product, dat alvast kan worden opgeleverd.
De voordelen van deze aanpak zijn evident. De klant ziet de voortgang, en kan alvast feedback geven of dit nu wel hetgene is wat ze in gedachten hebben. Op die manier kan zo nodig direct worden bijgestuurd, en wordt voorkomen dat in een verkeerde richting verder wordt ontwikkeld. De maximale hoeveelheid werk die mogelijk opnieuw gedaan moet worden, heeft slechts de lengte van één sprint. Ook wordt per spint steeds duidelijker wat de klant nu precies wil, die geeft immers voortdurend feedback. Met Scrum kun je dus heel flexibel op de behoeften van de klant inspelen, ook als die in de loop van het traject veranderen.
Voor de afhandeling is van belang dat:
- Er een gedegen omschrijving is van “wat de software waarom moet gaan doen en voor wie”;
- Op welke wijze het ontwikkelteam wordt samengesteld, of er in huis of extern wordt ontwikkeld. Bij intern ontwikkelen bestaat het risico dat de ontwikkelpartij de rol van detacheringsbureau gaat vervullen en zich daardoor niet meer verantwoordelijk voelt voor het eindresultaat;
- Op welke wijze de risico’s worden belegd.;
- De planning, het aantal sprints, de ‘definition of done’ en heldere criteria voor de acceptatietest vooraf volledig en eenduidig zijn opgesteld;
- Er duidelijkheid bestaat over wel of geen overdracht van de broncode en ‘verhandelbaar’ eigendom;
- Schaalbaarheid mogelijk is en wordt beschreven.