您好,欢迎来到意榕旅游网。
搜索
您的当前位置:首页A Coding Scheme Development Methodology Using Grounded Theory for Qualitative Analysis of P

A Coding Scheme Development Methodology Using Grounded Theory for Qualitative Analysis of P

来源:意榕旅游网
PPIG'07 Full paperACodingSchemeDevelopmentMethodologyUsing

GroundedTheory

forQualitativeAnalysisofPairProgramming

StephanSalinger,LauraPlonka,andLutzPrechelt

FreieUniversit¨atBerlin,Institutf¨urInformatik,

Takustr.9,14195Berlin,Germany

salinger,plonka,prechelt@inf.fu-berlin.de

Abstract.Sinceanumberofquantitativestudiesofpairprogramming(theprac-ticeoftwoprogrammersworkingtogetherusingjustonecomputer)havepro-ducedsomewhatconflictingresults,anumberofresearchershavestartedtostudypairprogrammingqualitatively.Whilemostsuchstudiesusecodingschemesthatarefullyorpartiallypredefined,wehavedecidedtogothelongwayanduseGroundedTheory(GT)togroundeachandeverystatementwemakedirectlyinobservations.

Thefirstintermediategoal,whichwetalkabouthere,wastoproduceacodingschemethatwouldallowtheobjectiveconceptualdescriptionofspecificpairprogrammingsessionsindependentofaparticularresearchgoal.

ThepresentarticleexplainshowourinitialattemptsatusingthemethodofGroundedTheoryfailedandwhichpracticeswedevelopedtoavoidthesedifficulties:pre-determinedperspectiveonthedata,conceptnamingrules,analysisresultsmeta-model,andpaircoding.WeexpectthesepracticesbehelpfulinallGTsituations,inparticularthoseinvolvingveryrichdatasuchasvideodata.

Weillustratetheoperationandusefulnessofthesepracticesbyrealexamplesderivedfromourcodingworkandalsopresentafewpreliminaryhypothesesregardingpairprogrammingthatwehavestumbledacross.

1Introduction

Duringthelastfewyears,pairprogramming,asitisknownfromextremeprogram-ming[1],hasbeenthesubjectofmanyempiricalinvestigations.Thisresearchfocussedmainlyonthemeasurementofbottomlinepairprogrammingeffects,whereastheun-derlyingprocessofpairprogramminghasbeenregardedasakindofblackbox,theoutputofwhichisanalyzedquantitativelywithrespecttoitsperformance,errorrate,programmersatisfactionetc.

Unfortunately,theresultsofthisresearchareoftencontradictory.Forinstancere-gardingtotaleffort,Williamsfoundthatpairprogrammingresultsina15%increasecomparedtosoloprogramming[2],LuiandChanfound21%[3],andNawrockietal.found48%[4].Mostlikelythesedifferencesarecausedbydifferencesinmoderatorvariablessuchasprogrammerandpairexperience,typeoftasketc.,butneitherdoweknowthecompletesetofrelevantmoderatorvariablesnorthenatureandmechanismoftheirinfluence.

144Ourgoalassoftwareengineeringresearchersistounderstandpairprogramminginsuchawaythatwecanadvisepractitionershowtouseitmostefficiently.

Weproposethattheonlywaytoobtainsuchunderstandingistounderstandthemechanismsatworkintheactualpairprogrammingprocess.Obviously,thisunder-standingmustfirstbegainedinqualitativeformbeforewecanstartquantifying,andsincewedonotknowmuchyet,theinvestigationhastostartinanexploratoryfashion.WehavestartedsuchaninvestigationbasedontheGroundedTheory(GT)method-ology[5]andworkingfromrichsetsofdata(full-lengthaudio,programmervideo,andscreenvideoofpairprogrammingsessions).Thepresentpaperpresentsanumberofimportantmethodologicalinsightsgainedduringthisresearchandafewinitialresults.Itscontributionsarethefollowing:

–adescriptionofstumblingblocksforaGT-basedanalysisinthisarea;

–asetofpracticesthatextendtheplainGTmethodandhelpovercomingtheseob-stacles;

–asketchofapairprogrammingprocesscodingscheme.

Insubsequentresearch,thecodingschemeissupposedtoformthebasisformoredetailedconceptualdescriptionsofthepairprogrammingprocessandalsotosupportthepropositionofhypothesesandtheoryconstruction.

WewillfirstgiveashortintroductiontoGroundedTheory(Section2)anddescribethenatureandoriginofourrawdata(Section3).TheheartofthepaperdescribeshowandwhyplainGTdoesnotworkwellundertheseconstraints(Section4)andwhichpracticeshelptomakeitworkbetter(Section5).Section6presentstheapplicationofthemodifiedGTprocessandafewofitsinitialresults,namelyexcerptsofacodingschemefordescribingtheactivitiesoccuringduringpairprogramming.Weclosebyoutliningrelatedworks(Section7)andofferingasummaryandoutlook(Section8).Thepaperfocusesonresearchmethod,notonresearchresults.Theresultsmostlyservetoillustratethemethod.

2TheGroundedTheorymethodology

