[读]4. Communication is King; Clarity and Leadership its humble servants
2010-08-27 18:08
495 查看
http://architect.97things.oreilly.com/wiki/index.php/Communication_is_King;_Clarity_and_Leadership_its_humble_servants
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 in a group of developers (or other architects) into a room and whiteboarding your ideas. Also, be sure to always 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 white board. Snap a picture, download it, and share it via a wiki to the rest of the team. So throw away the lengthy Word documents and focus more on getting your ideas across, and afterwards worry about recording the details of your architectural decisions.
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 effectively 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. QA team, Business Analysis, and Project Managers as well as developers) require clear communication and leadership. Employing clarity and 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.
架构设计师是应用实现方式的规则制定者,就像立法者一样,其立法必须明确而有指导性,同时需要有足够的释法行为,并且常常关注规则实施情况,听取反馈。
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 in a group of developers (or other architects) into a room and whiteboarding your ideas. Also, be sure to always 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 white board. Snap a picture, download it, and share it via a wiki to the rest of the team. So throw away the lengthy Word documents and focus more on getting your ideas across, and afterwards worry about recording the details of your architectural decisions.
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 effectively 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. QA team, Business Analysis, and Project Managers as well as developers) require clear communication and leadership. Employing clarity and 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.
架构设计师是应用实现方式的规则制定者,就像立法者一样,其立法必须明确而有指导性,同时需要有足够的释法行为,并且常常关注规则实施情况,听取反馈。
相关文章推荐
- Communication Is King;. Clarity and Leadership, Its Humble Servants
- what is the virtual machine, when and why we need use it ?
- What Is /dev/shm And Its Practical Usage
- Android studio更新后出现警告:Warning:The `android.dexOptions.incremental` property is deprecated and it has
- CocoaPods问题: CocoaPods was not able to update the `master` repo.if it is a unexpected issue and
- What is an abstract class, and when should it be used?
- [POST] What Is the Linux fstab File, and How Does It Work?
- 关于 Warning:The `android.dexOptions.incremental` property is deprecated and it has no effect on the b
- its MIME type ('text/html') is not executable, and strict MIME type checking is enabled.
- What Is SFP Cable And How Is It Used?
- Database 'xxx' cannot be upgraded because it is read-only or has read-only file Make the database or files writeable, and rerun recovery.
- What is the PPA and How to do with it ?
- What is Web Application Architecture? How It Works, Trends, Best Practices and More
- Windows,Introduction to COM - What It Is and How to Use It.
- Attempting to load the view of a view controller while it is deallocating is not allowed and may res
- What is SAP HANA and its architecture
- Introduction to COM - What It Is and How to Use It.(ZT)
- How to create a StackOverflowException. And how to figure out where it is happening.
- Windows 7: What is Account Auditing And How To Enable It
- 【转】Sys.WebForms.PageRequestManagerParserErrorException - what it is and how to avoid it