Indarbejdelse af metoder, processer og struktur omkring Release, og test, af kode ifm. system-udvikling, samt håndtering af Release.
Kunde havde iværksat et system-udviklingsprojekt, i et agilt udviklings-setup med automatiserede builds, 3 udviklings-spor (Frontend, Backend, integrationer), flere branches samt manuel test af kode.
Brug af setup, samt strukturen omkring setup, gav flere udfordringer; F.eks. ved merge af branches, i de respektive spor; resolved issues blev genintroduceret; ikke afklarede afhængigheder mellem spor, medførte run-time errors.
Udfordringerne medførte at kode-release (flytning af kode fra udviklings-miljø til test-miljø) tog ca. 1½ dag for hvert build, og derudover at udviklere var nødsaget til at bruge tid på genbesøge kode, for at debugge og fejlrette samme kode/feature flere gange.
De første releases blev fulgt tæt, for at afklare root cause og omfang af udfordringer samt hvilke arbejdsgange, og aktiviteter, der var medvirkende årsag til issues. Herefter blev der iværksat tilpasninger, som havde til formål at forbedre situationen.
F. eks. blev det et krav at udviklere benyttede en mere simpel tilgang til udviklings-arbejdet:
- Kun tilladt for udviklere at arbejde på en feature ad gangen
- Udviklere mergede kode, efter endt arbejde på feature
- Peer to peer review af kode inden merge af kode
- Krav om test, både af egen kode ad flere omgange, samt test ved skift af stadie – Smoke-test, Test efter build, test i SIT-miljø, test i test-miljø.
Release Manager varetog ved opstart den tværgående koordination, og afklaring mellem de respektive spor, dels for at sikre afklaring af afhængigheder og versionering, men også for at indarbejde struktur, og processer, til gavn for den langsigtede håndtering af Releases.
Der blev, f. eks., iværksat sidemands-oplæring, således at projektet fik flere ressourcer, som var i stand til at håndtere tools, issues samt kommunikation på tværs af spor.
I løbet af 2 måneder lykkedes det at nedbringe forbrugt tid på den enkelte release, således at ny kode kunne lægges på test-systemer væsentligt hurtigere. Release, og deployment tid, blev således nedbragt fra 1½ dag til 4 timer, ved hjælp af ændrede metoder, og bedre struktur
Kompetencer: |
Bitbucket, Jenkins, Jira, Selenium, Microsoft Windows Server, Systemudvikling, Release management, Configuration Management, Change Management, DevOps, Continuous Integration, Continuous Delivery, Automated test, Java, IBM WebSphere Application Server (WAS), Tomcat, IBM Collaborative Lifecycle Management (CLM), IBM Rational DOORS, Git |