Asmentionedabove,theinitialanalysisofpairprogramminghastobeexploratory.Inordertobeasopenaspossiblewithrespecttothenatureandcontentoftheresults,wepickGroundedTheoryasouranalysisapproach.

GT,firstdescribedin[6],isadataanalysisapproachthatislargelydata-driven(i.e.useshardlyanypriorassumptionsnorpre-definedterminology)andaimsatproducingatheorythatdescribesinterestingrelationshipsbetweenthings,situations,events,andactivities(togethercalledphenomena)reflectedinthedatabymeansofabstractcon-cepts.Thetermgroundedindicatesthatthistheorywillcontainonlystatementsderivedfromactualobservationsinamannerthatcanbetracedbacktothesedata—thetheoryisgroundedinthedata.

WeusethevariantofGTdescribedbyStraussandCorbin[5],whosuggestthree(partiallyparallel)activitiesforaGT-baseddataanalysis:

1.Opencodingdescribesthedatabymeansofconceptual(ratherthanmerelyde-scriptive)codes,whicharederiveddirectlyfromthedata.

1452.Axialcodingidentifiesrelationshipsbetweentheconceptsdescribedbythesecodes.StraussandCorbinsuggestaconcretesetofrelationshipstocheckfor(inpartic-ular:causalconditionsleadtophenomenawhichexistinacontextfeaturingin-terveningconditionsandleadingtoparticipant’sstrategieswhichcreatecertainconsequences).Theserelationships(plustheslightlyfuzzynotionofformingcate-gories)theycallparadigmaticmodel,atermwewilluseafewtimesfurtherbelow.3.Selectivecodingextractsasubsetoftheconceptsandrelationshipsthusfoundandformulatesthemintoacoherenttheory.Selectivecodingisnotrelevantforthedevelopmentofacodingschemeandwillnotbediscussedinthepresentarticle.StraussconsideredthefollowingthreeaspectstobethecoreoftheGTmethod,saying“Whenyoudoallofthese,thenitisGroundedTheory,ifyoudonot,thenitissomethingelse”[7]:

–Theoreticalcoding:Codesaretheoretical,notjustdescriptive;theyreflectconceptswhichhavepotentialexplanatoryvalueforthephenomenadescribed.

–Theoreticalsampling:Theselectionofthematerialtobeanalyzedismadeincre-mentallyinthecourseoftheanalysis,basedonwhatisexpectedtobemostrelevantforthetheoryunderdevelopment.

–Constantcomparison:Observedphenomena(andtheircontexts)arecomparedmanytimesinordertocreatecodesthatarepreciseandconsistent.Theoreticalsamplingisoflessinterestinthepresentarticle,buttheoreticalcodingandconstantcomparisonareofvitalimportancetounderstandthediscussion.

3Datausedfortheanalysisofpairprogramming

Inthefollowing,wedescribeourobservationcontext(programmersandtask)andthedatacapturingmethodused.3.1

Observationcontext:Theoriginofourdata

Weobserved(inthemannerdescribedbelow)sevenpairsofgraduatestudentswhoallworkedonthesametask.Sixofthemhadworkedtogetheraspairspreviously.Theaver-ageworktime(whichwasnotlimited)was3.8hours.ThestudentswereallparticipantsofahighlytechnicalcourseonenterpriseinformationsystemsandtheJava2EnterpriseEdition(J2EE)architectureandtechnologies.Thespecifictaskcalledforanextensionofanexistingwebshopapplication.ThetaskrequiredbroadpassiveJ2EEknowledgeforanalyzingandunderstandingtheexistingsystemandspecificoperationalknowledgeaboutJMS,JNDI,andtheJBossapplicationserverforprogramming,configuring,andtestingtheactualextension.Thetaskwasnon-trivialsothatonlythreeofthepairswerecompletelysuccessful.

Fortheanalysisdescribedinthepresentarticle,weusedthesessionofoneofthesuccessfulpairsonly;itis2hoursand58minuteslong.

1463.2Observationmethod:Datacapturingprocedure

Sincewedonotknowinadvancewhatwillbeimportantandwhatwillnot,weneedtostartfromaratherrichdataset.Weusethreedifferentdatasources:

–Audiorecordingcapturesverbalcommunicationamongtheparticipantsaswellasothernoises,vocalorother,thatmayhelpwiththeinterpretationoftheremainingdata.

–Frontal-perspectivevideooftheprogrammers(shotfromabove-behindthescreenandreachingdowntoaboutwaistlevel)capturesaspectsoffacialexpression,ges-tures,posture,directionofattention,and—mostrelevantly—whoiscurrentlyoperatingmouseandkeyboard.

–Full-resolutionscreenrecordingcapturesalmostallcomputeractivitiesofthepro-grammersonafairlyfine-grainedlevel.

AllthreerecordingsaremadeatonceusingCamtasiaStudio[8]andunifiedintoasingle,fullysynchronizedvideofileinwhichthecameravideoissuperimposedsemi-transparentlyontoacornerofthescreenvideosothatallinformationisvisibleatonce(multi-dimensionalvideo).

Thesessionwasrecordedinanotherwisesilentoffice.CombinedwiththehighaudioqualityoftheLogitech5000webcam,thisprovidesgoodacousticalplaybackconditions.

