软件架构师应该具备的素质(Enterprise Solution Architects and Leadership)

 

旧一篇: 100 Interview Questions for Software Developers 

软件/企业架构师是一项很重要的工作。架构师的职责很多,要胜任的话,需要具备特定的领导、沟通、技术技能。

Gabriel Morgan在最近的一篇帖子里从Daniel Goleman的情感智能(EI)——自我意识、自我管理、社会意识和关系管理——切入,谈论了企业软件架构师应该具备的素质。

自我意识

    * 情绪自我觉察
    * 准确的自我评估

自我管理

    * 自控
    * 透明度
    * 适应性
    * 成就
    * 主动
    * 乐观

社会意识

    * 同理心
    * 组织意识
    * 服务

关系管理

    * 感召力
    * 影响力
    * 发展他人
    * 变革催化剂
    * 冲突管理
    * 团队精神与合作

卡内基·梅隆大学软件工程研究所从不同软件工程师那里收集了很多他们对软件架构师的职责、技能及知识所持的观点。对于架构师必备的技能,一部分观点如下:

David Cornish(英国伦敦摩根大通公司的技术架构师):

    跟技术团队和商务团队都有良好的沟通

    丰富的设计经验和技术知识

    分析思维和整合思维

    冲突解决

Theo Gantos(美国密歇根弗林特TEKA公司的咨询师):

    架构师是一位博学多才的人。在各种方法学领域都要有咨询、交际、组织、概念化、抽象思维、逻辑推理、数据建模的能力,自我检讨的能力,快速适应,演讲和沟通技巧,编程知识,写作技巧,销售技巧,个人魅力,金融和投资回报率计算技能,对付难弄、安于现状的人,有幽默感。

Venkatesh Krishnamurthy(印度班加罗尔市Valtech印度公司的技术架构师):

        * 有创造力
        * 艺术家
        * 政治家
        * 强有力的意志
        * 优秀的沟通技巧
        * 出色的演讲技巧
        * 有人缘
        * 成熟
        * 表达能力强
        * 勇于决策,并能坚持
        * 挑战者
        * 好的观察者
        * 协商者

Victor Alejandro Baez Puente(墨西哥墨西哥城Grupo Nacional Provincial公司的CTO):

        * 对带有财务审计、合同管理、企业工作流、业务流程整合、资产管理组件的企业应用,有设计经验。
        * 有SOA相关经验。
        * 作为首席架构师参与过J2EE项目成立到交付的整个过程。
        * 有在高可用、集群化环境部署J2EE(富)Web客户端应用的经验。
        * 专长于针对软件系统工件构建和文档化的UML。
        * 宽泛的IT知识(应用开发、测试、部署、操作、文档、标准、最佳实践、安全、硬件、网络、操作系统、数据库管理系统、中间件等)。
        * 擅长轻量级、快速开发、敏捷方法学,并有相关经验。
        * 有估算、度量项目速度的经验。
        * 有处理遗留系统和分阶段应用集成的经验。
        * 对细节有敏锐的注意力。
        * 书面、口头、图示沟通的技巧。

例子有很多。有些人把重点放在领导/沟通技巧上,而另一些人则重视具体的技术技能。亲爱的InfoQ读者,你认为软件/企业架构师应该必须具备哪些技能?


Enterprise Solution Architects and Leadership                I strongly believe that Leadership is a critical competency for successful  Enterprise Solution Architects.To some, that statement may seem bold. To others, its obvious. forthose that this seems bold, I hope this blog post helps explain whyEnterprise Solution Architects have strong Leadership competencies. Forthose that this statement seems obvious, I hope I'm simply attemptingrefining this concept to bring it to a more mature level.

A bit of my background leading to thoughts on strengthening Leadership competencies as an Enterprise Solution Architect

During my career as an IT guy, I've always been laser focused on mycareer mission "Improve IT's business value proposition". This is mypassion and it is my guiding principle for making career choices. It'sworked well for me probably because there always seems to be newopportunities to explore and deliver more business value such as;exploring different software delivery models, exploring differentsoftware design processes and techniques, implementing new and excitingtechnologies,  engineering business architecture, and scalingto enterprise-level constructs like enterprise architecture frameworksand organizational dynamics. In fact, I feel lucky to have been able toachieve so much and still be totally inspired to learn and grow more. 
My career has taken me through many IT roles gaining experience asan IT software engineer, tester, business analyst, project/programmanager, and solution architect.  I've carried pagers while in IToperations support roles. I've spent time in sales selling softwaresolutions and I've spent time as a consultant delivering softwaresolutions and coaching customers and partners how to deliver softwaresolutions. Because I've always had a hankering to make bigger, broader,enterprise-wide business value from IT, my career has led me to where Isit today, an Enterprise Solution Architect.

