04 Communication Is King; Clarity and Leadership, Its Humble Servants
以沟通为中心,兼顾简明清晰的表达方式和开明的领导作风
Mark Richards
马克•理查兹
ALL TOO OFTEN, SOFTWARE ARCHITECTS sit in their ivory towers, dictating specifications, technology decisions, and technology direction to the developers below. More often than not, this leads to dissension in the ranks, quickly followed by a revolt by the masses, finally resulting in a software product that doesn't even come close to resembling the original requirements. Every software architect should know how to communicate the goals and objectives of a software project. The key to effective communication is clarity and leadership.
软件架构师普遍喜欢坐在舒适的环境里对开发人员颐指气使,下达他的技术决策和指令。这很容易引发大家的抵触情绪,造成上下不和,最后导致产品与最初的需求相去甚远。软件架构师应该改善沟通技巧,帮助大家理解项目的目标。关键在于明确有效的沟通和开明的领导能力。
Clarity describes how you communicate. No one on your team is going to read a 100-page architecture decisions document. Being clear and concise in the way you communicate your ideas is vital to the success of any software project. Keep things as simple as possible at the start of a project, and by all means do not start writing lengthy Word documents. Use tools like Visio to create simple diagrams to convey your thoughts. Keep them simple, for they will almost certainly be changing frequently. Another effective means of communication is informal whiteboard meetings. Nothing gets your ideas across better than bringing a group of developers (or other architects) into a room and whiteboarding your ideas. Also, be sure to have a digital camera with you at all times. Nothing is more frustrating than being pushed out of a meeting room with all of your ideas stuck on a whiteboard. Snap a picture, download it, and share it via a wiki with the rest of the team. Throw away the lengthy Word documents and focus more on getting your ideas across, and afterward worry about recording the details of your architectural decisions.
沟通必须简明清晰。没有人愿意阅读冗长的架构决策文档,言简意赅地表达你的观点是项目成功的必要条件。项目启动之初,凡事能简则简,千万不要一头扎入冗长的Word文档中。使用工具,如简单的Visio图表来表达你的想法,尽量画简单些,毕竟时移势迁,想法总会变化。另一种有效的沟通手段是非正式的白板会议,把开发人员(还有其他架构师)召集起来,在白板上写下你的想法,比任何方法都来得有效。此外,别忘了随身携带相机,拍下白板上的内容,通过wiki在团队内共享,毕竟会后回忆讨论的内容并不容易。扔掉冗长的Word文档,想办法让大家接受你的观点,最后别忘了详细记录讨论结果。
One thing most software architects fail to realize is that a software architect is also a leader. As a leader, you must gain the respect of your co-workers to work in a healthy and effective environment. Keeping developers in the dark about the big picture or why decisions were made is a clear recipe for disaster. Having the developer on your side creates a collaborative environment whereby decisions you make as an architect are validated. In turn, you get buy-in from developers by keeping them involved in the architecture process. Work with developers, not against them. Keep in mind that all team members (e.g., the QA team, business analysts, and project managers, as well as developers) require clear communication and leadership. Employing clarity and demonstrating effective leadership will improve communication and create a strong and healthy work environment.
另一方面,架构师往往忽略了自己也是领导者。作为领导者,我们必须获得同伴的尊敬才能顺利开展工作。如果开发人员对项目蓝图和决策过程度一无所知,必定会产生隐患。安排一位你信得过的开发人员牵头创造协作环境,请大家共同验证你的架构决策。让开发人员参与架构的制订过程,他们才会买你的账。与其和开发人员对着干,不妨与他们合作。请记住,所有的团队成员(包括质量控制小组、业务分析员 、项目经理,以及开发人员)都渴望明确的沟通和开明的领导。只有这样才能改善沟通效果,建立团结健康的工作环境。
If "Communication Is King," then clarity and leadership are its humble servants.
以沟通为中心,坚持简明清晰的表达方式和开明的领导作风。
About the Author:
Mark Richards is a director and senior solutions architect at Collaborative Consulting, LLC, where he is involved in the architecture and design of large-scale service-oriented architectures in J2EE and other technologies, primarily in the financial services industry. He has been involved in the software industry since 1984, and has significant experience in J2EE architecture and development, object-oriented design and development, and systems integration.
马克•理查兹是Collaborative Consulting有限责任公司的董事和高级解决方案架构师,他的主要工作是利用J2EE和相关技术为金融服务行业设计并提供大规模面向服务的架构。自从1984年进入软件业以来,他积累了大量J2EE架构和开发经验、面向对象设计和开发,以及系统集成的经验。
以沟通为中心,兼顾简明清晰的表达方式和开明的领导作风
Mark Richards
马克•理查兹
ALL TOO OFTEN, SOFTWARE ARCHITECTS sit in their ivory towers, dictating specifications, technology decisions, and technology direction to the developers below. More often than not, this leads to dissension in the ranks, quickly followed by a revolt by the masses, finally resulting in a software product that doesn't even come close to resembling the original requirements. Every software architect should know how to communicate the goals and objectives of a software project. The key to effective communication is clarity and leadership.
软件架构师普遍喜欢坐在舒适的环境里对开发人员颐指气使,下达他的技术决策和指令。这很容易引发大家的抵触情绪,造成上下不和,最后导致产品与最初的需求相去甚远。软件架构师应该改善沟通技巧,帮助大家理解项目的目标。关键在于明确有效的沟通和开明的领导能力。
Clarity describes how you communicate. No one on your team is going to read a 100-page architecture decisions document. Being clear and concise in the way you communicate your ideas is vital to the success of any software project. Keep things as simple as possible at the start of a project, and by all means do not start writing lengthy Word documents. Use tools like Visio to create simple diagrams to convey your thoughts. Keep them simple, for they will almost certainly be changing frequently. Another effective means of communication is informal whiteboard meetings. Nothing gets your ideas across better than bringing a group of developers (or other architects) into a room and whiteboarding your ideas. Also, be sure to have a digital camera with you at all times. Nothing is more frustrating than being pushed out of a meeting room with all of your ideas stuck on a whiteboard. Snap a picture, download it, and share it via a wiki with the rest of the team. Throw away the lengthy Word documents and focus more on getting your ideas across, and afterward worry about recording the details of your architectural decisions.
沟通必须简明清晰。没有人愿意阅读冗长的架构决策文档,言简意赅地表达你的观点是项目成功的必要条件。项目启动之初,凡事能简则简,千万不要一头扎入冗长的Word文档中。使用工具,如简单的Visio图表来表达你的想法,尽量画简单些,毕竟时移势迁,想法总会变化。另一种有效的沟通手段是非正式的白板会议,把开发人员(还有其他架构师)召集起来,在白板上写下你的想法,比任何方法都来得有效。此外,别忘了随身携带相机,拍下白板上的内容,通过wiki在团队内共享,毕竟会后回忆讨论的内容并不容易。扔掉冗长的Word文档,想办法让大家接受你的观点,最后别忘了详细记录讨论结果。
One thing most software architects fail to realize is that a software architect is also a leader. As a leader, you must gain the respect of your co-workers to work in a healthy and effective environment. Keeping developers in the dark about the big picture or why decisions were made is a clear recipe for disaster. Having the developer on your side creates a collaborative environment whereby decisions you make as an architect are validated. In turn, you get buy-in from developers by keeping them involved in the architecture process. Work with developers, not against them. Keep in mind that all team members (e.g., the QA team, business analysts, and project managers, as well as developers) require clear communication and leadership. Employing clarity and demonstrating effective leadership will improve communication and create a strong and healthy work environment.
另一方面,架构师往往忽略了自己也是领导者。作为领导者,我们必须获得同伴的尊敬才能顺利开展工作。如果开发人员对项目蓝图和决策过程度一无所知,必定会产生隐患。安排一位你信得过的开发人员牵头创造协作环境,请大家共同验证你的架构决策。让开发人员参与架构的制订过程,他们才会买你的账。与其和开发人员对着干,不妨与他们合作。请记住,所有的团队成员(包括质量控制小组、业务分析员 、项目经理,以及开发人员)都渴望明确的沟通和开明的领导。只有这样才能改善沟通效果,建立团结健康的工作环境。
If "Communication Is King," then clarity and leadership are its humble servants.
以沟通为中心,坚持简明清晰的表达方式和开明的领导作风。
About the Author:
Mark Richards is a director and senior solutions architect at Collaborative Consulting, LLC, where he is involved in the architecture and design of large-scale service-oriented architectures in J2EE and other technologies, primarily in the financial services industry. He has been involved in the software industry since 1984, and has significant experience in J2EE architecture and development, object-oriented design and development, and systems integration.
马克•理查兹是Collaborative Consulting有限责任公司的董事和高级解决方案架构师,他的主要工作是利用J2EE和相关技术为金融服务行业设计并提供大规模面向服务的架构。自从1984年进入软件业以来,他积累了大量J2EE架构和开发经验、面向对象设计和开发,以及系统集成的经验。