4ProblemsofaplainGroundedTheorydataanalysisapproach

AttemptingGT-styleexploratoryanalysisoftherichdatasetdescribedabove1,wequicklyrecognizedthattranscriptionwasnotpractical.Toomuchrelevantinforma-tionisfoundinthescreenrecordingforwhichitisnotobvioushowtotranscribeitatall,nottospeakoftheeffortfordoingso:sourcecodefragmentinput,usingfeaturesofthedevelopmentenvironment(suchasbrowsingacrossdifferentfilesorpositionswithinfiles),pointingwiththemouseduringdiscussionwiththepartner,etc.

ThisiswhywedecidedtoworkontherawvideodirectlyandchosethequalitativedataanalysissoftwareATLAS.ti[9]fordoingso,whichisoneofthefewproductsthatallowscreatingdirectannotationstovideo.

Oneofus,StephanSalinger,startedopencodinginthemannersuggestedbyStraussandCorbin.Theshort-termgoalwastocharacterizetheactivitiesoccuringduringpairprogramming,thelong-termgoalwastoidentifyrecurringbehavioralpatternsandclas-sifythemashelpful,hampering,ambivalent,orneutral.

Thisapproachgeneratednofewerthan194differentconceptsandalmostcompleteconfusionanddespairinthecourseofafewdaysofanalysisduetothefollowingproblems:

–Nopredefinedfocus:Wehadnocriteriaforselectingwhich(kindsof)observationstocodeandwhichtoignore(codeverbalinteraction?factialexpressions?gestures?posture?directionsofgaze?sub-verbalvocalnoises?nervoustics?computerinput?

1

Actuallyaprecursor,butverysimilarinallrespects.

147–

–––

inputmethods?computeroutput?andsoon)andconsequentlywereoverwhelmedbythedata.

Nopredefinedgranularity:Wehadnopriordecisiononthelevelofdetailthatwouldbeworthcoding.Asaresult,weproducedcodesondifferentlevelsofdetail(say,coarseonessuchashandleproblemandfineronessuchastestdefectfix),whichwheredifficulttodelineateagainstoneanothersubsequently.

Nopredefinedlevelofacceptablesubjectivity:ThenatureofthecodeschoseninGTcanbeanywhereonthespectrumrangingfromcodesthatstickcloselytoobser-vationsthatanyobserverwouldagreewithtocodesthatinterprettheobservationtoadegreethattheymustbecalledwishfulthinking.GTassuchdoesnotprovideacriterionfordecidingwhere“groundedindata”endsandwishfulthinkingbe-gins.Asaconsequence,wemixedobjective-descriptiveandsubjective-evaluativeattitudesforselectingcodes.Thisledtocodesofdifferentnature(say,descrip-tiveonessuchasusesdocumentationandassumption-bearingonessuchasgainsknowledgeofdetail)existingside-by-side,whichmadeithardertodecidewhichonetouseinaparticularcase.

Toomanytopics:Thecodesdescribedtoomanydifferenttopicsofinterest,makingitimpossibletoproperlyfocusonanything.Noneofthevariousresultingcollec-tionsofinformationeverreachedausefuldegreeofcompleteness.

Lackofconceptgrouping:ThediversityoftopicsalsodistractedfromformingwhatGTcallscategories:afewlargegroupsofheavilyinterrelatedconcepts(say,“Human-humaninteraction”,HHI,and“Human-computerinteraction”,HCI)

Importancemisjudgments:Thehighattentiontoabroadsetofconceptsovertaxedourabilitytojudgetheirimportancesothatbecauseofthelargenumberofconceptsweintroduced,wecompletelyoverlookedanumberofimportantones.

Afterwehadnoticedandgraduallyunderstoodanumberoftheseproblems,westoppedthismodeofinvestigationcompletely.Westartedthewholeanalysisagainfromscratch(butveryslowlyandcarefully,withalotofbacktracking)andconcurrentlyredesignedthecodingprocedure.TheresultofthisredesignwereanumberofheuristicpracticesdescribedbelowthathelpusingtheGTanalysisprocess.

5Practicessupportingtheanalysisofcomplexvideodata

Themethodologicalheuristicspresentedhereformtheheartofthepresentarticle.Theseintertwinedpracticesservetoreduceorsolvetheproblemsdescribedintheprevioussection.Section6willpresentanapplicationofthepracticesthatalsoshowshowtheyworktogetherandmutuallysupportoneanother.5.1

Practice1:Perspectiveonthedata

StraussandCorbinsuggestthatthestartofselectivecoding(thatis,afteropencodingandaxialcodinghavebeengoingonforquitesometime)isthetimewhenyoushouldbegintodecidewhatisimportantandwhatislessso.Asdescribedabove,wefoundthatthisisnotagoodideawhenworkingwithrichvideodata.Therearethreereasonswhyaperspectiveusedfortheanalysisshouldbedefinedbeforestarting:

148–Toavoiddrowningindetail;

–toprovideconstancyinthecriteriausedforcreatingandassigningconcepts;–tofocusattentiononthemostrelevantaspects.

