敏捷笔记

《敏捷教练-如何打造优秀的敏捷团队》读书笔记 本书通过真实的例子,介绍如何辅导团队平稳度过整个敏捷转型生命期,如何打造一个自立、自觉的敏捷团队。针对敏捷实践的工作机理和如何激发团队的成长有深入的思考,可帮助读者了解如何高效召开各种敏捷会议,及如何指导团队建立良好的工作流程和工作习惯。总结了在敏捷转型过程中教练和团队可能面对的障碍及应对方案,很多都是我们实际敏捷推广过程中遇到过的问题,对于刚开始推行敏捷转型的敏捷教练、团队还是很有指导意义的。 ... 阅读详情

面向对象设计的原则


SRP 单一职责原则

就一个类而言,应该仅有一个引起它变化的原因。

理解:前两天在优快云中看到一个网友提出PetShop4.0中将实体类(Model项目中的类)和操作类(BLL

项目中的类)合并,这样有利于简化程序结构。我觉得有悖于这条原则。

OCP 开放-封闭原则

软件实体(类、模块、函数等)应该是可以扩展的,但是不可修改。

理解:面向对象设计是要成本,代码比结构化程序多而且牺牲一定的效率,所获得的收益是代码复用,应付多变的需求。

修改软件实体将影响到已有的客户程序,等于没有复用,这种做法属于只有投入没有产出的,只干活不拿钱的事,

我们千万不能干。

LSP Liskov 替换原则

子类型必须能够替换掉它们的基类型。

理解:子类型无法替换基类型,将会导致在派生类对象作为基类对象进行传值时的错误。

这样多态机制处于瘫痪状态了。封装是面向对象的基础,继承可以算是实现手段,

多态是面向对象的核心。头可断,血可流,小JJ不可切。

DIP 依赖倒置原则

抽象不应该依赖于细节,细节应该依赖于抽象。

理解:这可能是程序员违反最多的原则,Gof23种设计模式,

好象没几个是和这条原则没关系的。

把程序比做建筑,细节是房子的地基,抽象是房子的装璜。

扒地基搞装修的,我这辈子都没见过。

往事不堪回首,翻开我的代码,发现我也是有钱人啊,搞装修算什么,偶扒地基搞装修,抽象依赖于细节的地方多得海了去了。

不知者不为过,我很大度地原谅了自己。

ISP 接口隔离原刚

不应该强迫客户依赖于他们不用的方法。接口属于客户,不属于它所在的类层次结构。

理解:接口是客户程序和类库交流的一个通道。不同的客户程序可能用到类库的不同方法,

因此对不同的客户程序要设计一套不同的接口。类库恒久远,接口天天变啊。类库是老婆,

要保持稳定,接口是哄老婆的花言巧语,要在不同的场合,随时进行切换。

REP 重用发布等价原则

重用的粒度就是发布的粒度。

CCP 共同封闭原则

包中的所有类对于同一类性质的变化应该是共同封闭的。一个变化若对一个包产生影响,

则将对该包中的所有类产生影响,而对于其他的包不造成任何影响。

CRP 共同重用原则

一个包的所有类应该是共同重用的。如果重用了包的一个类,那么就要重用包中的所有类。

ADP 无环依赖原则

在包的依赖关系图中不允许存在环。

SDP 稳定依赖原则

朝着稳定的方向进行依赖。

SAP 稳定抽象原则

包的抽象程度应该和其稳定程度一致。



 

敏捷宣言遵循的原则


1。我们最优先要做的是通过尽早的,持续的交付有价值的软件来使客户满意。

2。即使到了开发的后期,也欢迎改变需求。敏捷过程利用变化来为客户创造竞争优势。

3。经常性的交付可以工作的软件,交付的间隔可以从几个星期到几个月,交付的时间越短越好。

4。在整个项目的开发期间,业务人员和开发人员必须天天都在一起工作。

5。围绕被激励起来的个体莱构建项目,给他们提供所需的环境和支持,并信任他们能够出色的完成工作。

6。在团队内部,最具有有过并且附有效率的传递信息的方法,就是面对面的交谈。

7。工作的软件是首要的进度度量标准。 

8。敏捷的过程提倡可持续的开发进度。责任人、开发者和用户应该能够保持一个长期的、恒定的开发速度。

9。不断得关注优秀的技能和好的设计会增强敏捷能力。

10。简单------是来完成工作最大化的艺术---------是根本的。

11。最好的架构、需求和设计出自于自组织的团队。

12。每隔一段时间,团队会在如何才能更有效的工作方面进行,然后对应的对自己的行为进行调整。

 


 