Enterprise Solution Architects require Leadership skills the most

I think that all Architects require Leadershipcompetencies to some degree but one Architect type that stands out asbeing the most dependent on Leadership is the Enterprise SolutionArchitect. Because I haven't seen an attempt to articulate theLeadership abilities in the context of the Enterprise SolutionArchitect role, I thought I'd share my opinion of what they might be.

So, here's how I think of Leadership. Leadership is a competency andit can be decomposed in a number of ways; leadership principles,habits, values, emotional intelligence abilities, leadershipimperatives, et al. All are valid and often share the same semanticmeaning but conveyed in different terms and constructs giving us lotsof choices to find the one that resonates with each of us individually.

Daniel Goleman's Leadership model as the base construct

One such Leadership model that resonates with me is  Daniel Goleman'sEmotional Intelligence (EI) abilities organized by the domainsSelf-Awareness, Self-Management, Social Awareness and RelationshipManagement. The complete list of Goleman's EI abilities withdefinitions are located at the end of this blog.
This is an Architect's blog post, so I created some views of the EIdomain model as well as the actual model using UML notation for thosewho like to read models:

Leadership Domain Model

  软件架构师应该具备的素质(Enterprise Solution Architects and Leadership)


Leadership Object Model
 软件架构师应该具备的素质(Enterprise Solution Architects and Leadership)  软件架构师应该具备的素质(Enterprise Solution Architects and Leadership)  软件架构师应该具备的素质(Enterprise Solution Architects and Leadership) 软件架构师应该具备的素质(Enterprise Solution Architects and Leadership)



Relating Goleman's Leadership Competencies to the Enterprise Solution Architect

So, how does this all relate to the Enterprise SolutionArchitect role you say? Well, I think that this is where things getfascinating. Below is an attempt to describe how Goleman's Leadershipabilities relate to the Enterprise Solution Architect role. It is veryrough but my hope is to mature the thinking to the point we can manageLeadership abilities like we can with other Architect skills like I described in this blog post regarding growing Solution Architects

It should be noted that the Enterprise SolutionArchitect's Leadership competencies are required or be the highestmaturity achievable. The aim of this blog post is simply to describethe relationship between Leadership competencies and the EnterpriseSolution Architect role.

Leadership Competency Narrative description how Enterprise Solution Architects use the Leadership Competency
Self-Awareness  
    Emotional self-awareness This is one of the more criticalcompetencies that Enterprise Solution Architects have. We are oftenengaged in discussions that are extremely complex with very seniorleaders when suggestions are asserted which unintentionally break theintegrity of the enterprise architecture we have so carefully nurtured.Enterprise Solution Architects must have self-awareness competency toinject architectural integrity back into the discussion withoutsacrificing relationships or, as Goleman might say, "emotionalcapital". 

Take for example the situation of enterpriseplanning. There are times when senior leaders suggest major platformconsolidation decisions while,  unintentionally, grossly oversimplifiedthe engineering rigor involved in defining shared software platforms.Instead of bursting aloud and delivering 'an education' to the group,Enterprise Solution Architects might choose another route. Perhaps s/hemight respectfully acknowledge the leadership's role and compliment thesuggestion with the option of off-lining that decision to allow time toreview impacts and return with their analysis results.
    Accurate self-assessment Because Enterprise Solution Architects interact at all organizationlevels in the business and IT organizations, they become acutely awarewhere they must grow and improve in order to be more effective. Thebest Enterprise Solutions Architects, therefore, seek mentors andcoaches, join networking clubs with a passion for self-improvement.This is one of the reasons why find themselves at networking events andsharing experiences at enterprise architecture conferences.
Self-Management  
[b]    Self-control[/b] Enterprise Solution Architects are some of the most psychologicallymature Architects an organization has. They are often "the rocks"within the most complex, high-profile IT projects a company has. Theyare masters of self-control for the project team and in planning teams.Their decisions carry weight both in the eyes of the business and ITand any wavering can cause ripple effects strong enough to cause doubtand ultimately shake the foundational confidence of a project. 
    Transparency Transparency is a major part forgaining a Trusted Advisor relationship with senior businessstakeholders and engineering teams. Often, the Enterprise SolutionArchitect must deliver messages that are not what stakeholders want tohear so setting expectations early and being transparent to thedecision-making stakeholders is critical. 