Thisperspectivecanbedefinedbyformulatinganswerstothefollowingquestions.Theseanswersshouldbereviewed(andperhapsrevised)severaltimesinthecourseoftheanalysis:

1.Inwhichrespectsdoyouexpectthedatatoprovideinsight?

2.Whatkindsofphenomenadotheresearchersallowthemselvestoidentifyinthedata?

3.Whattypeofresultdoyouwanttheanalysistobringforth?

Question1doesnotaskwhatyouexpecttofind,onlyinwhatrespectsyouexpecttofindsomething.Theansweractsasafilterthattellsyouwhichphenomenashouldreceivemoreattentionthanothers.Furthermore,constantlyre-checkingandadjustingtheanswertothisquestionhelpsdecidingwhentostoptheanalysis,whentomodify(orthrowoverboard)yourresearchquestion,andwhentoobtainfurtherordifferentrawdata.

Inourcase,theexpectationwasthatthedatacouldhelpunderstandwhatactivitiesdominatethepairprogrammingprocessandhowtheyrelate.

Answer2providesthemechanismforsystematicallyboundingthenatureandamountofsubjectivitytobefoundintheconceptualizationsofthedata.Thestrongestrestrictionwouldbetoallowonlyconceptsthatexpressdirectlyobservablephenomena,result-inginabehaviorist(stimulus/response)researchperspective.Weakerrestrictionsmightalsoallowconceptsreferingtounobservableprocesses(suchasattitudesorthinkingprocessesofactors),conceptsthatinvolvepredictions(suchas“helpfulforreachinggoalX”),and/orconceptsexpressingmoraljudgement(good,bad).

Wewereconvincedthatinourcaseonlythebehavioristperspectivewouldenableustotrustourownresults.

Finally,theresulttypeisthestandardusedfordecidinghowmuchattentiontoinvestinwhichkindsofphenomenawhentheanalysisresourcesbegintogetscarce(whichveryquicklytheywill).Ithelpstostayontrack.Dowewanttoproduceafullconceptualtheory?Orjustaconceptualstructure(systemofcategories)forthedata?Orevenjustacodingscheme?

Inourcase,thegoalwasjusttoproduceacodingscheme,becausewefeltweknewsolittleabouttheinternalsofpairprogrammingthatweshouldnotyetdecideonanactualengineeringresearchquestion.5.2

Practice2:Conceptnamesyntaxrules

ChoosingthenamesofconceptsisanotherareawherewefoundthatgivingupsomeofthefreedompostulatedbyplainGTisbeneficial,becauseourfreelychosenconceptnamesturnedouttobehighlyvariableandhencedifficulttounderstand,remember,andcompare.

Asaremedy,wedevelopedastructurednamingschemeasdescribedbelow.Withintheconfineswesetourselvesbypractice1,thatis,describingdirectlyobservableactiv-itiesofthepairprogrammers,theschemedoesnotpredetermineanythingwithrespect

149tothemeaningofaconcept,itonlyprescribestheshapeofitsname.Whenworkingwiththisscheme,weobservedthefollowingbenefits:

–Aconceptwillbebetterunderstoodrightatintroductiontime.–Itfacilitateshandlingandoverlookingalargesetofconcepts.

–Somerelationshipsbetweenconceptsareimplicitlyrecordedaswell,whichmuchsimplifiesaxialcodingandtheformingofcategories.

–Aconceptnameexplicitlyrepresentsseveralaspectsatonce,whichsimplifiesthebasicGTpracticeof“constantcomparison”.

–Itbecomeseasiertounderstandwheredifficultiesindelineatingoneconceptagainstanothercomefromandcorrespondinglyeasiertoobtaininsightsastotheweak-nessesoftheoverallcurrentconceptualdescription.

Inourcase,theconceptsneededtodescribeindividualactivitiesbyoneorbothofthepairmembers2,soaconceptnameisstructuredlikeacompletesentence:code=.actor=P1|P2|P

description=_[_]

forexample“P1.askknowledge”and“P2.explainknowledge”.Thecriterionpartcanbeusedforadditionalspecializationwhereneeded.Givensuchcodes,subsequentanal-ysiscanveryeasilyabstractforinstancetheverbpart(tocomparecontextsofobjects)ortheobjectpart(tocomparethevariantsofactiontypes).Withoutsuchcomplexcodes,thesamesituationwouldprobablybemodeledbyatupleofcodeswithrelationships.SowhileinplainGTfindingrelationshipsinvolvesaxialcoding,inourcaserecordingatleastsomerelationshipsbecameafringebenefitofopencoding.5.3

Practice3:Analysisresultsmeta-model

WhenwestartedpracticingGT,wefoundsomeoftheterminologyandconceptscon-fusing.First,whereGTtalksaboutphenomena,conceptualization,concepts,properties,categories,andrelationships,ouranalysissoftwareATLAS.titalksaboutquotations,annotation,concepts,concepts,families,andrelationships,respectively—andevenrelationshipsandrelationshipsarenotquitethesamething.

Second,evenaftertheinitiallearningphasesomeofthedifferencesweresubtleenoughthatwemisappliedthemeveryonceinawhileandbecameconfusedwhenwetriedtoreconstructwhatwehadmeanttoexpress.