极限编程实践

 

 


1、    完整团队
         XP 项目的所有参与者(开发人员、客户、测试人员等)一起工作在一个开放的场所中,他们是同一个团队 的成员。这个场所的墙壁上随意悬挂着大幅的、显著的图表以及其他一些显示他们进度的东西。
2、    计划游戏
         计划是持续的、循序渐进的。每 2 周,开发人员就为下 2 周估算候选特性的成本,而客户则根据成本和商 务价值来选择要实现的特性。
3 、客户测试
         作为选择每个所期望的特性的一部分,客户可以根据脚本语言来定义出自动验收测试来表明该特性可以工作。
4 、简单设计
         团队保持设计恰好和当前的系统功能相匹配。它通过了所有的测试,不包含任何重复,表达出了编写者想 表达的所有东西,并且包含尽可能少的代码。
5 、结对编程
         所有的产品软件都是由两个程序员、并排坐在一起在同一台机器上构建的。
6 、测试驱动开发
         编写单元测试是一个验证行为,更是一个设计行为。同样,它更是一种编写文档的行为。编写单元测试避 免了相当数量的反馈循环,尤其是功功能能验证方面的反馈循环。程序员以非常短的循环周期工作,他们 先增加一个失败的测试,然后使之通过。
7 、改进设计
         随时利用重构方法改进已经腐化的代码,保持代码尽可能的干净、具有表达力。
8 、持续集成
         团队总是使系统完整地被集成。一个人拆入( Check in )后,其它所有人责任代码集成。
9 、集体代码所有权
         任何结对的程序员都可以在任何时候改进任何代码。没有程序员对任何一个特定的模块或技术单独负责, 每个人都可以参与任何其它方面的开发。
10 、编码标准
         系统中所有的代码看起来就好像是被单独一人编写的。
11 、隐喻
         将整个系统联系在一起的全局视图;它是系统的未来影像,是它使得所有单独模块的位置和外观变得明显 直观。如果模块的外观与整个隐喻不符,那么你就知道该模块是错误的。
12 、可持续的速度
         团队只有持久才有获胜的希望。他们以能够长期维持的速度努力工作,他们保存精力,他们把项目看作是 马拉松长跑,而不是全速短跑。
 
    极限编程是一组简单、具体的实践,这些实践结合在形成了一个敏捷开发过程。极限编程是一种优良的、通用的软件开发方法,项目团队可以拿来直接采用,也可以增加一些实践,或者对其中的一些实践进行修改后再采用。
         极限编程的核心思想在于:从长远看,早期发现错误以及降低复杂度可以节约成本。极限编程强调我们将任务 / 系统细分为可以在较短周期解决的一个个子任务 / 模块,并且强调测试、代码质量和及早发现问题。通常,通过一个个短小的迭代周期,我们就可以获得一个个阶段性的进展,并且可以及时形成一个版本供用户参考,以便及时对用户可能的需求变更作出响应。

 


《Scrum敏捷项目管理》读书笔记 自从换了个新工作,就进入了一个新的领域———项目管理,尤其是敏捷项目管理,所以也需要在这个方面提高下自己,从入门级的经典书籍开始。 《Scrum敏捷项目管理》这本书不光介绍了关于敏捷开发的基本概念,也着重分章节写了作者自己在敏捷开发项目管理的实践经验,并从实践中带入敏捷项目实施的一些经验教训。由于这本书写的比较早,有些方法可能已经不适用于现在的敏捷开发了, 但是对于入门来说也不失为一个浅显易懂的... 阅读详情

相关推荐

读《Scrum敏捷软件开发》笔记

读《Scrum敏捷软件开发》笔记 目录 读《Scrum敏捷软件开发》笔记 第I部分 启动 第II部分 个体 第iii部分 团队 第四部分 组织 第四部门 下一站 第I部分 启动 第1章 为什么敏捷转型难(但值得) 1、为什么转型困难 没有面向对公司所有部门展开、高层担心影响组织架构、自己的权威,不推行、没有进行持续改进。 1)、成功的变革不是完全的自上而下或者自下而上: ...

yonghengxiaoqingqing 2219

ABP Vnext敏捷开发笔记

ABP Vnext敏捷开发笔记 去发现同类优质开源项目:https://gitcode.com/ 本仓库提供了一份详尽的ABP Vnext敏捷开发笔记,适用于希望深入了解ABP Vnext框架以及其在前端使用antdVue进行管理系统开发的开发者。 资源简介 这份笔记详细记录了ABP Vnext框架在管理系统开发过程中的关键步骤和技术细节,特别是前端部分采用了antdVue进行开发,为开发者提供了...