Take for example thesituation where Enterprise Solution Architects coordinate the supportfor a shared enterprise-wide software platform. Enterprise SolutionArchitects must be able to gain support from several Lines of Businessand engineering organizations to commit to the software platform. Thisis a tremendously complicated task that can be thwarted from severalangles. Enterprise Solution Architects provide a Leadership rolethrough this process and the great ones build Trusted Advisorrelationships through transparency. 
    Adaptability Adaptability is a core competence of the Enterprise SolutionArchitect because of the diverse situations and audiences they arefaced with on a daily basis. 
As an example, I once led a highly complex software designdiscussion with highly-talented and, should I dare, 'critical'engineers involving system integration modeling of our Microsoft OnlineOrder Management systems in the morning, sat with business leads tobrainstorm licensing business logic for our to-be-released OnlineProducts over lunch, and delivered an architectural brief to a group ofBusiness and IT Vice Presidents on the impacts to our enterprise forour S+S company strategy all in the same day. 
    Achievement Enterprise Solution Architects are measured by adoption.Everything they are set out to accomplish is carefully prioritized andburned into the forefront of their consciousness. Think of StephenCovey's second habit of highly effective people"Begin with the End In Mind". The 'end' for an Enterprise SolutionArchitect is the delivery of change whether it be decisions on whichsoftware platforms are to be built and how they are designed, deliveryof enterprise-class software solutions, optimization of the applicationportfolio, enabling IT with the right architect to deliver faster,efficiently and cost-effectively.
    Initiative Enterprise Solution Architectshave the opportunity to view broadly across the company and often arequick to see opportunities for progressing the advancement of theenterprise architecture. They look for ways to gain adoption quicklyand often are able to provide feedback to IT process owners ororganization designers on observations made that potentially canimprove the organizational effectiveness in terms of improved deliveryto the business. 
    Optimism  Enterprise Solution Architectsknow that no one want's to work with pessimistic wet blanket. Gainingmomentum is critical to the success of delivering large-scaleinitiatives and, therefore, optimistic leaders help carry the momentum.Not all Architects can perform the Enterprise Solution Architect role.It is mostly a thankless job and often highly criticized. I'm sorry ifthis sounds like a bleak picture for the Enterprise Architect but to behonest, we must be optimistic to try, try again. 
Social Awareness   
    Empathy I just love this Leadership ability because it is often so sorelylacking in the IT industry, thus representing a great opportunity toapply focus and get huge improvements. Engineers often don't have thetraining or basic social skills to have a positive dialogue. All themore reason why the Enterprise Solution Architect has very matureempathy abilities so as to resonate and get decisions made to rapidlyenable change. I can't put it better than Jack Welch's "Three S"approach to Leadership; Self-Confidence, Simple, Speed. I've created aconceptual model of the "Three Ss" concepts and added a couple of newone's taken from anecdotal mentions from Goleman for another View tohelp describe the concepts.

 软件架构师应该具备的素质(Enterprise Solution Architects and Leadership) 

Here's how to relate Empathy to the Three Ss concept. ThroughEmpathy, an Enterprise Solution Architect can identify a Simple messagethat resonates with allowing them to act on the message with speed.
    Organizational awareness Enterprise Solution Architects often find themselves inorganizations that lack fluid understanding for involvingenterprise-wide concerns. This is common and natural. For example,large companies often have several business strategies that are notin-sync eventuating in siloed supporting IT systems. EnterpriseSolution Architects must be able to understand who to influence inorder to contribute due diligence efforts for deliver solutions toenterprise concerns such as application rationalization, delivery ofshared enterprise software platforms, software platform designs builtfor flexibility, reusability and availability. 
Now, I would like to make a distinction between Organizationalawareness from a Machiavellian politician who studies organizationaldynamics and manipulates and drives their self-interests. Like Goleman,Stephen Covey and Jack Welch note often, "those individuals are a boreand bring down organizations." I'm in complete agreement. 
    Service Service is one of the mostimportant competencies Enterprise Solution Architects have. We arehumble and serve our business partners and teammates to achieve ourgoal, adoption. I described tips for gaining adoption in a previousblog - see here.Enterprise Solution Architects fill the gaps and complement the team'splan directly or indirectly through encouraging the appropriate roleowner to pick it up. 
