Chapter3:TheManyContextsofSoftwareArchitecture©LenBass,PaulClements,RickKazman,distributedunderCreativeCommonsAttributionLicenseChapterOutline•ArchitectureinaTechnicalContext•ArchitectureinaProjectLife-CycleContext•ArchitectureinaBusinessContext•ArchitectureinaProfessionalContext•Stakeholders•HowIsArchitectureInfluenced?•WhatDoArchitecturesInfluence?•Summary©LenBass,PaulClements,RickKazman,distributedunderCreativeCommonsAttributionLicenseContextsofSoftwareArchitecture•Sometimesweconsidersoftwarearchitecturethecenteroftheuniverse!•Here,though,weputitinitsplacerelativetofourcontexts:–Technical.Whattechnicalroledoesthesoftwarearchitectureplayinthesystemorsystemsofwhichit’sapart?–Projectlifecycle.Howdoesasoftwarearchitecturerelatetotheotherphasesofasoftwaredevelopmentlifecycle?–Business.Howdoesthepresenceofasoftwarearchitectureaffectanorganization’sbusinessenvironment?–Professional.Whatistheroleofasoftwarearchitectinanorganizationoradevelopmentproject?©LenBass,PaulClements,RickKazman,distributedunderCreativeCommonsAttributionLicenseTechnicalContext•Themostimportanttechnicalcontextfactoristhesetofqualityattributesthatthearchitecturecanhelptoachieve.•Thearchitecture’scurrenttechnicalenvironmentisalsoanimportantfactor.–Standardindustrypractices–Softwareengineeringtechniquesprevalentinthearchitect’sprofessionalcommunity.•Today’sinformationsystemsareweb-based,object-oriented,service-oriented,mobility-aware,cloud-based,social-networking-friendly.–Itwasn’talwaysso.–Itwon’tbesotenyearsfromnow.©LenBass,PaulClements,RickKazman,distributedunderCreativeCommonsAttributionLicenseProjectLife-cycleContext•Softwaredevelopmentprocessesarestandardapproachesfordevelopingsoftwaresystems.•Theyimposeadisciplineonsoftwareengineersand,moreimportant,teamsofsoftwareengineers.•Theytellthemembersoftheteamwhattodonext.•Therearefourdominantsoftwaredevelopmentprocesses:–Waterfall–Iterative–Agile–Model-drivendevelopment©LenBass,PaulClements,RickKazman,distributedunderCreativeCommonsAttributionLicenseArchitectureActivities•Alloftheseprocessesincludedesignamongtheirobligations.•Architectureisaspecialkindofdesign,soarchitecturefindsahomeineachone.•Nomatterthesoftwaredevelopmentprocess,thereareactivitiesinvolvedincreatingasoftwarearchitecture,usingthatarchitecturetorealizeacompletedesign,andthenimplementingormanagingtheevolutionofatargetsystemorapplication:–1.Makingabusinesscaseforthesystem–2.Understandingthearchitecturallysignificantrequirements–3.Creatingorselectingthearchitecture–4.Documentingandcommunicatingthearchitecture–5.Analyzingorevaluatingthearchitecture–6.Implementingandtestingthesystembasedonthearchitecture–7.Ensuringthattheimplementationconformstothearchitecture©LenBass,PaulClements,RickKazman,distributedunderCreativeCommonsAttributionLicenseBusinessContext•Architecturesandsystemsarenotconstructedfrivolously.•Theyservesomebusinesspurposes.•Thesepurposesmaychangeovertime.©LenBass,PaulClements,RickKazman,distributedunderCreativeCommonsAttributionLicenseArchitectureandBusinessGoals•Systemsarecreatedtosatisfythebusinessgoalsofoneormoreorganizations.–Developmentorganizationswanttomakeaprofit,orcapturemarket,orstayinbusiness,orhelptheircustomersdotheirjobsbetter,orkeeptheirstaffgainfullyemployed,ormaketheirstockholdershappy,oralittlebitofeach.–Customershavetheirowngoalsforacquiringasystem,usuallyinvolvingsomeaspectofmakingtheirliveseasierormoreproductive.Otherorganizationsinvolvedinaproject’slifecycle,suchassubcontractorsorgovernmentregulatoryagencies,havetheirowngoalsdealingwiththesystem.•Architectsneedtounderstandwhothevestedorganizationsareandwhattheirgoalsare.Manyofthesegoalswillhaveaprofoundinfluenceonthearchitecture.©LenBass,PaulClements,RickKazman,distributedunderCreativeCommonsAttributionLicenseArchitectureandBusinessGoals•Everyqualityattribute—suchasauser-visibleresponsetimeorplatformflexibilityorironcladsecurityoranyofadozenotherneeds—shouldoriginatefromsomehigherpurposethatcanbedescribedintermsofaddedvalue.–“Whydoyouwantthissystemtohaveareallyfastresponsetime?”–Thisdifferentiatetheproductfromitscompetitionandletthedevelopingorganizationcapturemarketshare.•Somebusinessgoalswillnotshowupintheformofrequirements.•Stillotherbusinessgoalshavenoeffectonthearchitecturewhatsoever.–Abusinessgoaltolowercostsmightberealizedbyaskingemployeestoworkfromhome,orturntheofficethermostatsdowninthewinter,orusinglesspaperintheprinters.©LenBass,PaulClements,RickKazman,distributedunderCreativeCommonsAttributionLicenseArchitectureandbusinessgoals©LenBass,PaulClements,RickKazman,distributedunderCreativeCommonsAttributionLicenseProfessionalContext•Youwillperformmanydutiesbeyonddirectlyproducinganarchitecture.–Youwillneedtobeinvolvedinsupportingmanagementanddealingwithcustomers.•Architectsneedmorethanjusttechnicalskills.–Architectsneedtoexplaintoonestakeholderoranotherthechosenprioritiesofdifferentproperties,andwhyparticularstakeholdersarenothavingalloftheirexpectationsfulfilled.–Architectsneeddiplomatic,negotiation,andcommunicationskills.–Architectsneedth