software architecture research: science or engineering? › 2018 › 05 › icsa... · , ph.d.,...
TRANSCRIPT
![Page 1: Software Architecture Research: Science or Engineering? › 2018 › 05 › icsa... · , Ph.D., P.Eng., FEC, CSDP Professor of Software Engineering NSERC Chair in Design Engineering](https://reader034.vdocuments.mx/reader034/viewer/2022042315/5f03f8da7e708231d40bae76/html5/thumbnails/1.jpg)
SoftwareArchitectureResearch:ScienceorEngineering?
PhilippeKruchtenSeattle,May1st,2018
ICSAYRF
![Page 2: Software Architecture Research: Science or Engineering? › 2018 › 05 › icsa... · , Ph.D., P.Eng., FEC, CSDP Professor of Software Engineering NSERC Chair in Design Engineering](https://reader034.vdocuments.mx/reader034/viewer/2022042315/5f03f8da7e708231d40bae76/html5/thumbnails/2.jpg)
PhilippeKruchten,Ph.D.,P.Eng.,FEC,CSDP
ProfessorofSoftwareEngineeringNSERCChairinDesignEngineeringDepartmentofElectricalandComputerEngineering
UniversityofBritishColumbiaVancouver,[email protected]
FounderandpresidentKruchtenEngineeringServicesLtdVancouver,BCCanada [email protected]
![Page 3: Software Architecture Research: Science or Engineering? › 2018 › 05 › icsa... · , Ph.D., P.Eng., FEC, CSDP Professor of Software Engineering NSERC Chair in Design Engineering](https://reader034.vdocuments.mx/reader034/viewer/2022042315/5f03f8da7e708231d40bae76/html5/thumbnails/3.jpg)
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
![Page 4: Software Architecture Research: Science or Engineering? › 2018 › 05 › icsa... · , Ph.D., P.Eng., FEC, CSDP Professor of Software Engineering NSERC Chair in Design Engineering](https://reader034.vdocuments.mx/reader034/viewer/2022042315/5f03f8da7e708231d40bae76/html5/thumbnails/4.jpg)
Caveat-Disclaimer
• Thistalkisnotscience
• Thistalkisnotengineeringeither.
• Thisisjustabunchofopinions,rootedinmyownexperience.
![Page 5: Software Architecture Research: Science or Engineering? › 2018 › 05 › icsa... · , Ph.D., P.Eng., FEC, CSDP Professor of Software Engineering NSERC Chair in Design Engineering](https://reader034.vdocuments.mx/reader034/viewer/2022042315/5f03f8da7e708231d40bae76/html5/thumbnails/5.jpg)
Definingsuccess
• SoyouareworkingonaPhD…• … insoftwarearchitecture(orsomethingsoftwarishlikethat)
![Page 6: Software Architecture Research: Science or Engineering? › 2018 › 05 › icsa... · , Ph.D., P.Eng., FEC, CSDP Professor of Software Engineering NSERC Chair in Design Engineering](https://reader034.vdocuments.mx/reader034/viewer/2022042315/5f03f8da7e708231d40bae76/html5/thumbnails/6.jpg)
Definingsuccess
• SoyouareworkingonaPhD…• …insoftwarearchitecture(orsomethingsoftwarishlikethat)
• Why?
![Page 7: Software Architecture Research: Science or Engineering? › 2018 › 05 › icsa... · , Ph.D., P.Eng., FEC, CSDP Professor of Software Engineering NSERC Chair in Design Engineering](https://reader034.vdocuments.mx/reader034/viewer/2022042315/5f03f8da7e708231d40bae76/html5/thumbnails/7.jpg)
Definingsuccess
• SoyouareworkingonaPhD…• …insoftwarearchitecture(orsomethingsoftwarishlikethat)
• Why?• Howdoyoudefinesuccess?
![Page 8: Software Architecture Research: Science or Engineering? › 2018 › 05 › icsa... · , Ph.D., P.Eng., FEC, CSDP Professor of Software Engineering NSERC Chair in Design Engineering](https://reader034.vdocuments.mx/reader034/viewer/2022042315/5f03f8da7e708231d40bae76/html5/thumbnails/8.jpg)
• Ifyoumetsuccesswhatwoulditlooklike?
![Page 9: Software Architecture Research: Science or Engineering? › 2018 › 05 › icsa... · , Ph.D., P.Eng., FEC, CSDP Professor of Software Engineering NSERC Chair in Design Engineering](https://reader034.vdocuments.mx/reader034/viewer/2022042315/5f03f8da7e708231d40bae76/html5/thumbnails/9.jpg)
Definingsuccess• Pass• Degree• Job• Citation#• H-Index• Newventure:commercialization• $$$$$$?• …• Impactonourprofession:
#ofusers/=citationcount
![Page 10: Software Architecture Research: Science or Engineering? › 2018 › 05 › icsa... · , Ph.D., P.Eng., FEC, CSDP Professor of Software Engineering NSERC Chair in Design Engineering](https://reader034.vdocuments.mx/reader034/viewer/2022042315/5f03f8da7e708231d40bae76/html5/thumbnails/10.jpg)
Evaluation&Judgment
• Conceptualframeworks– Pre-existing– Home-grown
• Filter– Forjudgment– Formemorization– Forevolutionoftheframework(self-reflection)
![Page 11: Software Architecture Research: Science or Engineering? › 2018 › 05 › icsa... · , Ph.D., P.Eng., FEC, CSDP Professor of Software Engineering NSERC Chair in Design Engineering](https://reader034.vdocuments.mx/reader034/viewer/2022042315/5f03f8da7e708231d40bae76/html5/thumbnails/11.jpg)
MyownPhDfilter
• Howmuchscienceandhowmuchengineering?
• Howvaluableisit?(impact)• Howvalidisit?• Isitwellcommunicated?
YourPhD
Mybrain
MyimageofyourPhD+evaluation
![Page 12: Software Architecture Research: Science or Engineering? › 2018 › 05 › icsa... · , Ph.D., P.Eng., FEC, CSDP Professor of Software Engineering NSERC Chair in Design Engineering](https://reader034.vdocuments.mx/reader034/viewer/2022042315/5f03f8da7e708231d40bae76/html5/thumbnails/12.jpg)
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)
![Page 13: Software Architecture Research: Science or Engineering? › 2018 › 05 › icsa... · , Ph.D., P.Eng., FEC, CSDP Professor of Software Engineering NSERC Chair in Design Engineering](https://reader034.vdocuments.mx/reader034/viewer/2022042315/5f03f8da7e708231d40bae76/html5/thumbnails/13.jpg)
Scientist
![Page 14: Software Architecture Research: Science or Engineering? › 2018 › 05 › icsa... · , Ph.D., P.Eng., FEC, CSDP Professor of Software Engineering NSERC Chair in Design Engineering](https://reader034.vdocuments.mx/reader034/viewer/2022042315/5f03f8da7e708231d40bae76/html5/thumbnails/14.jpg)
Engineer
![Page 15: Software Architecture Research: Science or Engineering? › 2018 › 05 › icsa... · , Ph.D., P.Eng., FEC, CSDP Professor of Software Engineering NSERC Chair in Design Engineering](https://reader034.vdocuments.mx/reader034/viewer/2022042315/5f03f8da7e708231d40bae76/html5/thumbnails/15.jpg)
SoftwareArchitect
![Page 16: Software Architecture Research: Science or Engineering? › 2018 › 05 › icsa... · , Ph.D., P.Eng., FEC, CSDP Professor of Software Engineering NSERC Chair in Design Engineering](https://reader034.vdocuments.mx/reader034/viewer/2022042315/5f03f8da7e708231d40bae76/html5/thumbnails/16.jpg)
ResearcherinSoftwareArchitecture
![Page 17: Software Architecture Research: Science or Engineering? › 2018 › 05 › icsa... · , Ph.D., P.Eng., FEC, CSDP Professor of Software Engineering NSERC Chair in Design Engineering](https://reader034.vdocuments.mx/reader034/viewer/2022042315/5f03f8da7e708231d40bae76/html5/thumbnails/17.jpg)
Onthescienceside
• Abetterunderstandingofaphenomenon– Model– Conceptual,mathematical,ontological,….– Theory
![Page 18: Software Architecture Research: Science or Engineering? › 2018 › 05 › icsa... · , Ph.D., P.Eng., FEC, CSDP Professor of Software Engineering NSERC Chair in Design Engineering](https://reader034.vdocuments.mx/reader034/viewer/2022042315/5f03f8da7e708231d40bae76/html5/thumbnails/18.jpg)
Ontheengineeringside
• Buildatool• Amousetrap• Abettermousetrap• Immediatevaluetomankind,– oratleastthesoftwarepractitionersubsetofmankind
![Page 19: Software Architecture Research: Science or Engineering? › 2018 › 05 › icsa... · , Ph.D., P.Eng., FEC, CSDP Professor of Software Engineering NSERC Chair in Design Engineering](https://reader034.vdocuments.mx/reader034/viewer/2022042315/5f03f8da7e708231d40bae76/html5/thumbnails/19.jpg)
Badscience
• Notaproblem• Overgeneralization• Notrootedinevidence
![Page 20: Software Architecture Research: Science or Engineering? › 2018 › 05 › icsa... · , Ph.D., P.Eng., FEC, CSDP Professor of Software Engineering NSERC Chair in Design Engineering](https://reader034.vdocuments.mx/reader034/viewer/2022042315/5f03f8da7e708231d40bae76/html5/thumbnails/20.jpg)
Badengineering
• Yesanothermousetrap• Doesnotsolveaproblemanyonehas(anymore)
• Doesnotscaletoreal-lifeproblem• ….
![Page 21: Software Architecture Research: Science or Engineering? › 2018 › 05 › icsa... · , Ph.D., P.Eng., FEC, CSDP Professor of Software Engineering NSERC Chair in Design Engineering](https://reader034.vdocuments.mx/reader034/viewer/2022042315/5f03f8da7e708231d40bae76/html5/thumbnails/21.jpg)
Balance?
Science Engineering
![Page 22: Software Architecture Research: Science or Engineering? › 2018 › 05 › icsa... · , Ph.D., P.Eng., FEC, CSDP Professor of Software Engineering NSERC Chair in Design Engineering](https://reader034.vdocuments.mx/reader034/viewer/2022042315/5f03f8da7e708231d40bae76/html5/thumbnails/22.jpg)
Wheredoyoulocateyourself?
Science Engineering
![Page 23: Software Architecture Research: Science or Engineering? › 2018 › 05 › icsa... · , Ph.D., P.Eng., FEC, CSDP Professor of Software Engineering NSERC Chair in Design Engineering](https://reader034.vdocuments.mx/reader034/viewer/2022042315/5f03f8da7e708231d40bae76/html5/thumbnails/23.jpg)
Impact
Science Engineering
![Page 24: Software Architecture Research: Science or Engineering? › 2018 › 05 › icsa... · , Ph.D., P.Eng., FEC, CSDP Professor of Software Engineering NSERC Chair in Design Engineering](https://reader034.vdocuments.mx/reader034/viewer/2022042315/5f03f8da7e708231d40bae76/html5/thumbnails/24.jpg)
Definingsuccess• Pass• Degree• Job• Citation#• H-Index• Newventure:commercialization• $$$$$$?• …• Impactonourprofession:
#ofusers/=citationcount
![Page 25: Software Architecture Research: Science or Engineering? › 2018 › 05 › icsa... · , Ph.D., P.Eng., FEC, CSDP Professor of Software Engineering NSERC Chair in Design Engineering](https://reader034.vdocuments.mx/reader034/viewer/2022042315/5f03f8da7e708231d40bae76/html5/thumbnails/25.jpg)
Impact
Science Engineering
![Page 26: Software Architecture Research: Science or Engineering? › 2018 › 05 › icsa... · , Ph.D., P.Eng., FEC, CSDP Professor of Software Engineering NSERC Chair in Design Engineering](https://reader034.vdocuments.mx/reader034/viewer/2022042315/5f03f8da7e708231d40bae76/html5/thumbnails/26.jpg)
Impact
Science Engineering
#users$$Citation
![Page 27: Software Architecture Research: Science or Engineering? › 2018 › 05 › icsa... · , Ph.D., P.Eng., FEC, CSDP Professor of Software Engineering NSERC Chair in Design Engineering](https://reader034.vdocuments.mx/reader034/viewer/2022042315/5f03f8da7e708231d40bae76/html5/thumbnails/27.jpg)
Impact
Science Engineering
XRF XMB
XPK
![Page 28: Software Architecture Research: Science or Engineering? › 2018 › 05 › icsa... · , Ph.D., P.Eng., FEC, CSDP Professor of Software Engineering NSERC Chair in Design Engineering](https://reader034.vdocuments.mx/reader034/viewer/2022042315/5f03f8da7e708231d40bae76/html5/thumbnails/28.jpg)
Researchmethod
Scientificmethod Engineering‘method’
Empiricalmethod
Analyticalmethod
![Page 29: Software Architecture Research: Science or Engineering? › 2018 › 05 › icsa... · , Ph.D., P.Eng., FEC, CSDP Professor of Software Engineering NSERC Chair in Design Engineering](https://reader034.vdocuments.mx/reader034/viewer/2022042315/5f03f8da7e708231d40bae76/html5/thumbnails/29.jpg)
Explainwhatyoudo,andwhy
• Casestudy• Survey• Experiment• Ethnographicstudy• Secondarystudy
……
• Actionresearch
• GroundedTheory
![Page 30: Software Architecture Research: Science or Engineering? › 2018 › 05 › icsa... · , Ph.D., P.Eng., FEC, CSDP Professor of Software Engineering NSERC Chair in Design Engineering](https://reader034.vdocuments.mx/reader034/viewer/2022042315/5f03f8da7e708231d40bae76/html5/thumbnails/30.jpg)
ScienceANDengineering
• Toolbuilding:– Articulatewhatyoudobasedonsometheory– Clean,clearconcepts
• Science:– Validatetheusefulnessbysomepracticalandrealisticimplementation;usage
![Page 31: Software Architecture Research: Science or Engineering? › 2018 › 05 › icsa... · , Ph.D., P.Eng., FEC, CSDP Professor of Software Engineering NSERC Chair in Design Engineering](https://reader034.vdocuments.mx/reader034/viewer/2022042315/5f03f8da7e708231d40bae76/html5/thumbnails/31.jpg)
Trapsintoolbuilding
• Goodtool=>lotsofwork– OnlyatinyfractionisPhDmaterial
• Validationishard(experiment)– Bettermousertrap?Really?
• Isolation=>Feedthebeast
• Dissemination(commercialization?)• Sustainability
![Page 32: Software Architecture Research: Science or Engineering? › 2018 › 05 › icsa... · , Ph.D., P.Eng., FEC, CSDP Professor of Software Engineering NSERC Chair in Design Engineering](https://reader034.vdocuments.mx/reader034/viewer/2022042315/5f03f8da7e708231d40bae76/html5/thumbnails/32.jpg)
Trapsinscienceappraoch
• “Everythingsoftwarefolksdocanbereducedtoahugegraph.”
• “Everythingcanbereducedtosecondorderlogic.”
• Andthenwhat?
(OK,Iamanengineer,Ihavesomebiases,here)
![Page 33: Software Architecture Research: Science or Engineering? › 2018 › 05 › icsa... · , Ph.D., P.Eng., FEC, CSDP Professor of Software Engineering NSERC Chair in Design Engineering](https://reader034.vdocuments.mx/reader034/viewer/2022042315/5f03f8da7e708231d40bae76/html5/thumbnails/33.jpg)
Validity• …OrhowmuchdoIbelievewhatyourclaim
• Constructvalidity– Flimsyfoundation,notarealproblem,toomuchbias
• Internalvalidity– Researchnotconductedproperly;lackofrigour
• Conclusionvalidity– Gee,Iwouldhaveconcludedsomethingdifferent
• Externalvalidity– Cannotbegeneralized
![Page 34: Software Architecture Research: Science or Engineering? › 2018 › 05 › icsa... · , Ph.D., P.Eng., FEC, CSDP Professor of Software Engineering NSERC Chair in Design Engineering](https://reader034.vdocuments.mx/reader034/viewer/2022042315/5f03f8da7e708231d40bae76/html5/thumbnails/34.jpg)
Contribution
• Makeacontribution;isitvaluable,forwhom?• Donotjust“gothroughtheropes”
• Beclearinyourhead(andwithyoursupervisor)– Motivation(whyareyoudoingthis)– Impact– Approach(method&validation)
• Ethicalbehaviour
![Page 35: Software Architecture Research: Science or Engineering? › 2018 › 05 › icsa... · , Ph.D., P.Eng., FEC, CSDP Professor of Software Engineering NSERC Chair in Design Engineering](https://reader034.vdocuments.mx/reader034/viewer/2022042315/5f03f8da7e708231d40bae76/html5/thumbnails/35.jpg)
Success
• Takethemeanstoreallyachievesuccessthewayyoudefinedsuccess.– Optimizeforthatformofsuccess.
• Communication– Socializeyourideas,contributions…
• Secrecy– Patent,tradesecret,etc…
![Page 36: Software Architecture Research: Science or Engineering? › 2018 › 05 › icsa... · , Ph.D., P.Eng., FEC, CSDP Professor of Software Engineering NSERC Chair in Design Engineering](https://reader034.vdocuments.mx/reader034/viewer/2022042315/5f03f8da7e708231d40bae76/html5/thumbnails/36.jpg)
Morepersonalgripes
• NotallhumanknowledgeisinjournalpapersindexedbyIEEExplore(orwebofsci,orscopus)
• Renamingoldconceptsisnotinnovation,justobfuscation
• Softwareengineeringstudentsarenotrepresentativeofthesoftwaredevelopmentpopulation
• Thisisnotabattlefield
![Page 37: Software Architecture Research: Science or Engineering? › 2018 › 05 › icsa... · , Ph.D., P.Eng., FEC, CSDP Professor of Software Engineering NSERC Chair in Design Engineering](https://reader034.vdocuments.mx/reader034/viewer/2022042315/5f03f8da7e708231d40bae76/html5/thumbnails/37.jpg)
Moregripes
• Tryyoursurveywith5people(notclosefriends);thenfixitandtrywith20differentpeople;thenfixitandonlythensenditto4,000people.Indicatetypicalduration.
• Qualitativeresearch(e.g.,ethnographicstudy)isnotjustanamefor“IdidnotcollectanydatasoIamgoingtowingitbasedonmynotes”
![Page 38: Software Architecture Research: Science or Engineering? › 2018 › 05 › icsa... · , Ph.D., P.Eng., FEC, CSDP Professor of Software Engineering NSERC Chair in Design Engineering](https://reader034.vdocuments.mx/reader034/viewer/2022042315/5f03f8da7e708231d40bae76/html5/thumbnails/38.jpg)
Slidesatphilippe.kruchten.com/talks/
![Page 39: Software Architecture Research: Science or Engineering? › 2018 › 05 › icsa... · , Ph.D., P.Eng., FEC, CSDP Professor of Software Engineering NSERC Chair in Design Engineering](https://reader034.vdocuments.mx/reader034/viewer/2022042315/5f03f8da7e708231d40bae76/html5/thumbnails/39.jpg)
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)