Chapter 24: Architecture     Competence        © Len Bass, Paul Clements, Rick       Kazman, distributed under Creative   ...
Chapter Outline• Competence of Individuals: Duties, Skills, and  Knowledge of Architects• Competence of a Software Archite...
Competence of Individuals                                    DutiesSkills                                                 ...
Technical Duties of an ArchitectGeneral Duty                                           Specific Duties                    ...
Non-Technical Duties of an ArchitectGeneral Duty                                          Specific Duties                 ...
Skills of an ArchitectGeneral Skill Area                                    Specific Skills                               ...
Knowledge of an ArchitectGeneral Knowledge Area                               Specific Knowledge                          ...
Organizational Competence• It is not enough for the architect to be  competent• The organizational setting is usually outs...
Some Examples of Activities by a         Competent Organization• Establish a career track for architects.• Establish a cle...
Assessing an Organization• There are three practice areas that can be  used to assess an organizations competence.  – Soft...
Software EngineeringOrganizations should have defined practices for• Quality Attribute Elicitation• Tools and Technology S...
Technical ManagementOrganizations should have defined practices for• Business or Mission Goals• Setting goals• Setting fun...
Organizational ManagementOrganizations should have defined practices for• Career track for Architects• Leadership roles fo...
Questions within Competence                 Categories• Within each competence category one can have  questions to evaluat...
Assessment in Practice• Based on these kinds of questions, skilled  evaluators can assess the organization’s  competence• ...
Summary• Individuals need to have particular knowledge  and skills as architects. These lead to duties.• Organizations nee...
Upcoming SlideShare
Loading in …5
×

Software Architecture in Practice, Chapter 24

1,136 views

Published on

1 Comment
2 Likes
Statistics
Notes
No Downloads
Views
Total views
1,136
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
132
Comments
1
Likes
2
Embeds 0
No embeds

No notes for slide

Software Architecture in Practice, Chapter 24

  1. 1. Chapter 24: Architecture Competence © Len Bass, Paul Clements, Rick Kazman, distributed under Creative Commons Attribution License
  2. 2. Chapter Outline• Competence of Individuals: Duties, Skills, and Knowledge of Architects• Competence of a Software Architecture• Organization• Summary © Len Bass, Paul Clements, Rick Kazman, distributed under Creative Commons Attribution License
  3. 3. Competence of Individuals DutiesSkills Knowledge© Len Bass, Paul Clements, Rick Kazman, distributed under Creative Commons Attribution License
  4. 4. Technical Duties of an ArchitectGeneral Duty Specific Duties Creating an architecture Evaluating and analyzing an architecture Architecting Documenting an architecture Working with and transforming other systems Performing other architecting duties Managing the requirements Implementing the product Other life cycle activities Testing the product Evaluation future technologies Selecting tools and technology © Len Bass, Paul Clements, Rick Kazman, distributed under Creative Commons Attribution License
  5. 5. Non-Technical Duties of an ArchitectGeneral Duty Specific Duties Managing the project Management Managing the people Supporting the management Supporting the organizationOrganization and business Supporting the business related duties Leadership and team Providing technical leadership building Building a team © Len Bass, Paul Clements, Rick Kazman, distributed under Creative Commons Attribution License
  6. 6. Skills of an ArchitectGeneral Skill Area Specific Skills Outward Communication skills Inward Within team Interpersonal skills With other people Leadership Workload management Skills to excel in corporate Work skills environment Skills for handling information Skills for handling unexpected © Len Bass, Paul Clements, Rick Kazman, distributed under Creative Commons Attribution License
  7. 7. Knowledge of an ArchitectGeneral Knowledge Area Specific Knowledge Architecture Computer Science Software Engineering knowledge Design knowledge Programming knowledge Specific knowledgeTechnology and Platforms General knowledge Domain knowledge Industry knowledgeOrganization context and Enterprise knowledge management Leadership and management techniques © Len Bass, Paul Clements, Rick Kazman, distributed under Creative Commons Attribution License
  8. 8. Organizational Competence• It is not enough for the architect to be competent• The organizational setting is usually outside the control of individual architects.• The architect must operate in an environment that understands how to create/nurture/reward architects. © Len Bass, Paul Clements, Rick Kazman, distributed under Creative Commons Attribution License
  9. 9. Some Examples of Activities by a Competent Organization• Establish a career track for architects.• Establish a clear statement of responsibilities and authority for architects.• Establish a mentoring program for architects.• Establish an architecture training/education program.• Include architecture milestones in project plans.• Have architects provide input into product definition.• Have architects advise on development team structure.• Give architects influence throughout the entire project life cycle.• Reward or penalize architects based on project success or failure. © Len Bass, Paul Clements, Rick Kazman, distributed under Creative Commons Attribution License
  10. 10. Assessing an Organization• There are three practice areas that can be used to assess an organizations competence. – Software Engineering – Technical Management – Organizational Management © Len Bass, Paul Clements, Rick Kazman, distributed under Creative Commons Attribution License
  11. 11. Software EngineeringOrganizations should have defined practices for• Quality Attribute Elicitation• Tools and Technology Selection• Modeling and Prototyping• Architecture Design• Architecture Description• Architecture Evaluation• System Implementation• Software Design (design conforms to architecture)• Software Coding (code conforms to design and architecture)• Software Verification• Proving Properties of the Software• Software Testing © Len Bass, Paul Clements, Rick Kazman, distributed under Creative Commons Attribution License
  12. 12. Technical ManagementOrganizations should have defined practices for• Business or Mission Goals• Setting goals• Setting functional requirements• Allocating Resources• Setting architect’s workload and schedule• Funding stakeholder involvement• Project plan structure aligned with architecture structure.• Adequate time planned for architecture evaluation.• Establish organization-wide architecture practices• Process monitoring and improvement• Reuse• Collaboration with manager © Len Bass, Paul Clements, Rick Kazman, distributed under Creative Commons Attribution License
  13. 13. Organizational ManagementOrganizations should have defined practices for• Career track for Architects• Leadership roles for architects• Succession planning• Ongoing training• Creating and sustaining an internal community of architects• Supporting participation in external communities• Organizational Planning• Technology Planning and Forecasting © Len Bass, Paul Clements, Rick Kazman, distributed under Creative Commons Attribution License
  14. 14. Questions within Competence Categories• Within each competence category one can have questions to evaluate how well an organization measures against particular criteria. E.g. – How do you ensure that the architecture is aligned with the business goals? – What is the input into the architecture creation process? What inputs are provided to the architect? – How does the architect validate the information provided? What does the architect do in case the input is insufficient or inadequate? © Len Bass, Paul Clements, Rick Kazman, distributed under Creative Commons Attribution License
  15. 15. Assessment in Practice• Based on these kinds of questions, skilled evaluators can assess the organization’s competence• The output is a list of strengths and weaknesses.• The weaknesses can lead to an improvement plan. © Len Bass, Paul Clements, Rick Kazman, distributed under Creative Commons Attribution License
  16. 16. Summary• Individuals need to have particular knowledge and skills as architects. These lead to duties.• Organizations need to provide an environment that supports architects, creates new architects, and evaluates and rewards successful architects.• All of this can be evaluated, to help guide an organization to improve its organizational competence. © Len Bass, Paul Clements, Rick Kazman, distributed under Creative Commons Attribution License

×