Relationship Management  
    Inspiration  When Enterprise SolutionArchitects discover business problems that cross several Lines ofBusiness and engineering teams, they have a tough challenge ahead ofthem. Often, Enterprise Solution Architects make all groups aware ofthe problem and inspire them to collaborate on solving the problemtogether, thus bringing synergy to the organization.
    Influence  In the software industry, if youare not directly writing source code you are in an influencer role. Icannot stress the importance Enterprise Solution Architects place onthis leadership competency. It is critical to the success of gainingmomentum for software initiatives and truly delivering in a TrustedAdvisor capacity.
    Developing others  Goleman often cites statisticsthat the IT Business sorely lacks this competency. Goleman believesthat this is likely due to the fact that engineers focus on improvingone's technical skills rather than focusing on improving other people'sskills. He's got a great point. 

Enterprise SolutionArchitect's understand that no single role will be responsible forimproving IT's value proposition to their business stakeholders. Wespend a lot of time growing an organization's competence. The bestEnterprise Solution Architects I know, dedicate time to mentor others,contribute to skills discussions and often express their ideas in broadaudiences all with the intention of helping grow the discipline in thedirection of improving IT's value proposition to the business. 

Infact, Developing others is why I blog (and I wish I blogged moreoften), mentor aspiring Architects in and outside of Microsoft and oneof the sole reasons I choose to be an Enterprise Solution Architectwithin Microsoft. 

With this blog, my hope is that I catch theattention of another Architect to investigate and learn more aboutleadership competencies and contribute to their growth and success.
    Change catalyst Many esteemed thinkers in thespace of Enterprise Architecture often evangelize the role ofEnterprise Solution Architects as 'change agents'. This is true. Like Idiscussed in the Initiative item above, Enterprise Solution Architectsdo have an unusual position of seeing an impartial view of the 'bigpicture' and when opportunities for gaining efficiencies regardingre-prioritization of our business needs, tweaking our delivery process,restructuring governance models, identifying skill gaps, to drivechange for improving the IT organization's effectiveness to delivermore value to the business, we do it.
    Conflict management  I love this competency! In the ITindustry there is so much social insecurity that it impairs even themost trivial discussions resulting in relationship destruction. Theseoutcomes are unacceptable to Enterprise Solution Architects and wemitigate these outcomes by leaning heavily on our Conflict Managementskills. 

For example, Enterprise Solution Architects often findthemselves facilitating an initiative via a virtual team ofmulti-discipline resources from all over the organization. Inevitably,there are pitfalls to avoid from insecurities that exist with each ofthe team members. Normally, insecurities manifest themselves from teammembers that were part of a failed project they wish to not be remindedof, or senior resources wanting to be recognized for their position bysubordinates, or from highly educated individuals who want to bepublicly recognized for their educational credentials, or for culturalsensitivities typical in the western and eastern cultures and the listgoes on. 

At the surface, one might say "why do they behave sochildish?" and they'd be right if it weren't for the fact that peopleare very emotionally complex beings - we are not beings from the planetVulcan where logic prevails over all social conflict. :) 

EnterpriseSolution Architects identify and respect other's underlying personalinsecurities, which are often unsaid, and empathize with them in a verynon-threatening manner, and usually in private. Then, suggest a simpleresolution to the group that a) can progress the group's initiative,and b) does not seem threatening to any one person or the group theyrepresent.
    Teamwork and collaboration Enterprise Solution Architects,by necessity, have experience managing project teams, virtual teams,relationships "owners" with other organizations on behalf of theirorganization to deliver planning and delivery functions. We often exudethe ability to create an environment with strong collaboration and dothis by leveraging our Teamwork and Collaboration competency.

Just some closing notes 

There is nothing new described in this blog other than an attempt toarticulate a relationship between two concepts. It is my interpretationof the fantastic work already delivered by Leadership thought-leadersin the context of the Enterprise Solution Architect role.
Acknowledgements: One of the great pleasures fromworking at Microsoft is the opportunity to work with unbelievablytalented people. One such person is  Harry Tuckerand a few others whom I'm not sure I have the right to publiclyidentify...Jeremy, Mike, Chad and Gray. ;) Anyway, much of what I'vewritten below was directly triggered by their coaching and I'm verygrateful to have crossed paths with these individuals.
Here are Daniel Goleman's Leadership Competencies:
Self-Awareness 
  • Emotional self-awareness. Leaders high inemotional self-awareness are attuned to their inner signals,recognizing how their feelings affect them and their job performance.They are attuned to their guiding values and can often intuit the bestcourse of action, seeing the big picture in a complex situation.Emotionally self-aware leaders can be candid and authentic, able tospeak openly about their emotions or with conviction about theirguiding vision.
  • Accurate self-assessment. Leaders with highself-awareness typically know their limitations and strengths, andexhibit a sense of humor about themselves. They exhibit a gracefulnessin learning where they need to improve, and welcome constructivecriticism and feedback. Accurate self-assessment lets a leader knowwhen to ask for help and where to focus in cultivating new leadershipstrengths.
