Programvara peer review
Del av en serie om |
mjukvaruutveckling |
---|
Inom mjukvaruutveckling är peer review en typ av mjukvarugranskning där en arbetsprodukt (dokument, kod eller annat) granskas av författarens kollegor, för att utvärdera arbetsproduktens tekniska innehåll och kvalitet.
Syfte
Syftet med en referentgranskning är att tillhandahålla "en disciplinerad teknisk praxis för att upptäcka och korrigera defekter i programvaruartefakter och förhindra att de läcker ut i fältoperationer" enligt Capability Maturity Model .
När de utförs som en del av varje programvaruutvecklingsprocess , identifierar peer reviews problem som kan åtgärdas tidigt i livscykeln. Det vill säga, en peer review som identifierar ett kravproblem under kravanalysaktiviteten är billigare och lättare att fixa än under programvaruarkitekturen eller programvarutestningsaktiviteterna .
National Software Quality Experiment, som utvärderar effektiviteten av peer reviews, finner "en gynnsam avkastning på investeringen för programvaruinspektioner; besparingarna överstiger kostnaderna med 4 till 1". För att säga det på ett annat sätt är det i genomsnitt fyra gånger dyrare att identifiera och åtgärda ett programvaruproblem senare.
Skillnad från andra typer av mjukvarugranskning
Peer reviews skiljer sig från ledningsgranskningar , som utförs av ledningsrepresentanter snarare än av kollegor, och i lednings- och kontrollsyfte snarare än för teknisk utvärdering. De skiljer sig också från granskningar av programvara , som utförs av personal utanför projektet, för att utvärdera överensstämmelse med specifikationer, standarder, avtal eller andra kriterier.
Se över processer
Inbördes utvärderingsprocesser finns över ett spektrum av formaliteter, med relativt ostrukturerade aktiviteter som "kompiskontroll" mot ena änden av spektrumet, och mer informella tillvägagångssätt som genomgångar , tekniska referentgranskningar och mjukvaruinspektioner i den andra. IEEE definierar formella strukturer, roller och processer för var och en av de tre sista .
Ledningsrepresentanter är vanligtvis inte involverade i genomförandet av en referentgranskning förutom när de ingår på grund av specifik teknisk expertis eller när arbetsprodukten som granskas är ett dokument på ledningsnivå. Det gäller särskilt linjechefer för andra deltagare i granskningen.
Processer för formella kollegiala granskningar, såsom programvaruinspektioner , definierar specifika roller för varje deltagare, kvantifierar stadier med in-/utträdeskriterier, fångar upp mjukvarumått på peer review-processen.
"Öppen källkod" recensioner
I fri/öppen källkodsgemenskapen har något som peer review ägt rum i konstruktion och utvärdering av datorprogramvara . I detta sammanhang har motiveringen för referentgranskning sin motsvarighet i Linus lag , ofta formulerad: "Med tanke på tillräckligt med ögonglober är alla buggar ytliga", vilket betyder "Om det finns tillräckligt många granskare är alla problem lätta att lösa." Eric S. Raymond har skrivit inflytelserik om peer review inom mjukvaruutveckling .
- ^ Kolawa, Adam; Huizinga, Dorota (2007). Automatiserat förebyggande av defekter: bästa praxis för programvaruhantering . Wiley-IEEE Computer Society Press. sid. 261. ISBN 978-0-470-04212-0 .
- ^ Resurser och resultat för nationell mjukvarukvalitetsexperiment
- ^ IEEE Std. 1028-2008, "IEEE Standard for Software Reviews and Audits"
-
^
Eric S. Raymond . "Katedralen och basaren" .
{{ citera journal }}
: Citera journal kräver|journal=
( hjälp )