Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
SoftwareArchitectureResearch:ScienceorEngineering?
PhilippeKruchtenSeattle,May1st,2018
ICSAYRF
PhilippeKruchten,Ph.D.,P.Eng.,FEC,CSDP
ProfessorofSoftwareEngineeringNSERCChairinDesignEngineeringDepartmentofElectricalandComputerEngineering
UniversityofBritishColumbiaVancouver,[email protected]
FounderandpresidentKruchtenEngineeringServicesLtdVancouver,BCCanada [email protected]
Careerpath• 1970:learnedFortranIV• 1972-1975:developed2largeapps->boughtacar(1975:mechanicalengineeringdegree)
• 1983:very1stAdacompiler(NewYorkUniversity)• 1984:SystemarchitectatAlcatelBusinessSystems(Télic)(1986:PhDininformationsystems)
• 1987:joinedRationalSoftwareasaconsultantinSoftwareArchitecture
• 1990:developedRationalarchitecturalmethod• 1992-1996:LeadsoftwarearchitectfortheCanadianATC• 1996-2003:LeddevelopmentoftheRationalUnifiedProcess(aka
RUP)• 2004-now:ProfessoratUBC,Vancouver,Canada
Caveat-Disclaimer
• Thistalkisnotscience
• Thistalkisnotengineeringeither.
• Thisisjustabunchofopinions,rootedinmyownexperience.
Definingsuccess
• SoyouareworkingonaPhD…• … insoftwarearchitecture(orsomethingsoftwarishlikethat)
Definingsuccess
• SoyouareworkingonaPhD…• …insoftwarearchitecture(orsomethingsoftwarishlikethat)
• Why?
Definingsuccess
• SoyouareworkingonaPhD…• …insoftwarearchitecture(orsomethingsoftwarishlikethat)
• Why?• Howdoyoudefinesuccess?
• Ifyoumetsuccesswhatwoulditlooklike?
Definingsuccess• Pass• Degree• Job• Citation#• H-Index• Newventure:commercialization• $$$$$$?• …• Impactonourprofession:
#ofusers/=citationcount
Evaluation&Judgment
• Conceptualframeworks– Pre-existing– Home-grown
• Filter– Forjudgment– Formemorization– Forevolutionoftheframework(self-reflection)
MyownPhDfilter
• Howmuchscienceandhowmuchengineering?
• Howvaluableisit?(impact)• Howvalidisit?• Isitwellcommunicated?
YourPhD
Mybrain
MyimageofyourPhD+evaluation
Aside:underthehood:myFilter“engine”
1. Abstract2. Introduction(… motivation,concept
definition)3. Conclusion(claims)4. Method(ology)5. Body,seeinghowitsupportclaims6. References(onlyasneeded)7. Validation8. Relatedwork9. Abstract(2)&Title10. Conclusion(2)11. References(all,completeness)
Scientist
Engineer
SoftwareArchitect
ResearcherinSoftwareArchitecture
Onthescienceside
• Abetterunderstandingofaphenomenon– Model– Conceptual,mathematical,ontological,….– Theory
Ontheengineeringside
• Buildatool• Amousetrap• Abettermousetrap• Immediatevaluetomankind,– oratleastthesoftwarepractitionersubsetofmankind
Badscience
• Notaproblem• Overgeneralization• Notrootedinevidence
Badengineering
• Yesanothermousetrap• Doesnotsolveaproblemanyonehas(anymore)
• Doesnotscaletoreal-lifeproblem• ….
Balance?
Science Engineering
Wheredoyoulocateyourself?
Science Engineering
Impact
Science Engineering
Definingsuccess• Pass• Degree• Job• Citation#• H-Index• Newventure:commercialization• $$$$$$?• …• Impactonourprofession:
#ofusers/=citationcount
Impact
Science Engineering
Impact
Science Engineering
#users$$Citation
Impact
Science Engineering
XRF XMB
XPK
Researchmethod
Scientificmethod Engineering‘method’
Empiricalmethod
Analyticalmethod
Explainwhatyoudo,andwhy
• Casestudy• Survey• Experiment• Ethnographicstudy• Secondarystudy
……
• Actionresearch
• GroundedTheory
ScienceANDengineering
• Toolbuilding:– Articulatewhatyoudobasedonsometheory– Clean,clearconcepts
• Science:– Validatetheusefulnessbysomepracticalandrealisticimplementation;usage
Trapsintoolbuilding
• Goodtool=>lotsofwork– OnlyatinyfractionisPhDmaterial
• Validationishard(experiment)– Bettermousertrap?Really?
• Isolation=>Feedthebeast
• Dissemination(commercialization?)• Sustainability
Trapsinscienceappraoch
• “Everythingsoftwarefolksdocanbereducedtoahugegraph.”
• “Everythingcanbereducedtosecondorderlogic.”
• Andthenwhat?
(OK,Iamanengineer,Ihavesomebiases,here)
Validity• …OrhowmuchdoIbelievewhatyourclaim
• Constructvalidity– Flimsyfoundation,notarealproblem,toomuchbias
• Internalvalidity– Researchnotconductedproperly;lackofrigour
• Conclusionvalidity– Gee,Iwouldhaveconcludedsomethingdifferent
• Externalvalidity– Cannotbegeneralized
Contribution
• Makeacontribution;isitvaluable,forwhom?• Donotjust“gothroughtheropes”
• Beclearinyourhead(andwithyoursupervisor)– Motivation(whyareyoudoingthis)– Impact– Approach(method&validation)
• Ethicalbehaviour
Success
• Takethemeanstoreallyachievesuccessthewayyoudefinedsuccess.– Optimizeforthatformofsuccess.
• Communication– Socializeyourideas,contributions…
• Secrecy– Patent,tradesecret,etc…
Morepersonalgripes
• NotallhumanknowledgeisinjournalpapersindexedbyIEEExplore(orwebofsci,orscopus)
• Renamingoldconceptsisnotinnovation,justobfuscation
• Softwareengineeringstudentsarenotrepresentativeofthesoftwaredevelopmentpopulation
• Thisisnotabattlefield
Moregripes
• Tryyoursurveywith5people(notclosefriends);thenfixitandtrywith20differentpeople;thenfixitandonlythensenditto4,000people.Indicatetypicalduration.
• Qualitativeresearch(e.g.,ethnographicstudy)isnotjustanamefor“IdidnotcollectanydatasoIamgoingtowingitbasedonmynotes”
Slidesatphilippe.kruchten.com/talks/
Aside:underthehood:myFilter“engine”
1. Abstract2. Introduction(… motivation,concept
definition)3. Conclusion(claims)4. Method(ology)5. Body,seeinghowitsupportclaims6. References(onlyasneeded)7. Validation8. Relatedwork9. Abstract(2)&Title10. Conclusion(2)11. References(all,completeness)