架构漫谈之软件架构师如何工作
作为一个架构师,首先要明确的是架构的定义是什么?架构就是针对一个具体的统一大目标,按照每个人的特点,或者其他划分原则进行分解,
将大目标分为若干个小目标,分配给每个人,并在内部建立一种沟通方式来进行交流;将分解后的目标最终能够整合到一起,完成最初的大目标。
同样架构也可以延伸至各个方面,如建筑架构,企业架构,国家架构,软件架构等等。架构实际上就是指人们根据自己对世界的认识,为解决某个问题,
主动地、有目的地去识别问题,并进行分解、合并,解决这个问题的实践活动。
架构的内容有哪些,自然就是对问题的分析,解决问题的方案:包括拆分的原则以及理由,沟通合并的原则以及理由,以及拆分,拆分出来的各个部分
和合并所对应的角色和所需要的核心能力等。因此架构的首要问题就是:识别出需要解决的问题。很多团队大部分时候过于关注实现表面的问题解决,急
于完成分配给自己的工作,而不去关心和思考,真正的问题是什么而造成的。
当我们去解决一个问题的时候,一定要深度的分析问题,花时间在思考问题上,问题解决错了就代表软件开发需求的分析错误,最后肯定会离要实现的需求
越来越远,导致开发失败。因此如何识别问题是架构的第一步。识别问题的一个最大的前提就是要搞清楚:是谁的问题。这个搞清楚了,问题的边界也就跟着确定了。
从问题去出发,直接面对主体进行访谈,深入到主体的工作生活当中,体验并感受这些问题,通过数据的反馈来定位问题,进一步确定需求。
做好架构切分就是接下来的一步。切分的过程就是建模的过程,最终结果都会体现在组织架构上。考虑好每个人的情况,确保不能违反人性,保证每个人的利益。
不应该超出一个自然人的负载,对于每个人的能力不同,负载能力也不一样,需要不断的根据实际情况调整,权利和义务要对等。要遵守一定的拆分原则,否则就会
出现团队成员关系破裂,项目进度落后等问题。架构切分的结果一定是一个树状,这也是为什么会产生分层。层数越多沟通越多,效率越低,分层要越少越好。
尽可能变成一颗平衡树,才能让整个系统的效率最大化。
沟通,让团队成员了解现存问题、工作业务的进展情况等等,也就是信息共享,让员工最大限度地干好其本职工作的重要动力和途径,是员工沟通和联络感情的
核心。没有沟通,就没有管理上的创新,就没有良好的人际关系,没有沟通,管理就是空中阁楼、是呆板和迟疑的一个过程。显然,沟通是维持团队良好的状态,保证
团队正常运行的关键过程与行为。团队成员通过良好有效的沟通,找准症结,通过分析、讨论、拿出方案,及时将问题解决。
沟通看起来很简单,但能否按正确地方式沟通,让对方接受非常关键。它的实现有赖于良好地机制:通过正式的沟通渠道,如月会、周会、座谈会。再者就是通过
非正式的沟通渠道。如电子邮件、周末旅游、小型聚会等。无论是通过哪种形式沟通,只要让成员说话,并且是说自己愿意说的话。在沟通中,力求会谈气氛和谐融
洽,保持双方平等互助的立场,赢取对方的尊重与承诺。注意从对方的利益以及感受出发,站在对方的角度考虑问题,即所谓换位思考。根据沟通的原则进行沟通,
一定会事半功倍。
当一名架构师需要从大局出发,兼顾细节,这并不是一件容易的事。以上仅代表个人的总结和思考,如有不足还望指正。
本文作者:durtime
本文链接:https://www.cnblogs.com/durtime/p/15925759.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
2021-02-23 家庭账本开发总结