Third,whendecisionsregardingtheintroductionordemarcationofcodesbecamedifficult(whichtheyoftendid),werealizedweneededguidanceforsystematicallyap-plyingtheideasofGTtobreakoutofthesituationinanappropriateway.(AnexampleofthiswillbegiveninSection6.)

Fourth,weextendedtheterminologicalframeworkbysomeadditionalideasowingtothenatureofourdata,inparticularthenotionoftrackforpartitioningdatainordertosupportdatavisualizationforabetteroverviewofnestedandparallelactivities.

2

Forotherdomainsofanalysis,othercodenamingstructuresmightbepreferable.

150Together,theseissuespromptedustoformulateanexplicitanalysisresultsmeta-model,thatis,amodeloftheconceptsthatdescribethestructureofananalysisresult.Weformulatedthismeta-modelasaUMLclassmodel[10],whichisshowninFigure1.

Fig.1.Meta-modelofanalysisresults

Hereisaveryshortdescriptionofthemostimportantelementsofthemodel:Quotationsdefinefragmentsofthedata(scenesinthevideo)thattheanalysisrefersto.AnnotationsconnectQuotationswithConcepts.ConceptscanbegroupedintoConceptClasses;asingleConceptcanbeamemberofmanyConceptClasses.ConceptRelationsareusedtodescriberelationshipsbetweenConcepts,forinstanceaccordingtotheparadigmaticmodel.Inmanycases,sucharelationshipisnotvalidforallpairsofAnnotationsthatusetheseConcepts;itcanthenbeexpressedindividuallybyusingAnnotationRelation.

Theotherelementsofthemeta-modelarenotrelevantforthepresentarticle.

Besidesdescribingthestructureofanalysisresults(toavoidterminologicalcon-fusion),themeta-modelalsoactsasarepositoryofideasfortheanalysisprocess.Forinstance,whenunsurewhetheracertainConceptRelationwillalwayshold,themeta-modelsuggeststoinitiallyannotatethecurrentlyknowninstancesonly(AnnotationRelation)anddeferthecreationofthemoregeneralConceptRelationuntilsufficientevidenceisavailable.5.4

Practice4:Paircoding

Thecentralandmostimportantpracticeispaircoding.Paircodingmeansthatallcod-ingworkisdonebytwopeopleworkingtogetheratonecomputer(muchlikepairprogramming,butthatisjustacoincidence).Thekeyideaofpaircodingistorequireaconsensusoftwopeopleforallimportantdecisions:Whichphenomenafoundinthedatatosingleoutforcoding;whereintimesuchaphenomenonstartsandends;whichexistingconcepttouseforcodingthisphenomenon;whentocreateanewconcept;howtonamethatconcept.

151Wefoundanumberofbenefitsofapaircomparedtoasingleresearcher,someofthemveryimportantforsuccessfulGTwork:

–Conceptdefinitionsbecomemoreexact,becausetheyarescrutinizedmorecloselyrightupontheirintroduction.Thiseffectisfurthersupportedbythestructurednam-ingscheme(practice2).

–Thedifferentiationbetweensimilarconceptsalsobecomesmoreprecise,notjustduetobetterdefinitionsbutalsobecauseapairislesslikelytoletaconceptslipinthatisonamuchdifferentlevelofgranularitythantheothersandthathencemuchmoreoftenhasbigoverlapswithoneormoreexistingconcepts.

–Remainingconceptdifferentiationproblemswillnotbeignoredbutratherdis-cussed.Iftheycanberesolved,thiswillhappenatanearliertimeleadingtofewerincorrectconceptassignmentsand/orlessrework.Ifitisinherentlyimpossibletofullyresolvethem(whichisnotuncommonatall),thereasonforthiswillbeunder-stoodmuchmorethoroughlybythediscussion,leadingtoabetterunderstandingoftheconceptsinvolved.

–Theperspectiveonthedata(practice1)ismaintainedmoreconsistently.–Theperspectiveonthedataisrefinedmoreregularlyandmorethoroughly.–Alargernumberofrelevantphenomenaaredetectedandencoded.

Together,thesefourpracticesprovidedaquantumleapintheusefulnessofouranalysisresults.Thenextsectionwillillustratethiswithanumberofexampleswhichwillalsoshowhowthepracticescomplementoneanother.

6Applicationofthepracticesandsomeresults

Thissectionwillpresentafewfragmentsfromtheanalysisprocessthatusedtheprac-ticesdescribedaboveandthatledtoourcodingschemeforpairprogramming.Wepresenttheseexamplestomakethepracticesclearer,toexplainhowtheyinteract,andtomakeitmorecrediblethattheyreallyhelpvitally.

Wefirstintroducefourconceptsfromourcodingschemeandthenpresentsomeepisodesfromtheprocessinwhichwecreatedthem.Asanadd-on(andslightlyoff-topicforthisarticle)westateafewhypothesesaboutpairprogrammingthatwehavederivedbasedonourcodingscheme.

6.1Anextractfromthecodingscheme

Ourcurrentversionofthecodingscheme(whichignoresthesubjectpartofthecon-ceptnames)containsabout50differentconcepts,clusteredintoabout20overlappingConceptClasses—mostconceptsbeingmembersofeithertwoorthreeofthem.

