架构之道-软件构建的设计方法-读书笔记

9 篇文章 0 订阅
5 篇文章 0 订阅

元设计方法是一种简单有效的分析与设计的技术,元设计方法=系统设计+项目设计
系统设计:将大系统分解为小模块/小组件的方式,可以为模块/组件的定义(结构、角色和语义)以及交互设计提供指导,输出系统的概要架构。
项目设计:针对项目进度、成本和风险进行设计,可以作为系统集成的指导,并匹配相应方案以供执行和跟踪。

当架构设计不充分或组织无法承受构建系统的压力的时候,就不应该冒险让团队启动系统的开发。设计的目标:首先满足客户的真实场景需求,同时设计必须是组织或团队能力和约束范围内。

设计并不费时,时间紧迫有助于避免设计镀金。帕金森定律表明,只要还有时间,工作就会不断扩展,知道用完所有的时间。PS:设计的关键在于专注的深入思考,而非大量的时间投入。

分析瘫痪:是一种困境状态,当一个人或者一个团队,陷入一个看似无休止的分析、设计、新发现和返回进行更多分析的循环时的状态。在这种状态实际就是一种瘫痪状态,无法取得任何有成效的结果。

清晰、明确、可比的选项是明智决策的关键。

架构师需要对如下事情负责:一是架构出错、二是未能将设计传达给开发人员,三是未能在交付之前指导好开发工作并保持架构不腐化。

架构师必须根据可用资源、资源可以产生的内容、涉及的风险和截止日期来校准项目。

客户提供伪装成需求的解决方案极为普遍。警惕。如客户建设房子时候,提出房屋需要支持烹饪的需求。

切忌根据需求而不加以抽象直接设计。

功能始终是集成的结果,而不是实现的结果。

拥抱需求变化,如果没有需求,软件工程师就失业了。处理变更的诀窍部署与之抗争、推迟变更,或者完全耽搁变更,而是在于控制他的影响。

通过项目设计到位, 可以消除常见的成本赌博,开发死亡行军,对项目一厢情愿的想法以及昂贵的试错行为。

一个好的项目设计包含:人员计划、项目范围界定、工作量估算、功能开发与集成计划、项目任务的详细时间计划、成本计算、计划的可行性分析与验证、以及建立执行与跟踪机制。

功能永远是集成的结果,而不是实现的结果

决不要急于功能来做进度报告,而是基于集成来做进度报告。

对于任何软件项目,最明智的第一步就是为项目找到合适、有能力的架构师。

架构师专注的关键目标是设计系统并防止设计在开发过程中偏离。同时还需要承担技术指导、需求评审、设计评审、系统中每个服务的代码评审、设计文档更新、对来自市场的功能需求的讨论等工作。

项目铁三角:项目经理、产品经理、架构师。开发人员和测试人员是项目必须的临时人员。
项目经理负责对外跟踪进度并将状态报告给管理层和其他项目经理,协商条款并处理跨组织约束;对内项目经理分配工作任务、计划活动,并确保项目按计划、按预算和按质量进行。项目经理前期负责项目设计和安排,后期负责项目状态汇报。
产品经理充当客户的代理,作为团队与客户沟通的桥梁,同时负责解决客户之间冲突、协商需求、定义优先级并沟通期望。产品经理前期负责收集需求,后期负责向客户演示。
架构师是技术经理,充当项目的设计主管、过程主管和技术主管。架构师与产品经理一起完成系统设计,架构师与项目经理一起完成项目设计。架构师确保团队在逐步构建系统的过程中,严格按照系统和项目设计及对质量承诺。作为技术主管必须完成技术的最佳方式,但将细节决定权留给开发人员。架构师前期是设计系统和项目,后期提供持续的技术和流程指导。

软件项目总是有很多制约因素,如时间、范围、工作量、资源、技术、遗留代码、业务环境等。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值