软件开发沉思录阅读笔记二
这是《软件开发沉思录》这本书阅读笔记的第二篇,第一篇是软件开发沉思录阅读笔记一是对第六章——对象健身操的阅读笔迹。
第七章——迭代经理是什么角色
什么是迭代经理?
ThoughtWorks的高级架构师Fred George把迭代经理描述成“面向内部的管理角色。迭代经理负责保证故事在团队中流动的顺畅,这牵涉到合理分配任务、在技能需要改变的时候建议更换团队成员。”
怎样成为好的迭代经理?
每天,迭代经理都必须倾听团队的需要并且作出回应。其主要职责就是培养一台润滑良好的“机器”,并依据要求的质量在项目范微内交付功能。
迭代经理应该在技术熟练度和业务知识之间达到一个平衡。敏捷领袖应该“同时对客户和技术都由深刻的理解,这样才能赢得开发团队的尊重。”良好的沟通技巧是必须的。迭代经理的职责之一就是维护开团队与客户,以及与管理阶层之间的关系。
同时,迭代经理必须推动、主张和保障团队成员的权利。
迭代经理不做什么?
与项目经理不同,迭代经理需要在工作第一线,与团队成员一起面对每日的工作活动。
迭代经理与项目
作为次要目标,我期望看到因为迭代经理的工作,团队成员在项目结束的时候变得更为优秀。团队内充满信任,持续提高技能——这是迭代经理的工作。
迭代经理要争取把团队拧成一根绳,让所有的成员能同舟共济。
第十章——领域标注
在过去十年里,众多软件开发者意识到:软件应用程序中最大的复杂度来自于软件要处理的实际问题领域。正因为如此,所谓“领域驱动设计”有两个前提:
- 大部分软件项目关注的焦点是业务领域和领域逻辑;
- 复杂的领域设计应该基于模型来进行。
换句话说,领域驱动设计将用业务领域术语表述的业务领域的面向对象模型置于软件系统的核心。数据通常保存在关系数据库里,但看待数据的主视角是领域对象,而不是数据库表和存储过程。核心业务逻辑集中保存在领域模型中,而不是散步在用户界面和应用程序的服务层里。
如果遵循领域驱动设计方法,得到的软件系统就会清晰地区分出领域模型和基础设施(及界面):前者通常较为稳定、生命周期较长;后者通常生命周期较短,并且与具体的技术(例如O/R映射或者WEB框架)相关。这里的挑战在于如何保持两者之间的分野,从而使两者能够各自保持可复用性:一方面,领域模型应该能够在不同的应用程序、不同的服务中使用,或是在技术升级以后继续使用;另一方面,基础设施应该能用于支撑各种领域模型。当然最终的目标是实现基础设施的行业标准化(无论是采用商用软件还是开源软件),从而使应用程序开发者能专注于问题领域。

顶一个!最近有点忙,很久没有来看看了!