Asanillustrativeexample,wepresentthefourconceptsofthethinkaloudConceptClass.TheyareshowninTable1;thedescriptionsareheavilyabbreviated.

152Table1.TheconceptsofthethinkaloudConceptClass

ConceptnamethinkaloudactivitythinkaloudfindingthinkaloudstateDescription

Explainsacurrentcomputer-operatingactivityStatesanewlywoninsight

(e.g.,thatsomeprioractionwasamistake)Reflectsonthecurrentstateofworkw.r.t.tothecurrentstrategyandgoal

thinkaloudcompletionStatesthatasimpleworkstephasbeencompleted

6.2Useofthepractices:afewexamples

Wewillnowexplainhowwearrivedatthesefourconceptsinordertoshowthepracticesinactionandillustratetheirinteraction.

Soonduringthecodingprocesswerecognizedthattheso-calledDriver[11]fre-quentlyverbalizedwhathewasdoingonthecomputer.Basedonthisobservation,wemadetwodecisions:

First,westarteddevelopingtwoConceptClasses(seepractice3)calledHCI(human-computerinteraction)andHHI(human-humaninteraction)forseparatingthecomputer-operatingaspectfromtheverbalizationaspect.ThesewereConceptClassesratherthanindividualconceptsbecausethesameseparationwouldobviouslyberelevantinmanyothercasesaswell.

Second,wepostulatedanewconcept,thinkaloudactivity.Byvirtueoftheconceptnamingsyntaxstructure(practice2),thisoneconceptimmediatelygeneratedawholeConceptClass(sofarhavingonlyonemember)basedontheverb“tothinkaloud”.Thiseffectleadstoextendeddifferentiationofconceptswhereneededbutincursonlylittleadditionalcomplexityforthecodingscheme.

Asthesecondmemberofthisclassweintroducedthinkaloudfindingwhenwefoundaphenomenonthatwasobviouslythinkingaloud,butthatalsoobviouslydidnotexplaincomputeractivity.Thedemarcationappearedtoberelativelyclear.Inthediscussionofthepaircoders(practice4)weagreedthatthinkaloudactivitycanbeusedonlyfortheDriverandthatishasprioritywherethinkaloudfindingmightalsobeap-plicable.

Soonthereafterweencounteredaprogrammer’sexplanationofthestateofaffairsandrecognizeditcouldbeannotatedasthinkaloudstate,thuscreatingthethirdmem-berofthissetofconcepts.Butwesoonfoundthinkaloudstatetoexhibittwoproblems.First,wehadacasewhereitcollidedwiththinkaloudfinding,becausethefindingcon-cernedthestateofwork.Second,itdesignatedstatementsonratherdifferentlevelsofabstractionandgranularity.

Wesolvedbothproblemsbyusingthemeta-model(practice3),specificallybyin-troducingtheConceptRelation“is-precondition-of”fromtheexistingconceptspro-posestep(suggestingthenextstep)andproposestrategy(suggestinganapproachfor

153choosingmanyfuturesteps).Wepostulatedthatthinkaloudstatehadtorefertoaprevi-ousproposestrategyandintroducedanewconceptthinkaloudcompletionthatwouldrefertoapreviousproposestep.Thissolvedbothproblemsatonce:Wecouldnowdis-criminatelargeandsmallgranularity(strategicandtactical)andgainedacriterionforwhennottousethinkaloudfinding,whichprovidedthedemarcationtotheothertwo.Thisillustrateshowopencodingnaturallyleadsintoaxialcodingandhowthecom-binationoftheparadigmaticmodelwiththeconceptnamingsyntax(practice2)canshowawaybackintoopencoding,thuskeepingthecomplexityoftheresultinganno-tationsdown.

Weareconvincedthatthisrouteworkedonlybecauseofthepaircodingconstel-lation(practice4),asbothcodersinitiallysuggestedencodingsbasedontheexistingcodesandonlythenon-acceptanceofthesesuggestions(andtheirsupportingargu-ments)bytheotherleadtothediscoveryofthe“is-precondition-of”relationshipandthefourthcodethinkaloudcompletion.6.3

Somehypothesesbasedonthecodingscheme

Althoughwehavenotyetstartedtheanalysisoftheactualpairprogrammingprocessassuch,anumberofphenomenarecurredsoconsistentlythatwealreadycallthemhypotheses:

–WehavefoundnocluesthatDriverandObserverdoindeedworkondifferentlevelsofabstraction,asclaimedinthepairprogrammingliterature[11].

–Wehaveobservedwhatwecallpairphases,characterizedbyahighdensityofcommunicationactsreferingtojustonenarrowissue.Theylookalotlikewhatdescriptionsofpairprogrammingsuggestasthenormalpairprogrammingprocess,butwerealizedtheyareallshort(usuallyunderthreeminutes).

–Webelievethatpairprogrammingisnotdrivenbystrategicplanningandmonitor-ing.Rather,theplanisquiteoftenonlyonesteplong:Asinglestepissuggested,possiblydiscussed,decided(orrevised),andimmediatelyexecuted.

