DOC PREVIEW
USC CSCI 578 - 27_People_Roles_and_Teams

This preview shows page 1-2-17-18-19-36-37 out of 37 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 37 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 37 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 37 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 37 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 37 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 37 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 37 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 37 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

People, Roles, and TeamsThe NeedSoftware ArchitectsDesired Skill SetBlending the Skill SetArchitects As Software Development ExpertsArchitects As Domain ExpertsTeam Needs Balance & Shared VocabularySlide 9Slide 10Slide 11Architects As CommunicatorsArchitects Communicate WithArchitects Also Communicate WithArchitects As StrategistsArchitects As ConsultantsArchitects As Consultants (cont.)Architects As LeadersArchitects As TechnologistsArchitects As Cost EstimatorsArchitects As CheerleadersArchitects As PoliticiansArchitects as SalespeopleSoftware Architecture TeamRole of Architecture TeamDefining Software ArchitectureMaintaining Architectural IntegrityAssessing Technical RisksOrdering & Content Of Development IterationsCoordinate & Coexist with Other TeamsPitfalls of Software Architect TeamsPitfall: Lack Of AuthorityPitfall: Life In Ivory TowerPitfall: Imbalance Of SkillsPitfall: Confusing Tools With ArchitecturesPitfall: ProcrastinationSummaryCopyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved.People, Roles, and TeamsSoftware ArchitectureLecture 272Foundations, Theory, and PracticeSoftware ArchitectureSoftware ArchitectureThe NeedThe greatest architectures are the product of A single mind orA very small, carefully structured teamRechtin, Systems Architecting: Creating & Building Complex Systems, 1991, p21Every project should have exactly 1 identifiable architect For larger projects, principal architect should be backed up by architect team of modest sizeBooch, Object Solutions, 19963Foundations, Theory, and PracticeSoftware ArchitectureSoftware ArchitectureSoftware ArchitectsArchitect is “jack of all trades”Maintainer of system’s conceptual integrityPart of teamSet of people with complementary skillsCommitted to commonPurposePerformance goalsApproachHold each other accountableLife of architect is long series of locally suboptimal decisions made partly in the darkSometimes painful4Foundations, Theory, and PracticeSoftware ArchitectureSoftware ArchitectureDesired Skill SetSoftware development expertiseDomain expertiseCommunicatorStrategistConsultantLeaderTechnologistCost estimatorCheerleaderPoliticianSalesperson5Foundations, Theory, and PracticeSoftware ArchitectureSoftware ArchitectureBlending the Skill SetMay need different people & skills based on Characteristics of project & domainLifecycle “phase”Type of architecture Enterprise vs. product-line vs. productDistinction between junior & senior architectsEach architect should possess some subset of above skillsWhat architects are usually not in a project Developers – though they may prototype their ideasManagers – except in small organizations6Foundations, Theory, and PracticeSoftware ArchitectureSoftware ArchitectureArchitects As Software Development ExpertsMust understand nuances of software developmentPrinciplesMethods & techniquesMethodologiesToolsNeed not be world-class software programmersShould understand ramifications of architectural choicesDo not live in ivory towerSome architectural choices constrain implementation optionsSome implementation-level techniques & tools constrain architectural choices7Foundations, Theory, and PracticeSoftware ArchitectureSoftware ArchitectureArchitects As Domain ExpertsSoftware engineering expertise is not enoughProblem domain nuancesMaturityStabilitySystem user profileMay greatly affect selected & developed architectural solutionsDistributionScaleEvolvabilityRequires artifacts that model problem spaceNot solution space8Foundations, Theory, and PracticeSoftware ArchitectureSoftware ArchitectureTeam Needs Balance & Shared VocabularyDSToo little domain knowledge9Foundations, Theory, and PracticeSoftware ArchitectureSoftware ArchitectureTeam Needs Balance & Shared VocabularyDDSToo little domain knowledgeSToo little SWE knowledge10Foundations, Theory, and PracticeSoftware ArchitectureSoftware ArchitectureTeam Needs Balance & Shared VocabularyDDSToo little domain knowledgeSToo little SWE knowledgeDSNo Shared Vocabulary11Foundations, Theory, and PracticeSoftware ArchitectureSoftware ArchitectureTeam Needs Balance & Shared VocabularyDDSToo little domain knowledgeSToo little SWE knowledgeDSNo Shared VocabularyDSGood!12Foundations, Theory, and PracticeSoftware ArchitectureSoftware ArchitectureArchitects As CommunicatorsAt least ½ of the jobMustListen to stakeholder concernsExplain the architectureNegotiate compromisesNeed good communication skillsWriting SpeakingPresenting13Foundations, Theory, and PracticeSoftware ArchitectureSoftware ArchitectureArchitects Communicate WithManagersMust relay key messagesArchitecture is useful & importantEnsure support throughout projectMust listen to concernsCostScheduleDevelopersConvince them that architecture is effectiveJustify local suboptimal choicesListen to problemsToolsMethodsDesign choicesOther software architectsEnsure conceptual integrityEnsure desired system properties & evolution14Foundations, Theory, and PracticeSoftware ArchitectureSoftware ArchitectureArchitects Also Communicate WithSystem engineersCoordinate requirements & solutionsExplain how architecture addresses key concernsCustomersDetermine needsExplain how architecture addresses requirementsUsersDetermine needsExplain how architecture addresses those needsListen to problemsMarketersGet/help set goals & directions Explain how architecture addresses marketing objectives15Foundations, Theory, and PracticeSoftware ArchitectureSoftware ArchitectureArchitects As StrategistsDeveloping elegant architecture is not enoughTechnology is only part of pictureArchitecture must be right for organizationMust fit organization’sBusiness strategyRationale behind itBusiness practicesPlanning cyclesDecision making processesMust also be aware of competitors’ProductsStrategiesProcesses16Foundations, Theory, and PracticeSoftware ArchitectureSoftware ArchitectureArchitects As ConsultantsArchitects must recognize developers are their primary “customer”Developers Goals do not match architects’Not focused on making architecture successfulFocused onSatisfying functional, quality, and scheduling


View Full Document

USC CSCI 578 - 27_People_Roles_and_Teams

Download 27_People_Roles_and_Teams
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view 27_People_Roles_and_Teams and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view 27_People_Roles_and_Teams 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?