gitblog_06759的博客 341

eCognition易康面向对象分类批量选择样本,批量导出shp

可以的,使用这个工具条最右边那个三角尺manual editing toolbar,这是用来直接指定类别的,咱们可以拿它选完以后把指定的类别转成训练样本。另一个好处是,这个选出来的样本可以直接导出成shp,但select sample是不可以的,只能导出TTAMask也就是栅格掩膜。如果要导出shp,要在转之前导出。中间那条有点点的红线就是我的鼠标轨迹,只要碰到的对象就会全部选中,然后一点3的那个按钮就直接全部划分为林地了,十分丝滑。在弹出来的工作条里,首先选择你的类别,比如这里选一个forest。

qq_61845364的博客 4068

《敏捷项目管理》阅读笔记 Part1:理解敏捷

《敏捷项目管理——从入门到精通实战指南》[美]马克·C·莱顿(Mark C. Layton) 著 Part1:理解敏捷 共包含如下章节 第1章 项目管理现代化 第2章 敏捷宣言与原则 第3章 为什么敏捷工作更有效 通过阅读Part1,可以知道:为什么敏捷流程能够比传统的项目管理流程运行得好 项目管理的背景: 项目的资源总是有限的 项目总是被赋予高度的期望 项目管理的目标:使项目成功 项目管理的意义:提高项目的成功率 然而,产品范围有如下特点: 很少使用和从未使用的软件特性占到64%。 传统项目管理

吴秀华Cherry的有趣博客 958

比亚迪唐/秦开发者必看:253个车辆接口实战指南(附常用功能调用示例)

本文为比亚迪唐/秦开发者提供了一份详尽的车辆接口实战指南。文章聚焦于比亚迪开放的253个车辆接口,从开发环境搭建、核心状态监控到高频控制功能(如空调与充电管理),结合真实代码示例,帮助开发者快速上手并规避常见问题,高效开发车载应用。

weixin_28327051的博客 605

C#读取CAD文件(dwg/dxf)并处理

项目要求识别CAD图纸(图纸内容与现实事物比例是1:1)中的内容,并提取出一些关键信息。这里的CAD图纸是指CAD文件,包含多种格式,dwg/dxf/dwf/stl/pdf等等。识别其中内容,主要指文件中的图元信息(也叫实体Entity),指线段、圆弧、矩形等图形元素。得到图元基础信息(比如长度、坐标、粗细)后,进一步做处理(如得到交点、得到线段间间隔、圆弧与线段切点等)。听起来有点难,因为作为软件工程师,对CAD相关事物并不了解,它是未知的;

三千幻想乡 1万+

敏捷学习-敏捷笔记

敏捷笔记一、传统项目管理特点1.所有的工作按照计划2.周期长,严格按需求,设计,开发,测试等流程3.变更管理严格,避免变更二、什么是敏捷1.投资回报率,回收期2.满足当前客户的需要3.满足未来客户的需要4.产品适应性,前提是保证人员构成合理5.支持盈利,看重价值三、敏捷宣言1.个体和互动高于流程和工具2.工作的软件高于详尽的文档3.客户合作高于合同谈判4.响应变化高于 一、传统项目管理特点 1.所有的工作按照计划 2.周期长,严格按需求,设计,开发,测试等流程 3.变更管理严格,避免变更 二、什么是敏捷 1

radation的博客 301

DIY玩家必备:用SSS1623芯片打造高性价比USB麦克风(附完整电路图)

本文详细介绍了如何利用SSS1623芯片DIY高性价比USB麦克风,包括元件选型、电路设计、PCB布局及调试技巧。通过完整的电路参考设计和实用建议,帮助电子爱好者打造专业级录音设备,实现免驱动即插即用功能。

weixin_29166013的博客 237

敏捷-SCRUM笔记-SCRUM权威指南-SRCUM 方法与实践-分享

敏捷-SCRUM笔记 SCRUM权威指南 SRCUM 方法与实践 微分享 图

赤山岛 343

Arduino安装图文教程:小白也能轻松上手

手把手带你完成Arduino安装全过程,无论你是编程新手还是硬件小白,都能快速搭建开发环境。结合arduino安装教程与实操步骤,避开常见错误,让创作即刻启程。

weixin_35509395的博客 1106

仿真学习系列(四十二):Sigrity仿真之走线阻抗和耦合检查

在高速电路设计中,走线的阻抗和信号线之间的耦合是影响信号完整性的重要因素。设计中可能会出现多种情况,导致阻抗变化或不匹配,例如线宽的变化、跨层分割等。传统的人工检查方法常常不够高效且易忽视细节。借助仿真软件,可以快速定位问题区域,并进行精确分析,从而有效避免或减少信号反射和串扰带来的影响。