–BesidestheunavoidablerolesofDriverandObserver,pairprogrammingsessionsapparrentlytendtoimplicitlyproduceaLeaderroleaswell.TheLeaderisthepersonmoreskilledforthegiventaskandinfluencesspeedanddirectionoftheprocessmuchmorestronglythanthepairpartner.Weexpectthatvaluableinsightaboutpairprogrammingcanbegainedbyinvesti-gatingthereasons,consequences,andtypicalcontextconditionsoftheabovetrends.Forinstance,weexpecttofindthatpairphasesareepisodesofsuper-highproductivitysothatitwouldbehelpfultounderstandwhenandwhytheyoccur.

7Relatedwork

7.1Qualitativeanalysisofpairprogramming

WeknowofnootherworkanalyzingtheprocessofpairprogrammingthatusesaGTapproach(theyallworkwithatleastpartiallypre-definedcodingschemes)andalsononethatworksdirectlywithvideodata(multi-dimensionalorother).

154Wake[12]presentsalistoftypicalpairprogrammeractivities,butprovideslittleinformationonhowitwasderived.

Bryant[13]studiesthedifferenceofinteractiontypeandfrequencyinnoviceversusexpertpairprogrammers.Inapilotstudy,shefirstrefinedWake’slistintoatableof11behaviorandinteractiontypes.Intherealstudy,shethenrecordedthesequenceofeventsinrealtimeaccordingtothisschema.

Suchrealtimecategorizationisobviouslyagoodpreconditionforanalyzingalargenumberofsessions,whichispositive.Ontheotherhand,thesimplicityofthecatego-rizationthatisneededtomakeitpossiblealsorestrictstheresultstotalkingintermsoftheratherplainconceptsalreadypresentinthepre-definedlist.Neithersubtlediscrim-inationsnorsurprisingnewinsightsappearlikelyfromthisapproach;itisapplicableonlytonarrowly-scopedinvestigationsusingpredefinedhypotheses.

CaoandXu[14]investigatetheactivitypatternsofpairprogramming.Pairworkingsessionswerevideotapedandthentranscribed.Theanalysisusedacodingschemethatstartedoutfromacombinationoftheschemesfrom[15]and[16].Then,duringtheanalysisofthedata,anewschemawasdevelopedinamannernotdescribed.Thisworksharesourbehavioristobservationattitude:Unlikeus,itignoresallinformationcontainedinthecomputerinteraction,butfortherestitstillgroundsonobjectivelyobservablecommunicationactsonly.

Incontrast,XuandRajlich[17]usethedialog-basedprotocol3inordertoanalyzethecognitiveactivitiesinpairprogramming,whichinvolvesafargreateramountofeithersubjectivityorgeneralizedassumption.Thecodingschemeinvolvesclassificationheuristicsderivedfromatheoryonself-directedlearning[18].XuandRajlichproposedtodothecodingassignmentbytwoormorecoders.Incontrasttoourapproach,thecodersworkseparatelyandcomparetheresultsafterwards.Thisapproachissensibleonlywithafixedcodingscheme,becauseaGT-likegenerationofconceptswouldbeveryinefficientinthismanner—immediatediscussionasinpaircoding(practice4)ismuchmoreefficient.

Itisobviousthatallthreestudiesuserathermorepredefinedconceptsduringtheanalysisthanconceptsgroundedonlyinthedata.WefearthatsuchapproacheswillbemuchmorelikelytofallpreytounwarrantedassumptionsaccordingtoconventionalwisdomsuchaspresumedDriver/Observerroledifferencesetc.7.2GroundedTheoryworkusingrichvideodata

EveninthebroaderGT-relatedliterature,examplesofstudiesusingvideoduringtheanalysis(ratherthantranscriptsofvideosonly)arerare.Wefoundonesuchexampleinmedicinethatstudiedmedicalteamleadershipbehavior[19].Thevideowasrecordedwithfourcamerasfromdifferentangles.Theanalysisinvolvedfouranalystsandthreesteps.(1)Oneanalystidentifiedvideosegmentswithinterestingverbalornon-verbalteaminteractions.(2)Twoanalystscreatedconceptualdescriptionsofthesegmentsbyconsensus.(3)Taxonomiesforleadershipactionsfromtheconceptualdescriptions

3

Bytheway,[17]suggeststousescreen-captureandvoicerecordingonlyratherthanvideotap-ingtoavoidinfluencesduetocamera-consciousness—wehaveneverobservedthistobeanissueatall.

155weredeveloped.Thisapproachresemblesourpaircodingpractice,atleastinstep2.Ifdifferentpeopleperformedsteps1,2,3(thearticleisveryunclearinthisrespect),weconsiderthisaproblematicprocedure:itisalmostantitheticaltotheGTphilosophy,becauseitpartiallyprohibitsconstantcomparisonandfullyprohibitstheintertwiningofopencoding(steps1+2)andaxialcoding(step3).

8Conclusionandfurtherwork

WehavedescribedwhyastraightforwardapplicationofthestandardGroundedTheorymethodtomulti-dimensionalvideodataofpairprogrammingsessionsisnotlikelytobesuccessfulandhavepresentedandillustratedasetoffouranalysispracticesthatprovideasystematicwaytoholdtheanalysisproblemsatbay.

