Release engineering - Release engineering

Release engineering , vaak afgekort als RE of als geknipt verbinding Releng , een deeldiscipline in software engineering betrekking op de samenstelling , assemblage en afgifte van de broncode tot eindprodukten of andere softwarecomponenten. In verband met de software release levenscyclus , werd gezegd door Boris Debic van Google Inc. die release engineering is om software engineering als de productie is om een industrieel proces:

Vrijgave techniek is het verschil tussen productie software in kleine teams of starters en vervaardigen software op een industriële wijze die herhaalbaar, geeft voorspelbare resultaten en schalen ook. Deze industriële stijl praktijken niet alleen bijdragen aan de groei van een bedrijf, maar ook zijn de belangrijkste factoren in het toelaten van de groei.

Het belang van release engineering bij het mogelijk maken de groei van een technologie bedrijf is herhaaldelijk betoogd door John O'Duinn en Bram Adams. Hoewel het niet het doel van de release engineering aan de ontwikkeling van software te bezwaren met een proces overlay, wordt het vaak gezien als een teken van organisatorische en ontwikkelingsstoornissen volwassenheid.

release engineering Modern houdt zich bezig met diverse aspecten van de productie van software:

identificeerbaarheid
In staat zijn om alle identificeren van de bron, gereedschappen, milieu, en andere componenten die deel uitmaken van een bepaalde release.
reproduceerbaarheid
De mogelijkheid om de bron, componenten van derden, gegevens en inzet externen van een software systeem te integreren met het oog op operationele stabiliteit te garanderen.
Consistentie
De missie om een ​​stabiel kader voor de ontwikkeling, implementatie, controle en verantwoording voor software-componenten.
Behendigheid
Het lopende onderzoek naar wat zijn de gevolgen van de moderne software engineering praktijken op de productiviteit in de software cyclus, zoals continue integratie en duw op de groene initiatieven.

Versie engineering is vaak de integratie hub voor meer complexe software development teams, zitten aan de kruising tussen ontwikkeling, product management, kwaliteitszorg en andere technische inspanningen, ook wel bekend als DevOps . Release engineering teams worden vaak gegoten in de rol van poortwachters (bijvoorbeeld op Facebook, Google, Microsoft) voor bepaalde kritische producten waar hun oordeel vormt een parallelle lijn van verantwoordelijkheden en bevoegdheden met betrekking tot de productie van releases (duwt).

Vaak, het bijhouden van wijzigingen in een configuratie management systeem of een revisie controle systeem maakt deel uit van het domein van de release ingenieur. De verantwoordelijkheid voor het creëren en het aanbrengen van een versie nummering in software-en het bijhouden van dit aantal terug naar de specifieke bronbestanden waarop het van toepassing-vaak valt op de release ingenieur. Het produceren of verbeteren van automatisering in de productie van software is meestal een doel van de release ingenieur. Het verzamelen, tracking, en het leveren van alle tools die nodig zijn voor het ontwikkelen en bouwen van een bepaald stuk van software kan een release engineering taak, om software jaar na de eerste release aan klanten op betrouwbare wijze te reproduceren of te onderhouden.

Terwijl de meeste software engineers, of software-ontwikkelaars, doen veel of al het bovenstaande als een cursus van hun werk in grotere organisaties de specialiteit van de release engineer kan worden toegepast op uiteenlopende bron bomen, projecten, teams en componenten te coördineren. Dit maakt de ontwikkelaars om functies in de software te implementeren en bevrijdt ook de kwaliteitsborging ingenieurs om de geproduceerde software breder en dieper te testen.

De release engineer kan leveren software, services, of beide software engineering en software kwaliteitsborging teams. De meegeleverde software kan gereedschap, montage of andere vorm van reorganisatie scripts die compilatie-uitgang te nemen en plaats ze in een vooraf gedefinieerde boomstructuur, en zelfs tot de authoring en de creatie van bouwen installateurs voor gebruik door testteams of door de eindverbruiker van de software . De diensten kunnen bestaan uit software build (compilatie) automatisering, geautomatiseerde testen integratie, de resultaten rapporteren, en de productie van of voorbereiding op software delivery systems-bijvoorbeeld in de vorm van elektronische media (cd's, dvd's) of elektronische mechanismen software distributie.

Verwante disciplines

Referenties

verder lezen

  • "Software release Methodology" van Michael E. Bays; ISBN  0-13-636564-7 .
  • "Software Configuration Management" door H. Ronald Berlack; ISBN  0-471-53049-2 .
  • "Design van een methodologie om software release beslissingen te ondersteunen" door H. Sassenburg; ISBN  90-367-2424-4 .
  • "Continuous Delivery: Reliable Software Releases door middel van bouwen, testen en Deployment Automation" door Jez Humble, David Farley; ISBN  0-321-60191-2