Self-Management 
  • Self-control. Leaders with emotional self-controlfind ways to manage their disturbing emotions and impulses, and even tochannel them in useful ways. A hallmark of self-control is the leaderwho stays calm and clear-headed under high stress or during a crisis -or who remains unflappable even when confronted by a trying situation.
  • Transparency. Leaders who are transparent livetheir values. Transparency - an authentic openness to others aboutone's feelings, beliefs, and actions - allows integrity. Such leadersopenly admit mistakes or faults, and confront unethical behavior inothers rather than turn a blind eye.
  • Adaptability. Leaders who are adaptable can jugglemultiple demands without losing their focus or energy, and arecomfortable with the inevitable ambiguities of organizational life.Such leaders can be flexible in adapting to new challenges, nimble inadjusting to fluid change, and limber in their thinking in the face ofnew data or realities.
  • Achievement. Leaders with strength in achievementhave high personal standards that drive them to constantly seekperformance improvements - both for themselves and those they lead.They are pragmatic, setting measurable but challenging goals, and areable to calculate risk so that their goals are worthy but attainable. Ahallmark of achievement is in continually learning - and teaching -ways to do better.
  • Initiative. Leaders who have a sense of efficacy -that they have what it takes to control their own destiny - excel ininitiative. They seize opportunities - or create them - rather thansimply waiting. Such a leader does not hesitate to cut through redtape, or even bend the rules, when necessary to create betterpossibilities for the future.
  • Optimism. A leader who is optimistic can roll withthe punches, seeing an opportunity rather than a threat in a setback.Such leaders see others positively, expecting the best of them. Andtheir "glass half-full" outlook leads them to expect that changes inthe future will be for the better.
Social Awareness 
  • Empathy. Leaders with empathy are able to attuneto a wide range of emotional signals, letting them sense the felt, butunspoken, emotions in a person or group. Such leaders listenattentively and can grasp the other person's perspective. Empathy makesa leader able to get along well with people of diverse backgrounds orfrom other cultures.
  • Organizational awareness. A leader with a keensocial awareness can be politically astute, able to detect crucialsocial networks and read key power relationships. Such leaders canunderstand the political forces at work in an organization, as well asthe guiding values and unspoken rules that operate among people there.
  • Service. Leaders high in the service competencefoster an emotional climate so that people directly in touch with thecustomer or client will keep the relationship on the right track. Suchleaders monitor customer or client satisfaction carefully to ensurethey are getting what they need. They also make themselves available asneeded.
Relationship Management 
  • Inspiration. Leaders who inspire both createresonance and move people with a compelling vision or shared mission.Such leaders embody what they ask of others, and are able to articulatea shared mission in a way that inspires others to follow. They offer asense of common purpose beyond the date-to-day tasks, making workexciting.
  • Influence. Indicators of a leader's powers ofinfluence range from finding just the right appeal for a given listenerto knowing how to build buy-in from key people and a network of supportfor an initiative. Leaders adept in influence are persuasive andengaging when they address a group.
  • Developing others. Leaders who are adept atcultivating people's abilities show a genuine interest in those theyare helping along, understanding their goals, strengths, andweaknesses. Such leaders can give timely and constructive feedback andare natural mentors or coaches.
  • Change catalyst. Leaders who can catalyze changeare able to recognize the need for the change, challenge the statusquo, and champion the new order. They can be strong advocates for thechange even in the face of opposition, making the argument for itcompellingly. They also find practical ways to overcome barriers tochange.
  • Conflict management. Leaders who manage conflictsbest are able to draw out all parties, understand the differingperspectives, and then find a common ideal that everyone can endorse.They surface the conflict, acknowledge the feelings and views of allsides, and then redirect the energy toward a shared ideal.
  • Teamwork and collaboration. Leaders who are ableteam players generate an atmosphere of friendly collegiality and arethemselves models of respect, helpfulness, and cooperation. They drawothers into active, enthusiastic commitment to the collective effort,and build spirit and identity. They spend time forging and cementingclose relationships beyond mere work obligations.

你可能感兴趣的:(软件架构)