Wehaveusedthesepracticestogenerateageneral-purposecodingschemeofpairprogrammingactivities,ofwhichwepresentedasmallexcerpt.Inthefuture,wewillproceedwiththefollowingsteps:

–Validationofthecodingscheme.Wewillencodesessionsthathaveverydifferentpropertieswithrespecttoparticipants,task,andsetting.

–Qualitativeandquantitativeevaluationofthecodingprocessitself,basedonitsre-sults,intermediateresults,andprocessmonitoringinformation(inparticulartimes-tamps)recordedbyATLAS.ti.

–Refinementofthecodingschemewithrespecttoparticularresearchapplications,inparticularbyaddingpropertiesaccordingtothemeta-model.

–Applicationofthecodingschemetoproduceactualgroundedtheoriesofseveralas-pectsofthepairprogrammingprocess.Thiswillrequireselectivecodingwhichweexpecttoexerciseeventhosepartsofthemeta-modelnotdiscussedinthepresentarticle.

Justlikethefourpracticesmutuallysupportoneanother,thesetaskswillalsoexhibitsynergyandsowillbeperformedpartiallyinparallel.

References

[1]Beck,K.:ExtremeProgrammingExplained:EmbraceChange,SecondEdition.Addisson-WesleyProfessional(2004)

[2]Williams,L.:Integratingpairprogrammingintoasoftwaredevelopmentprocess.In:

CSEET’01:Proceedingsofthe14thConferenceonSoftwareEngineeringEducationandTraining,Washington,DC,USA,IEEEComputerSociety(2001)

[3]Lui,K.M.,Chan,K.C.:Whendoesapairoutperformtwoindividuals?In:ExtremePro-grammingandAgileProcessesinSoftwareEngineering.Volume2675ofLectureNotesinComputerScience.,Springer(2003)225–233[4]Nawrocki,J.R.,Jasi˜nski,M.,Olek,L.,Lange,B.:Pairprogrammingvs.side-by-sidepro-gramming.In:EuroSPI.Volume3792ofLectureNotesinComputerScience.,Springer

(2005)28–38

[5]Strauss,A.,Corbin,J.:BasicsofQualitativeResearch:GroundedTheoryProceduresand

Techniques.SagePublications,Inc.(1990)

156[6]Glaser,B.G.,Strauss,A.L.:TheDiscoveryofGroundedTheory:StrategiesforQualitative

Research.AldinedeGruyter,NewYork(1967)[7]Legewie,H.,Schervier-Legewie,B.:ImGespr¨ach:AnselmStrauss.Journalf¨urPsycholo-gie3(1995)64–75

[8]TechSmithCorporation:Camtasiastudio4.0.1.(http://www.techsmith.com)[9]ATLAS.ti:User’sManualforATLAS.ti5.0.(http://www.atlasti.com)

[10]Rumbaugh,J.,Jacobson,I.,Booch,G.:TheUnifiedModelingLanguageReferenceMan-ual,SecondEdition.Addison-WesleyProfessional(2005)

[11]Williams,L.,Kessler,R.R.,Cunningham,W.,Jeffries,R.:Strengtheningthecaseforpair

programming.IEEESoftware17(2000)19–25

[12]Wake,W.:ExtremeProgrammingExplored.AddisonWesleyBoston(2002)

[13]Bryant,S.:Doubletrouble:Mixingqualitativeandquantitativemethodsinthestudyof

extremeprogrammers.In:VLHCC’04:Proceedingsofthe2004IEEESymposiumonVisualLanguages-HumanCentricComputing,Washington,DC,USA,IEEEComputerSociety(2004)55–61

[14]Cao,L.,Xu,P.:Activitypatternsofpairprogramming.In:HICSS’05:Proceedingsof

theProceedingsofthe38thAnnualHawaiiInternationalConferenceonSystemSciences,Washington,DC,USA,IEEEComputerSociety(2005)

[15]Lim,K.,Ward,L.,Benbasat,I.:Anempiricalstudyofcomputersystemlearning:Compar-isonofco-discoveryandself-discoverymethods.InformationSystemsResearch8(1997)254–272

[16]Okada,T.,Simon,H.:Collaborativediscoveryinascientificdomain.CognitiveScience

21(1997)109–146

[17]Xu,S.,Rajlich,V.:Dialog-basedprotocol:anempiricalresearchmethodforcognitive

activitiesinsoftwareengineering.In:InternationalSymposiumonEmpiricalSoftwareEngineering.(2005)383–392

[18]Xu,S.,Rajlich,V.,Marcus,A.:Anempiricalstudyofprogrammerlearningduringin-crementalsoftwaredevelopment.In:(ICCI2005:FourthIEEEConferenceonCognitiveInformatics.(2005)340–349

[19]Xiao,Y.,Seagull,F.,Mackenzie,C.,Klein,K.:Adaptiveleadershipintraumaresuscitation

teams:agroundedtheoryapproachtovideoanalysis.Cognition,Technology&Work6(2004)158–164

157

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- yrrf.cn 版权所有

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务