案例文章,高速信号 423

有道云笔记蒋炜航:敏捷开发的实战经验

网易有道笔记负责人谈敏捷开发的实战经验:什么时候适合使用“敏捷开发”呢?我们的经验是需要两点:一、团队有三名或以上的研发工程师;二、团队内有一名合适的Scrum Master。   作者:蒋炜航,网易有道笔记负责人   注:名词详细解释见文末   有道云笔记团队成立于从2010年,从成立伊始我们就一直积极地在实践中尝试Scrum(敏捷开发的一种项目管理方法)的做法。到2012年底,3.0发布

依然风 | ios 1449

[PCIE5.0] 2.2.8.9 Optimized Buffer Flush/Fill (OBFF) Message

这段文字讲解的是 优化的缓冲区清空/填充(OBFF)消息,它是 PCI Express(PCIe)规范中的一个可选功能,用于向设备报告平台中央资源的状态。简单来说,OBFF 主要帮助设备了解当前平台资源(如缓存或内存)的状态,从而优化数据的处理和传输。这章重点内容如下。

系统固件工程师 538

学习笔记:深刻理解敏捷开发的四大价值观

敏捷宣言 预测型: 干系人在起始与结束阶段参与 计划驱动 迭代型:一次交付,提供全部功能,功能都是精益求精, 看重解决方案的完整性。 增量型:多次小规模交付,每次提供若干新功能,每次交付若干新功能(主体功能完善的产品),注重交付的速度。 敏捷型: 增加 + 迭代, 干系人频繁参与 价值驱动(客户认为最有价值的工作) 持续改进 项目章程(微章程) 频繁的创建计划 敏捷难以落地的主要原因: 要求干系人频繁参与 敏捷团队自组织、自管理,团队成员都要求为全栈。 领导与管理的区别 领导:靠的是影响力来感染他

西门大官人 3728

新能源汽车电机交流电流测量系统精度全链路分析

通过全链路误差建模与瓶颈分析,结合硬件选型优化与软件算法补偿,可将系统精度从4.2%提升至≤1% FS。本文所述方法论已应用于某800V电驱平台开发,实测电流控制精度达±0.8%,为高性能电机控制奠定基础。为例,深入剖析从互感器采集到CAN报文解析的全链路信号处理流程,揭示各环节误差来源及对最终精度的影响,为研发测试提供理论支撑。:±0.1%(电阻温漂与运放开环增益限制):运放增益带宽积(GBW)不足导致高频衰减。:±0.02%/℃(铁氧体材料温敏特性):±0.5%读数(磁芯饱和效应)

优快云-新能源汽车研发测试专业博主 1492

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

用户故事与敏捷方法笔记---其他话题

系列文章目录 上一篇 “Scrum与用户故事” 如有问题请留言 文章目录系列文章目录前言文章概览1. 处理非功能性需求2. 纸质还是软件3. 用户故事和用户界面4. 保留故事5. 缺陷的用户故事Finish 前言 讨论一些其他话题 处理非功能性需求。 团队应该使用纸质笔记卡还是软件工具。 用户故事在用户界面方面的影响。 在开发完成后,是否应该保留用户故事。 缺陷报表和故事之间的关系。 文章概览 1. 处理非功能性需求 常见的非功能性需求: 性能 准确性 可移植性 可重用性 可维护性 互

TD_博伟的博客 401

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

敏捷实践笔记

csdn文章:敏捷开发的六个实战经验. http://www.youkuaiyun.com/article/2013-12-09/2817746-6-practical-agile-techniques  简单总结下,六点是: 1. 快速迭代  版本发布周期缩短 可逼迫团队不断优化工作流程,提高效率,避免在无足轻重的地方浪费时间 2. 让测试人员和开发人员参与需求讨论 以讨论组形式讨论更有效率,

章鱼之家 1313

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

敏捷笔记【三】——《敏捷估计与规划》

估计和规划是重要的,但也是困难的和容易出错的。我们不能仅仅由于它很困难就不去做这些事。规划的目的是找到一个最佳答案,用于回答“要构架什么”这一产品开发的总体问题。这一答案综合了功能、资源和进度。优秀计划应该足够可靠,可以用作对该产品和项目进行决策的基础。敏捷规划更关注规划过程而不只是建立一个计划。它鼓励修改、产生易于修改的计划,并且延续到整个项目过程。 1.规划的目的 估计和规划并不仅仅是...

