Competencies of an Architect Miha Kralj Architect Microsoft 1 Architect responsibilities Dispelling the illusion 2 What an Architect really does it is not engineering after all… The main activities of an Architect: Think, analyze Listen, talk, walk around Design, brainstorm, explain Assist project leader with work breakdown, schedule, risks Present, meet, teach, discuss Test, integrate Write, consolidate, browse Read, review TGerrit Muller, “The Role and Task of the System Architect”, http://www.gaudisite.nl/RoleSystemArchitectPaper.pdf/ 3 Architecting process What is there to do? Process System Envisioning Architecting Architecture Evolution Goal Brief overview of process Primary outputs 4 Activities: • Conduct industry, market, customer and user analyses • Create technology roadmaps • Assess legal implications • Envision new products • Select, model and prototype Activities: • Gain sponsorship and buy-in • Capture architectural requirements • Create architectural models and evaluate alternatives • Validate architecture against requirements Activities: • Update architecture documentation • Update requirements • Assess architecture against requirements (impact analysis) • Restructure architecture System Vision Architecture Updated Architecture • system concept • value proposition, distinctive contribution • models and descriptions • prototypes • architectural requirements • architecture models • component specifications • architecture guidelines and standards • updated requirements • impact analysis results • revised architecture models Competencies breakdown What is needed? 5 The Magic Seven Seven Measurable Competencies Leadership Organizational Dynamics Technology in Breadth Communication Strategy Technology in Depth Process and Tactics 6 Leadership Ability to develop partnerships with stakeholders both inside and outside the organization, mentor others, develop and form strong teams, and achieve successful results. Does not meet Nearly meets • Weak communication skills – not considering needs across the organization • Technical lead, not a mentor • Doesn’t manage the bad news •Is not developing new competencies, not leading effectively • Rarely develops effective partnerships • Blames others for issues that arise – does not demonstrate accountability or ownership 7 • Gets the job done most of the time – sometimes fails Meets Exceeds • Drives the business forward – recognized for skill set across the organization • Grows people – completes the project and provides growth or mentoring opportunities for team •Gets the job done – rock solid performer, dependable •Develops strong business partnerships •Develops partnerships across the organization •People want to follow – is sought out by others •Foresees and proactively addresses issues •Makes the team better than the sum of its parts Leadership Sub-competencies Ask thought-provoking questions that result in actionable technological patterns or solutions Actively mentor others Provide thought leadership by enabling others to see things from a different and better perspective Influence decision makers Champion structure, process, best practices, and standards Promote the capture and reuse of intellectual capital Effectively build individual partnerships and organizational networks 8 Leadership Sample questions • • • • • • • • • • 9 Tell me about a time when your team or management disagreed with an architectural decision you made. What steps are you taking to identify and/or grow your replacement? How do you convey what architecture is to others? How much of your time do you spend thinking about running your business vs. changing your business? What are your plans for the next 2-5 years? Why are your team members or employees loyal to you? Tell me about a time you lead the org away from a potential disaster to a successful implementation? How? How do you get other people to build and deploy the infrastructure/solutions you architect? How do you see the role of an architect in a team? When things go wrong between team members – what do you do to resolve the situation? Communication Maintain well-written and accurate project documentation, and present information on a technical subject in a concise and measured manner. Influence others, manage conflict effectively, and tailor communication to the needs of the target audience. Does not meet • Does not communicate • Creates conflict • Communicates inaccurate information Nearly meets • Produces documentation of minimal value to technical stakeholders • Can only communicate solution to technical stakeholders • Does not effectively tailor communication to audience 10 Meets Exceeds • Ability to tailor communication to audience • Well written, concise and accurate documentation that is appropriately maintained • Ability to effectively manage conflicts • Ability to be honest about the ramifications of a technical decision • Engaging and concise presentation skills • Ability to influence – influencer rather than a reporter Communication Sub-competencies Effective listener and astute observer Communicate effectively and persuasively to different audiences (for example, executive or technical) Effectively mediate and manage conflict Document designs and specifications that adhere to company practices Communicate needs as well as deployment and operations standards to infrastructure architects Effectively facilitate meetings Possess good presentation skills 11 Communication Sample questions • What standard methods do you use to depict your • • • • architectures? What documents are included in your conceptual/logical/implementation designs? Tell me about presentation where your audience was not cooperating? How would you talk to CIO/CTO/CEO/CFO? I don’t understand – explain it better • 12 Follow-up: initiate conflicting arguing and observe reactions Leadership Organizational Dynamics Technology in Breadth Communication Strategy Technology in Depth Process and Tactics 13 Organizational Dynamics Recognize the key stakeholders on a project and work with those stakeholders to drive the project to a successful conclusion. Recognize the political landscape within an organization that can influence a project, and in turn influence organizational politics for the success of projects. Does not meet • Avoids politically charged situations •Cannot or does not identify the stakeholders for the project •Consistently falling prey to the whims of the stakeholders – not seeing the bigger picture •Can’t map the solution to the business case 14 Nearly meets • Identifies but does not effectively work with stakeholders Meets • Works with key stakeholders •Impactful because gets the right stakeholders aligned •Knows how to effectively pick battles Exceeds • Recognizes key influencers and works with those influencers •Perceptive enough to anticipate the changing political landscape Organizational Dynamics Sub-competencies Understand organizational structures, relationships, and influencers Adeptly maneuver through politically-charged organizational situations Effectively build organizational partnerships and networks Build relationships with other architects and project stakeholders Possess an awareness of the internal legal organization and ensure that legal guidelines are met Exhibit comfort with conflict and thrive in situations that require negotiation and compromise 15 Organizational Dynamics Sample questions • • • • 16 How do you go about gaining alignment from various stakeholders in the organization? Describe a project that was partially complete and new stakeholder(s) were added. What did you do? Tell me about a successful failure? How do you determine who you talk to when you enter a company or start a new project? Strategy Apply knowledge of technology to further organizational goals within the vertical industry. Understand the principles of project management and interact with project managers to complete projects successfully. In addition, understand the economic dimension of projects and how costs influence the available choices for technology. Does not meet Nearly meets Meets •Does not understand the impact technology may have on the business and tradeoffs that must be made to meet the needs of the business. • Solutions only take into account thinking about 6 months out – not well beyond. • Solution aligns with business strategy in addition to technical strategy. •Understands competitive advantage technology provides for the organization, but does not drive it. •Aware of where business and technology is going. •Reactively instead of proactively solving problems. •Interacts with community and customer on a participatory level. •Drives the competitive advantage that technology provides for the organization. Exceeds •Able to extract requirements from the business and understand not only the technical, but the business impact. • Interacts frequently with community and customer and drives that interaction. •Intimately aware how solution will be executed. •Ability to gain buy-in of solution. •Long-term focus. 17 Strategy Sub-competencies 18 Explain the business strategy of your organization Demonstrate knowledge of industry-specific trends with respect to architecture Balance the needs of users, management, operations, support, finance, and technology with the strategic needs of the business, including business benefits and vendor pricing implications Demonstrate an understanding of future trends in technology and how they impact the current and future state of your solution Describe how you applied knowledge of industry ( HIPAA , Basel II, Sarbanes-Oxley, HL7, etc.) regulations to create your solution Use enterprise frameworks (for example, the Zachman Framework for Enterprise Architecture or The Open Group Architecture Framework [TOGAF]) to map the business strategy of the organization to your solution Understand how operational frameworks (for example, Control Objectives for Information and related Technology [COBIT], IT Infrastructure Library [ITIL], ITSM) impact your solution Understand how techniques for achieving operational excellence (for example, Lean Six Sigma, Total Quality Management [TQM], or Capability Maturity Model [CMM]) impact your solution Strategy Sample questions • • • • • • • 19 What part of your vision/solution did you fail to gain buy-in on? Tell me about a scenario where you failed to gain buy in. Follow-up: What would you do differently? • Follow-up: What were the consequences and how did you deal with those consequences? How do you go about validating your strategy internally before you execute on gaining buy-in? What mechanisms do you have to share best practices? How do you evaluate best practices? How do you quantify or measure success? What technology initiatives do you have in the next year? What is your scope of influence in the organization? Process and Tactics Gather and refine project requirements from both a technical and a business perspective. Design, create, maintain, and verify models of the deployed infrastructure. Create effective project artifacts. Exhibit the ability to refine project goals and the tactics necessary to achieve those goals as the project develops. Does not meet Nearly meets • Not willing (or unable to recognize when it is necessary) to change architecture. • Designs architecture but fails to document changes. •Proposes architecture – but no involvement in implementation and its evolution. •Does not address opportunities to change working architecture as the situation changes. Meets • Effectively incorporates strategic vision into tactics of technology implementation. •Ability to change architecture as obstacles occur during implementation. •Keeps up to date with evolving best practices and technology, and can adjust architecture appropriately. •Aware of, presents, and explores technical options. 20 •Able to compromise as appropriate. Exceeds •Ability to predict when technology change will occur and can adjust/evolve architecture appropriately. Process and Tactics Sub-competencies Use methodologies and/or frameworks to provide predictability to IT and ensure repeatable success on IT projects Gather and analyze both technical and business requirements Envision and create an solution that meets requirements and can be implemented using modeling techniques and mapping their points of integration Prove the feasibility of a design (POC, pilots, prototypes, etc.) Use capacity planning techniques to ensure scalable designs Create the design artifacts that are required to deliver and to maintain the solution Understand the impact of internal policies (for example, service level agreements [SLAs]) Guide a project through to completion and audit compliance with specifications and the overall intent of the architecture Review the ongoing implementation for opportunities for improvement and refine the model as requirements change, implementation choices evolve, etc. Contribute to technical project management 21 Process and Tactics Sample questions • • • • 22 What lifecycle process do you follow and why? What are the artifacts of the process? • Probe – are all artifacts complete for the solution? (e.g. is a test plan documented?) How do you measure success? Walk me through a project – beginning to end. Recommend to use a hypothetical situation. What are you doing to mitigate risk? Leadership Organizational Dynamics Technology in Breadth Communication Strategy Technology in Depth Process and Tactics 23 Technology - breadth Understand architectural best practices and apply them across a breadth of technologies to solve an organizational problem. Articulate views on the future development of technology, and understand the interaction between infrastructure and solution architecture. Use these insights to design appropriate architectural solutions. Does not meet Nearly meets • Focused on a single-platform – comfortable with single technology only. • Addresses functional goals of a system, but may ignore non-functional goals. •Understands multiple technologies but cannot bring the technologies together – cannot synthesize. •Understands trend of where technology is moving but not understanding the technology itself (uses buzz-words). •Limited/selective understanding of the technology. •Does not thoroughly analyze options if following policies of organization vs. looking at other potential technologies. •Does not recognize existing technology. •Does not demonstrate the responsibility to reuse existing technology. 24 Meets • Understands where technology is moving and when is redundant. •Understands some quality properties in addition to functional requirements. •Understands how various technologies fit together – across the entire organization •Synthesizes new information/ technology quickly. •Consistently expanding technical knowledge. •Recognizes the value of leveraging existing technology. Exceeds •Strong understanding of new tools and technologies with a defined process for implementing within the organization. •Understands where business is going and impact it has on the architectural solution and has a plan for adaptation. •Understands the impact of decisions on quality properties in addition to funct requirements and can articulate that impact. Also has an evaluative process and/or documentation on decision points w. trade-off considerations. Technology - breadth Sub-competencies Apply architectural and engineering concepts to design a solution that meets operational requirements, such as scalability, maintainability, security, reliability, extensibility, flexibility, availability, and manageability Think abstractly and demonstrate effective application of service-based, object-based, and component-based modeling Effectively adapt solutions to the capabilities and constraints of the infrastructure Demonstrate a range of software development skills, such as: data access and transactions factoring and refactoring tiers and layers application of patterns Integration strategies Have a broad architectural knowledge of several technology areas and be able to compare and contrast multiple vendor offering in those areas Learn new concepts and gain expertise quickly 25 Technology - breadth Sample questions • • • What frameworks did you consider when architecting your solution and what criteria did you use? What approach did you use to elicit quality requirements? How do you analyze the relationship between architecture and quality properties? • • • • • • • • • 26 Follow up questions: tradeoffs How do you ensure quality in your design? When considering technology for a solution how do you treat redundancy among technologies? What did you consider when designing your solution to ensure it is maintainable and upgradeable? Last 2 or 3 books you’ve read on the industry? What are the 2 or 3 magazines or websites you follow? What trends do you see that will significantly impact the solutions you design in the near future? Or what keeps you jazzed about the future? What standards does your organization use for architecture – frameworks, packages, software development? What process is used to introduce new standards in the organization? Technology - depth Demonstrate detailed knowledge of the concepts, application, and issues of at least two depth competencies. Also demonstrate the ability to quickly assimilate information about new technologies. Does not meet • Unable to demonstrate technology expertise. Nearly meets Meets Exceeds •Strong expertise in one area of technology and how the technology fits into architecture, but struggles outside of that one area. • Demonstrable and sustained expertise of two or more areas of technology and how the technology fits into architecture. • Demonstrable, sustained expertise and mastery of three or more areas of technology and how the technology fits into architecture. •Understands the value of the technology and its impact on the business. •Achieves industry acknowledgment as a published author, conference speaker or holds patents for an area of technology. •Able to learn a new technology quickly. 27 Technology - depth Sub-competencies Examples of depth competencies include, but are not limited to, the following: Component and solution modeling Solutions frameworks (for example, the Microsoft .NET Framework and Java 2 Platform, Enterprise Edition [JEE]) Integration , as evidenced by knowledge of traditional enterprise application integration (EAI) products such as Microsoft BizTalk Server, IBM WebSphere, or BEA WebLogic User experience, including smart clients and adaptive UI Data structuring and management 28 Technology - depth Sample questions • • • 29 What are the benefits of the architecture you selected? Why did you decide to use it? • Follow-up: What challenges did you face when implementing it? • Follow-up: What alternative technologies did you consider? • Follow-up: How did you sell your solution to the infrastructure support/software development staff? • Follow-up: How did you explain your solution to various levels of the organization? What are instances where you had to back away from using your architectural solution in the design or roll out? If you had the opportunity to re-design the solution, how would you go about it? Level of Competency Various roles in the Enterprise Leadership Communications Strategy Tactical / Process Organizational Dynamics CIO 30 Enterprise Architect Technology Breadth Technology Depth Solution/Infrastructure/Information/Business Architect Conclusion Common competencies of Architects Leadership Organizational Dynamics Technology in Breadth Communication Strategy Technology in Depth Process and Tactics 31 Your Next Steps As an aspiring architect, you should… Tomorrow Network with other architects on TechEd Re-validate if your development path leads towards an architect or engineer Near Future Set your career goals and define the roadmap to achieve them Start building the right competencies required Longer Term Participate in defining and establishing IT Architecture as a separate profession 32