Radicale versnelling van het software voortbrengingsproces door middel van Continuous Delivery Radicale versnelling van het software voortbrengingsproces door middel van Continuous Delivery en Agile Transformatie IT Managers staan onder druk om steeds sneller veranderingen door te voeren Ondernemingen overleven tegenwoordig alleen als ze sneller kunnen innoveren dan de concurrentie. Effectieve innovatie lukt alleen door directe feedback van klanten te krijgen en deze binnen enkele dagen om te zetten in software die echt gebruikt wordt. ‘Concept-to-cash’ in dagen, niet in weken of maanden. Echter door de bestaande legacy systemen en complexe processen komt daar weinig van terecht. Hierdoor blijft de verwachte ambitie van de organisatie veelal steken. Maar hoe worden deze ambities toch weer bereikbaar? Het software voortbrengingsproces kan op zeer verregaande manier worden geautomatiseerd. Vrijwel alle bottlenecks van herhaaldelijk menselijk handelen kunnen worden geëlimineerd. Hierdoor is het mogelijk steeds sneller, beter en goedkoper te leveren. Dit wordt mogelijk gemaakt met ‘Continuous Delivery’. Wat is Continuous Delivery eigenlijk? Continuous Delivery verwijdert op radicale manier de ‘waste’ uit het software voortbrengingsproces. Alle handmatige proces stappen binnen het testen, het deployen, het configuratie management, het op- en afschalen van omgevingen en de monitoring worden volledig geautomatiseerd. In combinatie met een strak Agile proces wordt snelle en effectieve feedback van klanten direct omgezet in competitieve IT systemen. Grip krijgen op de situatie? Xebia brengt de volwassenheid in kaart van het volledige voortbrengingsproces door middel van een quick scan, die direct inzicht geeft in het verbeterpotentieel. Dit wordt gedaan op basis van 6 volwassenheidsaspecten: building, testing, deploying, provisioning, monitoring en DevOps Integratie. “How to deliver software in days instead of months.” 3 Quick Scan van uw software voortbrengingsproces Aanleiding Doelstelling Context Scope Stakeholders 1. Intake met opdrachtgever 2. Vastleggen centrale onderzoeksvraag Workshop met stakeholders Context verdiepen Basis problemen verzamelen Inventarisatie van oplossingen Identificeren van artefacten o.b.v. de Continuous Delivery Maturity Matrix 3. Interviews met stakeholders Onderzoeksgebied 4 Onderzoeksgebied Definieren van kernvraag Onderzoeksgebied Techniek Architectuur Actuele problemen Proces Team 4. Bevindingen valideren Verificatie van gevonden feiten 5. Aanbevelingen terugkoppelen Visie Mening van experts 6. Presentatie & Rapportage Uitvoerbare adviezen Onderbouwde beoordeling Duidelijkheid over de toekomst De Continuous Delivery Quick Scan laat zien waar de versnelling zit De Continuous Delivery Quick Scan geeft u inzicht in en duidelijke verbetervoorstellen voor het nemen van de volgende stap in de volwassenheid van uw software voortbrengingsproces. Hieronder staan kort de stappen beschreven voor de Continuous Delivery Quick Scan. 1. Iedere Quick Scan start met een intake waarin aanleiding, doelstelling en context helder worden geformuleerd. Gezamenlijk stellen we de concrete onderzoeksvraag en het toetsingskader vast, welke de basis vormt voor de opdrachtformulering. 2. Gerichte interviews met stakeholders leveren de basis voor verdere analyse. De interviewvragen bestrijken een variëteit aan deelgebieden en zijn samengesteld op basis van onze Continuous Delivery Maturity Matrix en jarenlange ervaring in het versnellen van complexe organisaties. 3. De Continuous Delivery Maturity Matrix gaat uit van 6 aspecten van volwassenheid. 1. Building, 2. Testing, 3. Deploying, 4. Provisioning, 5. Monitoring en 6. DevOps Integratie. Op deze gebieden wordt verdere analyse gedaan in samenwerking met de stakeholders en experts van de klant. 4. Na de analysefase hebben we per volwassenheidsaspect een helder inzicht in de stand van zaken. Deze bevindingen brengen we met elkaar in verband en valideren we met de betrokken partijen om echt tot de kern van de zaak te komen. Onze ervaring leert dat kwaliteitsproblemen altijd terug te voeren zijn op onderliggende oorzaken. Analyse van techniek op zich is dus niet voldoende. 5. Onze aanbevelingen zijn gebaseerd op feitelijke bevindingen in combinatie met onze praktijkervaring. Over hoe software zonder onnodige handmatige handelingen gecontroleerd in productie komt. En hoe de organisatie hiervoor optimaal kan worden ingericht. 6. Als sluitstuk van de Quick Scan presenteren en rapporteren wij de bevindingen en aanbevelingen binnen uw organisatie. Indien u wenst, kunnen we u helpen met het implementeren van de aanbevelingen. 5 Zo krijgt u grip op uw situatie Wat is de volwassenheid van uw software voortbrengingsproces nu? Continuous Integration (Building) Testing Deploying Provisioning 100% volledig geautomatiseerde testen van DEV tot PROD. Continue End-To-End deployments. Self Service Portaal aanwezig om nieuwe omgevingen aan te vragen. Altijd wordt de “Health” en “Quality” getoond op een dashboard. Adaptieve thresholds en automatische trend analyse. Monitoring gegevens worden actief gebruikt om het systeem te verbeteren. Operations en Ontwikkeling zijn beide onderdeel van het multidisciplinaire team en delen alle verantwoordelijkheden Centrale build omgeving. Teams herbruiken actief generieke componenten op een veilige en gecontroleerde manier Automatische en dynamische kwaliteitstesten, zoals Security scans, functionele en performance tests, garanderen de kwaliteit van de code. Op test gebaseerde deployments van End-To-End applicaties. Deployments gebeuren over meerdere omgevingen. Omgevingen worden gecreëerd en afgebroken met een druk op een knop. Operation systeem is gevirtualiseerd. Monitoring van software kwaliteit. Application “Health”-dashboard is beschikbaar voor de teams. Monitoring van business level kwaliteits metrieken (KPI’s, opbrengst, conversion rate, succesvolle transacties etc.) Een afgezant van Operations werkt mee in het project. Een afgezant van Ontwikkeling werkt mee in het project. Build on commit. Gearchiveerde componenten wordt beschikbaar gesteld voor hergebruik door andere teams. Automatische statische code en security analyse nadat code is ingecheckt. Omgevingen zijn identiek. Rollout van applicaties gebeurt met een druk op de knop. Geautomatiseerde deployments naar de OTAP omgeving. Omgevingen zijn identiek. Verschillende tools worden gebruikt voor het provisionen en configureren van een omgeving. Monitoring van zelf gemaakte “Health check” functionaliteit. Monitoring van applicatie “health metrics” (heap, threads, response times, load). Ontwikkeling en Operations werken samen wanneer het nodig is. Geautomatiseerde builds worden op een centrale plek uitgevoerd en handmatig geactiveerd. Automatische testen worden geïnitieerd op het moment dat code wordt ingecheckt. De testen richten zich alleen op unit/component testen. Self service deployments naar de Ontwikkel en Test omgeving. Gescripte installaties per component voor elke server. Omgevende systemen worden handmatig geconfigureerd. Monitoring van applicatie log files voor “errors”. Code wordt opgeleverd met Release notes, waarmee Operation de installatie doet en managed. Builds worden uitgevoerd op een lokaal werkstation door gebruik te maken van 1 of meerdere build scripts. Alle testen behoeven een handmatige activiteit. Sommige testen zijn geautomatiseerd, maar moete handmatig worden geïnitieerd. Deployment door de executie van afzonderlijke deployment en database scripts. Manuele configuraties en intalls/ env. Handmatige installatie en configuratie van de software voor middeleware, databases, applicatie servers, etc. Monitoring van system metrieken (CPU, disk, memory, proces). Operation wordt aan het eind van het project actief betrokken Complete Level 4 Average Level 3 Beginner Level 2 Base Level 1 6 DevOps Integratie End-To-End geautomatiseerd gestuurde builds. Level 5 Advanced Monitoring De 6 aspecten van volwassenheid: 1. Building Componenten kunnen op een gecontroleerde en veilige manier worden hergebruikt. Worden builds op regelmatige intervallen en op een centrale plek getest en uitgevoerd, kunnen andere projecten en teams hierdoor op een gecontroleerde manier componenten hergebruiken en hoe is dergelijke omgeving het beste implementeren? 2. Testing Kwaliteit wordt reeds in een vroeg stadium in de software aangebracht. Worden geautomatiseerde tests als integraal onderdeel van het project uitgevoerd, op welke manier worden gevonden fouten geadresseerd, zijn de tests doeltreffend en op welke manier kunnen we dit proces stroomlijnen? 3. Deploying Software kan in een kwestie van minuten in productie worden gebracht. Kunnen end-to-end applicaties met een druk op de knop over meerdere servers worden geinstalleerd en is dit als een geautomatiseerd, herhaalbaar en voorspelbaar proces, gebaseerd op Application Release Automation (ARA)? 4. Provisioning Servers en systemen kunnen met een druk op de knop worden opgebouwd- en afgebroken. Is het mogelijke om op ieder gewenst moment werkende omgevingen in een paar minuten foutloos op te bouwen en weer af te breken, zijn deze omgevingen vrij van afwijkende configuraties, onderhoud u hierdoor alleen de platformen die u werkelijk nodig hebt en wat is er voor nodig om dit doel te bereiken? 5. Monitoring Op feiten gebaseerde rapportages kunnen op ieder moment worden opgevraagd. Biedt de omgeving voldoende mogelijkheden om voor ieder software delivery traject op ieder gewenst moment een holistisch, op feiten gebaseerde statusrapportage te geven, kan op deze rapportages ook echt worden gestuurd en wat moet er gebeuren om dit in te voeren? 6. DevOps Integratie Development en Operations delen verantwoordelijkheden voor de kwaliteit van software. Wat is de manier waarop development en operations op een agile manier samenwerken, hoe ziet de structuur van het delivery team eruit en wat moet er gebeuren om het team end-to-end voor het eindresultaat verantwoordelijk te maken? 7 Missie is ‘Autoriteit’ Focus op Innovatie Focus op het ‘Softwa Leidend in Betrouwbaar 8 Resultaatgericht ‘Continuous Delivery’ versnelling ware leveringsproces’ consultancy op haar vakgebied in NL Focus op ‘Agile Transformatie’ 9 Optimale resultaten van Continuous Delivery behaalt u met een agile organisatie Met de Agile Maturity Scan brengen wij de agility van uw organisatie in beeld. U werkt al enige tijd met agile in uw organisatie. De verandering is ingezet en de eerste resultaten zijn zichtbaar. Maar heeft agile u gebracht wat u ervan verwachtte? Of kan het scherper en beter? Wat kan er verbeterd worden, en waar begint u mee? En indien u tevreden bent over de tot nu toe bereikte resultaten, wat is de volgende stap voor uw organisatie om het rendement van agile verder te vergroten? Overzicht Onderliggend aan de Agile Maturity Scan is het Agile Maturity Model dat Xebia zelf ontwikkeld heeft in samenwerking met haar klanten. Dit model meet op objectieve wijze op drie deelgebieden de volwassenheid en effectiviteit van uw agile werkwijze. Deze drie deelgebieden zijn mens, proces en organisatie. Model Het model, en daarmee de scan, gaat in op de onderdelen mens & team, proces en organisatie. Bij mens & team gaat het over de medewerkers en hun gedrag, over samenwerking, teamdynamiek en zelforganisatie. Bij proces wordt bepaald hoe goed het agile of scrum proces wordt toegepast, wat ermee wordt bereikt en/of het beter kan. Bij organisatie wordt het grote plaatje bekeken waarin een project of programma zich beweegt inclusief voortbrengingsketen en business aanhaking. Hoe is het portfolio management ingericht en hoe wordt beoordeeld in hoeverre deze een agile manier van werken ondersteunt. In het model zijn 5 groeifases onderkend, met elk hun specifieke kenmerken. De kracht van het model zit hem in de combinatie. Vanuit verschillende invalshoeken (mens, proces en organisatie) wordt naar de volwassenheid gekeken en dat wordt dan concreet en praktisch gemaakt. Daarmee kan een zeer gericht advies gegeven worden over de vervolgstappen voor verdere verbetering. 10 Responsiveness Level 5 Time to Market Level 4 Feature Alignment Level 3 Quality Level 2 Productivity Level 1 Process People (Attitude) Organization (Structure) Adaptive Flexible Agile / Changeable Klantfeedback wordt actief gehaald en direct gebruikt. Business cases zjin stuurmiddelen geworden, er is ondernemerschap (Lean Startup). De vertaling van visie - business doel - portfolio keuzes - projecten is transparant en werkt. De overwegingen achter prioritering van projecten zijn transparant en worden begrepen door de teams. De Product Owner acteert als Product Manager, krijgt opdracht de strategie te realiseren en komt daarom met projectvoorstellen om de gestelde business doelen te behalen. Persoonlijk ondernemerschap, doen wat nodig is vanuit intrinsieke motivatie. De klanten van de organiatie worden betrokken bij portfolio keuzes. De organisatie wil en kan reageren op veranderingen in haar omgeving en is een netwerkorganisatie geworden. Flowing Motivated Aligned / Committed Snelle deleveries en regelmatig ‘live’, niet alleen op einde project. Klantfeedback begint gezocht te worden. Echte sturing op business value binnen de projecten, outside-in prioritering door de Product Owner. Er wordt keten-breed gedacht en geacteerd. Opdrachtgever stuurt op visie/strategisch, de Product Owner op business doelen. Teams zijn ‘performing’ geworden, met hoge voorspelbaarheid en vanzelfsprekende kwaliteit. Teamleden spreken elkaar aan op minder functioneren. Mensen zijn gemotiveerd de gestelde business doelen te behalen. Development en operations zijn geintegreerd in de teams (DevOps). Product Owners acteren als groep ipv. individu, er ontstaat samenwerking over teams heen. Projecten worden verkort bij opportunities elders. De wijzigingenstroom uit functioneel beheer is integraal onderdeel van het Product Owner werk. Product (Ownership) Focused Coordination / Business Driven Product Owner rol is ingebed in de organisatie, het mandaat is in orde (niet overruled door management) en de rol is daadwerkelijk bemand. De PO prioriteert featues, maar stuurt nog onvoldoend op business value (over features heen kijken). De grotere impediments staan op de agenda van het management en worden opgelost. De mensen weten waar ‘ze het voor doen’, ze weten waar het bedrijf naar toe wil. De teams zijn van IK -> WIJ gegaan, het team doet wat nodig is en kijkt over de vakgrenzen heen. We maken dingen af. Agile Portfolio management geintroduceerd, nog geen echte sturing op business value in en over de portfolio’s. Agile mindset ook buiten IT ingebed. Beweging naar DevOps wordt ingezet om operations sterk te betrekken tijdens development. Continuous Improvement Disciplined and Educated Self-organization Evaluaties in de teams worden serieus gedaan en leiden tot continue verbeteringen waardoor de kwaliteit stijgt. Dit geldt ook voor de Product Owner teams. De Product Owner rol is nog niet ingebed in de organisatie. Er wordt nog weinig geleerd over de teams heen. Professionale attitude, gedreven om kwaliteit te leveren. Er onstaat wederzijds respect tussen de teamleden. Teams beginnen multi-disciplinair te werken en teamleden kijken verder dan alleen hun eigen vakgebied. De autonomie van teams stijgt. Vaste teams geformeerd, er wordt meer verantwoordelijkheid lager in de organisatie gelegd. Er ontstaat zelf-organisatie op beperkte schaal. Lean and mean Team play Scaling Agile is vooral nog instrumenteel. Eigenaarschap ligt bij de opdrachtgever, product owner krijgt projectopdracht en is primair uitvoerend. Hele team zit bij elkaar, teamleden hebben invloed op de werkwijze. Beheer is nog niet aangehaakt. Basic portfolio management, project per project. Er zijn projectteams geformeerd, nog geen vaste (stable) teams. “Time-to-market versnellen klinkt goed maar waar beginnen we?” 11 “Een groot deel van onze tijd gaat op aan productie verstorende problemen en niet aan vernieuwingen die onze business verder helpen.” 12 Onze referenties Wij helpen onze klanten al sinds 2001 met Quick Scans op het gebied van software kwaliteit en Continuous Delivery. Sindsdien heeft Xebia tientallen Quick Scans en QA opdrachten uitgevoerd. Hier vindt u een greep uit onze referenties. Ziggo – Invoering van Continuous Delivery Uitdaging: De Ziggo internetsite staat als platform centraal in de dienstverlening naar klanten en heeft meer dan een miljoen unieke gebruikers per week. Om maximaal te kunnen inspelen op de klant behoefte is het voor Ziggo uitermate belangrijk om snel wijzigingen te kunnen doorvoeren. Bij Ziggo was hierin een duidelijke versnelling nodig om weer competitief te worden. Resultaat: Ziggo heeft in korte tijd op basis van het advies van Xebia een aantal concrete verbeteringen in de opleversnelheid door kunnen voeren. Op de middellange termijn heeft dit advies geleid tot de realisatie van de volledige nieuwe ontwikkelstraat op basis van alle principes van Continuous Delivery. Het Kadaster – Invoering van Automated Deployment/Provisioning Uitdaging: Het Kadaster heeft veel geïnvesteerd in een passende maatwerk infrastructuur voor elk nieuw maatwerk automatiseringsproject. Het Kadaster had dringend behoefte aan een oplossing om de stijgende kosten, toenemende complexiteit en het niet kunnen voldoen aan de wensen vanuit de business het hoofd te bieden. Resultaat: Xebia heeft met het Kadaster een gestandaardiseerde infrastructuur gerealiseerd op basis van cloud principes, inclusief de volledige automatisering van alle handmatige activiteiten. Via een ‘self service’ loket kan de eindgebruiker zelf omgevingen bestellen en applicaties laten landen. De tijd van aanvraag tot levering is hierdoor een kwestie van minuten in plaats van maanden geworden. Vattenfall (NUON) – Invoering van Continuous Integration Uitdaging: De applicatie architectuur van de internet site van NUON is opgebouwd uit een groot aantal verschillende technologieën. Door de tijd heen zijn er inmiddels zoveel verschillende libraries en frameworks gebruikt dat het aanbrengen van verbeteringen steeds moeilijker wordt en meer tijd in beslag neemt. 13 Resultaat: Het resultaat van de Quick Scan van Xebia is een verbeterplan van de architectuur en het software voorbrengingsproces op basis van het continuous delivery maturity model. Momenteel is Continuous Integration ingericht en het automatisch deployment proces wordt geoptimaliseerd. bol.com – Invoering van agile Uitdaging: De groei van bol.com eist veel van de performance en beschikbaarheid van de webshop. Dit legt een enorme druk op de IT-organisatie. Naast deze groei is de organisatie continu bezig om nieuwe en innovatieve ideeën te realiseren voor de winkel. Deze ideeën leiden altijd tot aanpassingen in de systemen en die wijzigingen vragen daarom om een flexibele benadering. Echter bij bol.com was de innovatie snelheid op een te laag peil geraakt en een radicale verandering was nodig. Resultaat: Xebia heeft de agile manier van werken ingevoerd bij bol.com, waardoor aanzienlijke verkorting van de time to market is gerealiseerd. En door de invoering van meerdere agile teams is parallelle software ontwikkeling mogelijk gemaakt. Dit heeft als resultaat gehad dat de medewerkers weer erg gemotiveerd zijn en bol.com kan in een hoog tempo door blijven groeien. NS – Quick Scan op bestaande systemen en processen Uitdaging: Het OV-chipkaart systeem, dat op alle stations van Nederland geïnstalleerd is, moet regelmatig aangepast worden. Het bijwerken van het system kost vele dagen en vereist veel handwerk door specialisten met inhoudelijke kennis van het system. Om het deployment proces te verbeteren is een maatwerk oplossing gebouwd waarmee installaties van het systeem geautomatiseerd worden gerealiseerd. De NS had echter geen volledig vertrouwen in de kwaliteit van oplossing. Resultaat: Op basis van de quick scan heeft Xebia geadviseerd om te investeren in kwaliteitsverbeteringen i.p.v toevoegen van nieuwe functionaliteit. Tevens heeft Xebia concrete adviezen gegeven over een meer iteratief ontwikkelproces. Rabobank Nederland – Online ontwikkeling op agile wijze 14 Uitdaging: Systeemontwikkeling op het gebied van Internet gebeurt bij de Rabobank op een agile manier. De vraag was hoe dit efficiënter zou kunnen om een nog kortere doorlooptijd te bewerkstelligen. Systeemontwikkeling wordt bij de Rabobank deels uitgevoerd door middel van offshoring bij een grote Indiase partij. Resultaat: Rabobank heeft de concrete aanbevelingen van Xebia geïmplementeerd, waardoor doorlooptijden van maanden konden worden gereduceerd tot weken. Dit heeft geleid tot een nieuwe manier van samenwerking met de offshoring partner. “Hoe kan ik kwaliteit vergroten en tegelijkertijd mijn kosten verlagen?” Wij helpen u graag verder. Bel ons! Martin van Steenis Manager Sales IT Architects T +31 6 29 00 39 00 [email protected] Reinier Verschure Manager Sales IT Architects T +31 6 15 02 48 70 [email protected] Enrique Zschuschen Business Unit Manager IT Architects T +31 6 55 38 74 38 [email protected] 15 “Quality without compromise.” Utrechtseweg 49 1213 TL Hilversum T: +31 (0)35 538 19 21 [email protected] www.xebia.com/continuousdelivery 16
© Copyright 2024 ExpyDoc