不畏惧被人讨厌而是勇往直前,不随波逐流而是激流勇进,这才是对人而言的自由。 1150

Agile Tour——敏捷,在厦门落地 笔记小结

今天去参加了“敏捷之旅”厦门站的活动,觉得敏捷这个想法挺有意思的,当然这是软件工程方面的东西,主要说的是在软件开发方面的一套理论。但是我觉得其中一些在团队管理方面还是会给人一些启发的,我对自己的笔记(不是很完整滴)进行了小小的总结,跟大家分享一下: 1.敏捷的几点要求: 不惧怕改变 尽早交付 面对面交流 简洁 自管理团队 2.敏捷的...

weixin_30785593的博客 176

敏捷软件开发:原则、模式与实践 第七至九章读书笔记

第七章 敏捷设计 拙劣设计的症状定义: 僵化性(Rigidity): 设计难以改变 对软件进行一个单一改动,却引发一系列有依赖关系模块的连锁改动 脆弱性(Fragility): 设计易于遭到破坏 对软件进行单一改动时,程序的许多其他地方就会出现问题 牢固性(Immobility): 设计难以重用 设计中包含了对其他系统有用的部分,但是把这部分从系统中分离出来代价和风险很大 粘滞性( Viscos...

文森猫的记录 614

学习敏捷学习笔记(一) 什么是敏捷?

什么是敏捷? 敏捷是指能够让团队思考更加有效、工作更为高效,并且做出更好决策的一组方法和相关理念。敏捷是一种思维模式。 敏捷软件开发宣言(Manifesto for Agile Software): 个体和互动高于流程和工具 可工作的软件高于详尽的文档 客户协作高于合同谈判 响应变化高于遵循计划 敏捷软件开发的12条原则: (1)最优先要做的尽早、持续地交付有价值的软件,让客户满意 (2)欣然面对...

悠然的笔记本 1474

敏捷转型行动笔记:内部敏捷教练实践

在敏捷转型的推进过程中,抓好内部敏捷教练的培养是敏捷转型成功的基本保证,也是敏捷转型的源源不断的动力所在。 《敏捷教练》一书的作者之一,瑞秋·戴维斯(Rachel Davies)对敏捷教练的观点: 概括地说,敏捷教练帮助团队在工作中应用敏捷实践,从而帮助团队发展的更健壮。接受这些变化需要时间,所以没法通过“点到即止”的方法立即让它们生效。你需要与团队长时间呆在一起,并帮他们,让他们更加关注工作流程、关注如何更有效地协作。你对团队的目标是在你离开后,让他们能“自我指导”并且擅长应用敏捷。这样不会限制敏捷教练

追求卓越 595

敏捷项目管理ACP解析会笔记

互联网时代企业环境现状: 产品生命周期急剧缩短 市场环境变化太快 客户不满意 客户、团队,产品 产品需求界定不清 什么是敏捷项目管理: 低成本、快速度、高质量、交付更高质量 敏捷宣言: 个体和交互,重于过程和工具 可工作的软件,重于面面俱到的文档 客户合作,重于谈判 相应变化,重于遵循计划 虽然右项也具有价值,但我们认为左项具有更大的价值。(宣言最重要的...

西洲 1万+

敏捷开发读书笔记

敏捷开发读书笔记 敏捷开发宣言 人和交互重于,过程和工具 可以工作的软件重于,面面俱到的文档 客户合作重于,合同谈判 随时应对变化重于,遵循计划 文档第一定律, 直到迫切需要并且意义重大时,才编制文档。 关于任务计划 好的做计划的策略是:为下一周做详细的计划,为下3个月做粗略的计划,再以后就做极为简略的计划。我们应该清楚地知道下周要完成的任务,粗略地了解一下以后3个月要实现的需求。至于系统一年后将要做什么,有一个模糊的想法就行了。 结对编程 代码都是由结对的程序员使用同...

sylucifer的博客 311

给学生进行有关敏捷研究的笔记

论文/论文写作的季节临近,所以我希望最近来自学生的一系列问题是众多问题中的第一个。 实际上,它们一年四季都在发生,但三月至九月是一个繁忙的时期。 因此,为了避免任何对敏捷有疑问的学生–我可以重复我的原始答案–这里是一些您可能首先要考虑的想法。 让我们从请求本身开始。 我和许多其他愚蠢的人撰写和撰写有关敏捷软件开发的博客,并从从事敏捷研究的学生那里收到大量电子邮件。 公平地说,我想提供...

danpu1174的博客 108
上一篇: web DB优化思路
下一篇: SOA业务理解与应用
serverxp
博客等级 码龄23年 31粉丝 36原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值