当前位置:文档之家› 对敏捷开发的一点理解

对敏捷开发的一点理解

对敏捷开发的一点理解
对敏捷开发的一点理解

对敏捷开发的一点理解

今天有人问到我,对敏捷开发是怎么理解的?一时不知道从何说起了,先来思考下面的问题。

问题:为什么会出现敏捷开发?

我刚开始工作的时候采用的瀑布模型,将软件生命周期划分为制定计划、需求分析、软件设计、程序编写、软件测试和运行维护等六个基本活动,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。

这种方式有什么缺点?

1.不适应用户需求变化,软件开发中用户需求发生变化真的太多了。

2.项目有风险,由于开发模型是线性的,用户只有等到整个过程的末期才能见到开发成果。

3.一个项目周期太长,就会不适应市场变化。

上面的缺点其实就是:开发出一个项目周期太长,不能跟上用户需求的变化。

在这个信息快速更替的时代,如果一个项目从策划到使用要一年的时间,估计当时提出的需求早变了。

如果你是给政府部门做项目做个一两年算正常情况,如果是做互联网产品,一年时间市场早就可能出现其他类似的产品。互联网要求的就是反应速度快,最先抢占市场。

敏捷开发是针对瀑布开发模式的弊端而产生的一种新的开发模式,迎合了用户需求经常变化,采取迭代开发、循序渐进的开发原则,目标是提高开发效率和响应速度。

敏捷开发主张简单,拥抱变化。不怕用户需求发生变化,第一个Sprint先开发用户核心模块,开发完成后马上拿给用户看,当用户看到可运行的软件就会知道是不是自己想要的,然后用户又会提出新的需求,第二个Sprint继续开发新功能。就这样一个Sprint一个Sprint的迭代开发,每个Sprint结束后用户进行确认,最终完成整个项目。

敏捷开发强调

1.开发团队与业务专家的紧密协作。

2.构建自组织团队和跨职能团队。

3.面对面的沟通胜过书面文档。

4.编写能够很好地适应需求变化的代码。

5.持续交付新版本软件。

半导体产业介绍

半导体整个生态链 主要分为:前端设计(design),后端制造(mfg)、封装测试(package),最后投向消费市场。 不同的厂商负责不同的阶段,环环相扣,最终将芯片集成到产品里,销售到用户手中。半导体厂商也分为2大类,一类是IDM (Integrated Design and Manufacture),包含设计、制造、封测全流程,如Intel、TI、Samsung这类公司;另外一类是Fabless,只负责设计,芯片加工制造、封测委托给专业的Foundry,如华为海思、展讯、高通、MTK(台湾联发科)等。 前端设计是整个芯片流程的“魂”,从承接客户需求开始,到规格、系统架构设计、方案设计,再到Coding、UT/IT/ST(软件测试UT:unit testing 单元测试IT: integration testing 集成测试ST:system testing 系统测试),提交网表(netlist或称连线表,是指用基础的逻辑门来描述数字电路连接情况的描述方式)做Floorplan,最终输出GDS(Graphics Dispaly System)交给Foundry做加工。由于不同的工艺Foundry提供的工艺lib库不同,负责前端设计的工程师要提前差不多半年,开始熟悉工艺库,尝试不同的Floorplan设计,才能输出Foundry想要的GDS。 后端制造是整个芯片流程的“本”,拿到GDS以后,像台积电,就是Foundry 厂商,开始光刻流程,一层层mask光刻,最终加工厂芯片裸Die。 封装测试是整个芯片流程的“尾”,台积电加工好的芯片是一颗颗裸Die,外面没有任何包装。从晶圆图片,就可以看到一个圆圆的金光闪闪的东西,上面横七竖八的划了很多线,切出了很多小方块,那个就是裸Die。裸Die是不能集成到手机里的,需要外面加封装,用金线把芯片和PCB板连接起来,这样芯片才能真正的工作。 台积电是目前Foundry中的老大,华为麒麟系列芯片一直与台积电合作,如麒麟950就是16nm FF+工艺第一波量产的SoC芯片。 半导体行业的公司具主要分为四类: 集成器件制造商IDM (Integrated Design and Manufacture):指不仅设计和销售微芯片,也运营自己的晶圆生产线。Intel,SAMSUNG(三星),东芝,ST(意法半导体),Infineon(英飞凌)和NXP(恩智浦半导体)。 无晶圆厂供应商Fabless:公司自己开发和销售半导体器件,但把芯片转包给独立的晶圆代工厂生产。例如:Altera(FPL),爱特(FPL),博通(网路器件),CirrusLogicCrystal(音频,视频芯片),莱迪思(FPL),英伟达(FPL),

敏捷开发流程(自己总结)

敏捷开发的相关简介 敏捷定义 Scrum是一个轻量级的软件开发方法 Scrum是一个敏捷开发框架,是一个增量的、迭代的开发过程。在这个框架中,整个开发周期包括若干个小的迭代周期,每个小的迭代周期称为一个Sprint,每个Sprint的建议长度2到4周。 在Scrum中,使用产品Backlog来管理产品或项目的需求,产品backlog 是一个按照商业价值排序的需求列表,列表条目的体现形式通常为用户故事。Scrum的开发团队总是先开发的是对客户具有较高价值的需求。在每个Sprint 中,Scrum开发团队从产品Backlog中挑选最有价值的需求进行开发。 Sprint中挑选的需求经过Sprint计划会议上的分析、讨论和估算得到一个Sprint的任务列表,我们称它为Sprint backlog 。在每个迭代结束时,Scrum 团队将交付潜在可交付的产品增量。 敏捷的原则 个体与交互胜过过程与工具 可以工作的软件胜过面面俱到的文档 客户协作胜过合同谈判 响应变化胜过遵循计划 这四句价值观用语句表达就是: 自组织团队与客户紧密协作,通过高度迭代式、增量式的软件开发过程响应变化,并在每次迭代结束时交付经过编码与测试的有价值的软件。 胜过

与客户确定合同后在初期制定并遵循基于活动的完整计划,在重型过程和工具指导下,通过完成大量文档进行知识传递,最后交付需求。 《敏捷宣言》12条原则 1.最优先的目标是通过尽早地、持续地交付有价值的软件来满足客户。 2.欢迎需求变化,甚至在开发后期。敏捷过程控制、利用变化帮助客户取得竞争优势。 3.频繁交付可用的软件,间隔从两周到两个月,偏爱更短的时间尺度。 4.在整个项目中业务人员和开发人员必须每天在一起工作。 5.以积极主动的员工为核心建立项目,给予他们所需的环境和支持,信任他们能够完成工作。 6.在开发团队内外传递信息最有效率和效果的方法是面对面的交流。 7.可用的软件是进展的主要度量指标。 8.敏捷过程提倡可持续发展。发起人、开发者和用户应始终保持稳定的步调。 9.简化——使必要的工作最小化的艺术——是关键。 10.持续关注技术上的精益求精和良好的设计以增强敏捷性。 11.最好的架构、需求和设计产生于自我组织的团队。 12.团队定期地对运作如何更加有效进行反思,并相应地调整、校正自己的行为。 敏捷的角色 1产品负责人 产品负责人(Product Owner)的职责如下: ?确定产品的功能。 ?决定发布的日期和发布内容。 ?为产品的ROI负责。 ?根据市场价值确定功能优先级。

半导体FAB里基本的常识简介

半导体F A B里基本的 常识简介精选文档 TTMS system office room 【TTMS16H-TTMS2A-TTMS8Q8-

CVD 晶圆制造厂非常昂贵的原因之一,是需要一个无尘室,为何需要无尘室 答:由于微小的粒子就能引起电子组件与电路的缺陷 何谓半导体? 答:半导体材料的电传特性介于良导体如金属(铜、铝,以及钨等)和绝缘和橡胶、塑料与干木头之间。最常用的半导体材料是硅及锗。半导体最重要的性质之一就是能够藉由一种叫做掺杂的步骤刻意加入某种杂质并应用电场来控制其之导电性。 常用的半导体材料为何 答:硅(Si)、锗(Ge)和砷化家(AsGa) 何谓VLSI 答:VLSI(Very Large Scale Integration)超大规模集成电路 在半导体工业中,作为绝缘层材料通常称什幺 答:介电质(Dielectric) 薄膜区机台主要的功能为何 答:沉积介电质层及金属层

何谓CVD(Chemical Vapor Dep.) 答:CVD是一种利用气态的化学源材料在晶圆表面产生化学沉积的制程CVD分那几种? 答:PE-CVD(电浆增强型)及Thermal-CVD(热耦式) 为什幺要用铝铜(AlCu)合金作导线? 答:良好的导体仅次于铜 介电材料的作用为何? 答:做为金属层之间的隔离 何谓PMD(Pre-Metal Dielectric) 答:称为金属沉积前的介电质层,其界于多晶硅与第一个金属层的介电质何谓IMD(Inter-Metal Dielectric) 答:金属层间介电质层。 何谓USG? 答:未掺杂的硅玻璃(Undoped Silicate Glass) 何谓FSG? 答:掺杂氟的硅玻璃(Fluorinated Silicate Glass)

敏捷开发理念

敏捷开发 人与人之间的交互是复杂的,并且其效果从来都是难以预期的,但却是工作中最重要的方面。 -- Tom DeMacro和Timothy Lister 敏捷软件开发宣言: n 个体和交互胜过过程和工具 n 可以工作的软件胜过面面俱到的文档 n 客户合作胜过合同谈判 n 响应变化胜过遵循计划 虽然右项也有价值,但是我们认为左项具有更大的价值。 敏捷宣言遵循的原则: n 我们最优先要做的是通过尽早的、持续的交付有价值的软件来使客户满意。 n 即使到了开发的后期,也欢迎改变需求。敏捷过程利用变化来为客户创造竞争优势。 n 经常性地交付可以工作的软件,交付的间隔可以从几个星期到几个月,交付的时间间隔越短越好。 n 在整个项目开发期间,业务人员和开发人员必须天天都在一起工作。 n 围绕被激励起来的个体来构建项目。给他们提供所需的环境和支持,并且信任他们能够完成工作。 n 在团队内部,最具有效果并富有效率的传递信息的方法,就是面对面的交谈。 n 工作的软件是首要的进度度量标准。 n 敏捷过程提倡可持续的开发速度。责任人、开发者和用户应该能够保持一个长期的、恒定的开发速度。 n 不断地关注优秀的技能和好的设计会增强敏捷能力。 n 简单是最根本的。 n 最好的构架、需求和设计出于自组织团队。 n 每隔一定时间,团队会在如何才能更有效地工作方面进行反省,然后相应地对自己的行为进行调整。 当软件开发需求的变化而变化时,软件设计会出现坏味道,当软件中出现下面任何一种气味时,表明软件正在腐化。 n 僵化性:很难对系统进行改动,因为每个改动都会迫使许多对系统其他部分的其它改动。 n 脆弱性:对系统的改动会导致系统中和改动的地方在概念上无关的许多地方出现问题。 n 牢固性:很难解开系统的纠结,使之成为一些可在其他系统中重用的组件。 n 粘滞性:做正确的事情比做错误的事情要困难。 n 不必要的复杂性:设计中包含有不具任何直接好处的基础结构。 n 不必要的重复性:设计中包含有重复的结构,而该重复的结构本可以使用单一的抽象进行统一。 n 晦涩性:很难阅读、理解。没有很好地表现出意图。 敏捷团队依靠变化来获取活力。团队几乎不进行预先设计,因此,不需要一个成熟的初始设计。他们更愿意保持设计尽可能的干净、简单,并使用许多单元测试和验收测试作为支援。这保持了设计的灵活性、易于理解性。团队利用这种灵活性,持续地改进设计,以便于每次迭代结束生成的系统都具有最适合于那次迭代中需求的设计。 为了改变上面软件设计中的腐化味,敏捷开发采取了以下面向对象的设计原则来加以避

浅谈敏捷项目管理在软件开发中的应用

浅谈敏捷项目管理在软件开发中的应用 摘要:本文先介绍了使用传统项目管理技术管理软件开发项目的方法,然后介绍了使用敏捷项目管理的初步实践,通过两者比较,提出了使用敏捷项目管理进行软件开发的方法。 一、使用传统项目管理技术管理软件开发项目的方法 按照《人月神话》的说法,软件开发是个焦油坑,书店里关于软件开发管理的书籍林良满目,各个软件开发组织也在尝试和应用不同的软件开发管理办法,希望寻找到“软件开发的银弹”。 在软件开发管理中,引入项目管理的办法,已经得到广大软件开发管理人员的一致认同,但对于具体实施何种项目管理办法,各个软件开发组织都有不同的答案,更多的迷茫,因为引入的项目管理办法不能从根本上解决软件开发项目面临的进度拖后、费用超支等问题,软件开发的银弹到底在哪里? 以下是笔者对国内软件开发组织不同项目管理成熟度的归纳和总结,大概可以分如下几类;1)小作坊、混沌形的,这样的组织还处在接单求生存的阶段,管理者还根本没有项目的意识,以满足客户需求、定制开发和回款为第一要务;2)尝试按照项目管理的思路与方法管理软件开发项目,但发现推

行困难,不得要领,目前很多中小型的软件开发组织都处于这个阶段;3)大型的软件企业,已经通过CMM|ISO认证、有足够的资源做保障,实行规范的项目管理做法,如一些软件外包工厂。 本文主要讲述处于第二个层次的软件开发组织的项目管理问题。软件开发项目管理涉及非常多的内容,从软件开发本身的业务出发,有需求管理、变更控制、配置管理、测试管理、系统分析与设计等;从项目管理的知识领域角度,有范围管理、时间管理、沟通管理、人力资源管理等内容。 按照传统的经典项目管理方法,通过一定的项目管理模板与IT工具,总结多个项目的经验,笔者总结有如下经典步骤来完成项目管理的计划编制与进度控制过程: 计划编制的经典步骤: ①建立企业和项目资源库:这个是进行项目管理的基础工作。 ②设置项目日历、资源日历。 ③设置项目的主要里程碑点。 ④在WBS(工作包)下列出工作清单(Task,Activity)。工作分解结构(WBS)和作业是进行项目范围管理的途径。 ⑤对每个Task估计工期。 ⑥连接每个Task间的逻辑关系(SS,FS,FS,FF,延时)。

半导体FAB里基本的常识简介

CVD 晶圆制造厂非常昂贵的原因之一,是需要一个无尘室,为何需要无尘室 答:由于微小的粒子就能引起电子组件与电路的缺陷 何谓半导体?; I* s# N* v8 Y! H3 a8 q4 a1 R0 \- W 答:半导体材料的电传特性介于良导体如金属(铜、铝,以及钨等)和绝缘和橡胶、塑料与干木头之间。最常用的半导体材料是硅及锗。半导体最重要的性质之一就是能够藉由一种叫做掺杂的步骤刻意加入某种杂质并应用电场来控制其之导电性。 常用的半导体材料为何' u* k9 `+ D1 v1 U# f5 [7 G 答:硅(Si)、锗(Ge)和砷化家(AsGa): j* z$ X0 w& E4 B3 m. M( N( _; o4 D 何谓VLSI' b5 w; M# }; b; @; \8 g3 P. G 答:VLSI(Very Large Scale Integration)超大规模集成电路5 E3 U8 @- t& \ t9 x5 L4 K% _2 f 在半导体工业中,作为绝缘层材料通常称什幺0 r7 i, `/ G1 P! U" w! I 答:介电质(Dielectric). w- j" @9 Y2 {0 L0 f w 薄膜区机台主要的功能为何 答:沉积介电质层及金属层 何谓CVD(Chemical Vapor Dep.) 答:CVD是一种利用气态的化学源材料在晶圆表面产生化学沉积的制程 CVD分那几种? 答:PE-CVD(电浆增强型)及Thermal-CVD(热耦式) 为什幺要用铝铜(AlCu)合金作导线?4 Z* y3 A, G f+ z X* Y5 ? 答:良好的导体仅次于铜 介电材料的作用为何?% Y/ W) h' S6 J, l$ i5 B; f9 [ 答:做为金属层之间的隔离 何谓PMD(Pre-Metal Dielectric) 答:称为金属沉积前的介电质层,其界于多晶硅与第一个金属层的介电质5 |3 X. M$ o; T8 Y, N7 l5 q+ b 何谓IMD(Inter-Metal Dielectric)9 u9 j4 F1 U! Q/ ?" j% y7 O/ Q" m; N, b 答:金属层间介电质层。1 X8 g' q a0 h3 k4 r" X$ l. l 何谓USG? 答:未掺杂的硅玻璃(Undoped Silicate Glass): u0 F0 d! A M+ U( w/ Q 何谓FSG? 答:掺杂氟的硅玻璃(Fluorinated Silicate Glass) 何谓BPSG?& ~- I3 f8 i( Y! M) q, U 答:掺杂硼磷的硅玻璃(Borophosphosilicate glass)6 f/ g4 U& D/ }5 W 何谓TEOS? 答:Tetraethoxysilane用途为沉积二氧化硅 TEOS在常温时是以何种形态存在? 答:液体" q) ]0 H- @9 p7 C8 P; D8 Y. P) X 二氧化硅其K值为3.9表示何义( Y! @1 J! X+ P; b* _$ g 答:表示二氧化硅的介电质常数为真空的3.9倍6 H9 v' O5 U U" R9 w! o$ ` 氟在CVD的工艺上,有何应用 答:作为清洁反应室(Chamber)用之化学气体4 Z& Z5 a* E6 m+ F 简述Endpoint detector之作用原理.6 [2 d$ j" l7 p4 V. f 答:clean制程时,利用生成物或反应物浓度的变化,因其特定波长光线被detector 侦测

主流敏捷开发方法:Scrum 基础知识解释

Scrum概述Scrum

回归 Scrum 的英文含义:把开发就搞成一堆人在合力拼抢,把功能分成小块,快速开发和迭代。实践框架 Scrum为软件开发管理只定义了一个高层次的、易于操作与遵循的非常小的实践集,Scrum避免了说软件团队应该如何开发软件,它坚持认为:人们在自己的工作中和处理问题时,应该像一个成熟的成年人一样,因此它并不涉及具体的软件开发技术和人员沟通、期望管理、问题冲突等管理技能,这些都需要其他相关理论和技能来补充。另外,如同其他项目一样,需要软件团队在其业务领域的专业能力来确保软件项目的成功。 Scrum价值观 1. 承诺- 愿意对目标做出承诺 2. 专注– 把你的心思和能力都用到你承诺的工作上去 3. 开放– Scrum 把项目中的一切开放给每个人看 4. 尊重– 每个人都有他独特的背景和经验 5. 勇气– 有勇气做出承诺,履行承诺,接受别人的尊重 以上价值观和敏捷宣言相互呼应,很多人都会忽略这些核心价值和核心思想,而是追求Scrum的一套开发流程或者开发框架。但流程框架这些都只是一个规范,不是每个团队都能直接硬套上去使用。需要有一定的调整,甚至结合其他开发方法一起使用,没有领悟敏捷开发思想是没有办法灵活使用Scrum的。 Scrum角色 Product Owner(产品负责人): 主要负责确定产品的功能和达到要求的标准,指定软件的发布日期和交付的内容,同时有权力接受或拒绝开发团队的工作成果。 Scrum Master(流程管理员): 主要负责整个Scrum流程在项目中的顺利实施和进行,以及清除挡在客户和开发工作之间的沟通障碍,使得客户可以直接驱动开发。 Development Team(开发团队): 主要负责软件产品在Scrum规定流程下进行开发工作,人数控制在5~10人左右,每个成员可能负责

敏捷开发大会总结

敏捷开发大会总结 2012年9月18日星期二 9月份的12日下午、13、14两天,参加了第七届敏捷开发大会,虽然自己没有做过敏捷项目,但因为现在“敏捷”是流行词,想看看自己公司的项目能不能用,所以就拿着领导的大洋,风风火火的参会去了,接受各位牛人的轮番知识轰炸。 Neal Ford :Agile Architecture & Design 总觉得演讲的内容与题目不太相符,在讲主要内容之前,引用了很多名人名言,比如戴明的“坏的流程会打击好员工的积极性”,泰勒的科学管理理论等,之后,主要讲了4部分内容: 1、沟通的重要性,每个团队都要找到适合自己的沟通方式,面对面的 沟通时,站在白板前,语言+文字的沟通可能是最好的。 沟通一定要有反馈,比如敏捷中可能有即时的反馈,每天的反馈, 每周的反馈等等。 2、为什么结对编程有效 这个最主要的论据是一个人很难同时使用左大脑和右大脑,而结对 编程则可以分工,达到同时使用的目的。 3、反馈与沟通如何结合 这部分,讲的是具体的实践,比如在构建的时候放一点歌,在办公 室里边放玩偶,在工作中创造乐趣等。 4、为什么敏捷开发是有效的 因为沟通是闭环的,沟通是高效的,工作是快乐的,所以敏捷开发 是有效的。 回答的提问: Q1:结对编程时,对人员水平有要求吗? A1:要尽可能水平相近,以提高生产力为目标 Q2:是否要保持结对的稳定? A2:最好1~2天换一次,以保持信息的可传承行 Q3:如果是异地,可以形成结对吗? A3:尽可能在本地,可以以互相出差的方式形成本地结对。

王红超:大规模敏捷转型 主要讲的是华为如何开展敏捷转型工作的,听完之后的第一感觉是:“有钱真好”! 华为是以“业务目标达成”为导向推荐的敏捷,并且把敏捷提高到了战略的高度,在这过程中请了很多业界的牛人做自诩和辅导。 华为的敏捷转型,简单来说可以分为两步: 第一步:统一对敏捷的认识 敏捷= 理念+ 优秀实践+ 具体应用,其中,理念指的是敏捷的核心思想,优秀实践指的是经验的积累,而具体应用,指的是能够结合自身灵活应用才是真正的敏捷。 在敏捷中,领导的作用是“激发”团队,而成员是全方位的积极参与者。 第二步:建立敏捷开展辅导队伍 建立公司级和产品线级两级敏捷教练体系,引进几乎业界所有的顾问。采用开展日常培训、讲座等等;每年组织年度软件工程大会进行优秀实践的分享;建立内部交流社区等方式促进内部沟通。 华为在引入敏捷的过程中,也遇到的很多问题,比如新员工大量进入对原来团队的冲击,能力的稀释;研发过载,需要面对交付压力、能力不足、沉重的技术债务等。 最后的总结是,引入敏捷,一定要务实、理性。 RitchardMarkelz:Global Agile Strategy 主要讲了敏捷中的领导力及创新,还有为什么要用敏捷。 敏捷中的领导力主要体现在,把团队看成整体而不是层级,在组织中创建授权,把优秀领导从合格领导中区分出来。讲焦点集中在优秀实践和成功模式上,采用激励式询问方式,如什么事我们做的好的,什么是有效的。 使用敏捷的一个很重要的原因是:客户时敏捷的,客户关心的是如何快速解决问题,因此灵活性和适应性才是其中的关键。 回答的提问: Q:敏捷方式中,计划怎么做? A:分层,更高层的做传统的计划,不具体到细节。 荣浩:百年历史看管理 不得不说,荣浩真的是才子,将管理的历史帮我们梳理的简单而清楚,把这些人和事都按照顺序列出来的话,应该就能理清大概的思路了。 亚当·斯密、泰勒、亨利·福特、法约尔、韦伯;摩登时代、霍桑实验;休

敏捷开发流程详解

敏捷开发流程详解by yangdl 1敏捷开发流程 ?敏捷软件开发核心是迭代式开发,增量交付。 ?每一次迭代都建立在稳定的质量基础上,并作为下一轮迭代的基线,整个系统的功能随着迭代稳定地增长和不断完善。每次迭代要邀请用户代表(外部或内部)验收,提供需求是否满足的反馈。 ?迭代型的方法就是将整个软件生命周期分成多个小的迭代,每一次迭代都由需求分析、设计、实现和测试在内的多个活动组成,每一次迭代都可以生成一个稳定和被验证过的软件版本。 ?迭代建议采用固定的周期(1-4)周,可以每个迭代周期不一定要相同,但迭代内工作不能完成,应该缩减交付范围而不是延长周期。 1.1敏捷流程详解图-敏捷流程图 1.2敏捷流程三种角色及其职责

1.3敏捷开发流程详解 1.3.1流程图详解步骤 1.制定产品需求列表 ?PO收集来自客户、市场、领导等渠道的信息,从业务角度和市场价值编制一份按优先级排序的、明确的、可度量的、合理的产品需求列表; 2.召开计划会议 ?PO召集TM和SM(也可邀请其他利益相关者参加)召开计划会议(发布计划会议和冲刺会议一块开),发布计划主要是说明产品完整交付给客户的计划时间和交付物, ?冲刺计划就是确定该冲刺阶的长度(建议冲刺长度1-4周)、目标和冲刺任务单及其工作量估算

(以理想人天manday=7.5h估算,单位为小时计算),会议时间建议不要超过6h时间; ?在计划会议上就需要进行确认,是否需要使用持续集成;若使用持续集成,团队需要每天下班前至少提交一次私有构建成功的代码到服务器,并且要求写详细的日志信息;若不使用持续集 成,团队每天有完成任务单的情况,都需要在svn上以增量形式发包并通知到相关人员; ?项目计划会议上可以确定每天站立会时间及其规则要求(建议会议时间在15-20分钟左右),每个人回答3个问题:昨天做了什么,遇到什么问题,今天要做什么。具体问题讨论及其解决, 在私下进行沟通,不要在会议上讨论。站立会上只有TM人员有发言权,其他人员不要干预,SM 主要是维护秩序、规则及其引导作用。 3.需求分析、设计、编码和测试: ?计划会议结束后,TM获取各自的冲刺任务单进行后面的需求分析、设计、编码和测试; ?这里特别要说明的是,开发和测试是并行工作,必要的文档还是需要输出(如:讨论次数较多的功能点、备选方案很多但最后确认一种、重要功能、业务逻辑复杂的等等)。具体情况,需要 项目组根据实际情况决定,但客户要求交付的文档必须要输出; 4.冲刺任务单和燃尽图更新 每天SM需要根据每日站立会上TM反馈的情况,进行更新冲刺任务单和燃尽图或SM和TM之间达成共识,TM各自完成后进行更改状态,这里涉及到的文档都会有相对应的模板供参考使用。 5.迭代周期结束点 ?已到迭代周期结束点,只有哪些经过测试通过的冲刺需求列表才能算是真正的完成,其他未经过测试或测试不通过的不能算是完成。 ?这里要特别注意,所谓的测试通过不是说要把所有的问题都解决才算是通过,这个要根据项目具体的要求和规定来定。还没有达到迭代结束点,该冲刺任务需求列表就完成,可以从产品需 求列表中挑选优先级高的进行开发。 6.冲刺评审会议 ?TM需要召开冲刺评审会议,邀请PO、客户或客户代表来参加,由这些客户或客户代表来表决是否满足需求和期望目标。一般会议时间建议不要超过2个小时,参加人员除PO及其相关利益 人来参加外,TM全体成员,也可以邀请其他相关人员参加。 7.冲刺回顾会议 ?迭代输出的增量交付可能会引起原产品需求列表的改变,可能需要更新原产品需求列表;最后TM需要开展本次迭代的好的实践和不足的改进机会,最终稿由SM整理汇总,作为下一次的迭 代的经验参考。回顾会议建议时间不用太长,一般15-30分钟即可,全体人员都需要参加,包括:

半导体制造基本概念

半导体制造基本概念 晶圆(Wafer) 晶圆(Wafer)的生产由砂即(二氧化硅)开始,经由电弧炉的提炼还原成冶炼级的硅,再经由盐酸氯化,产生三氯化硅,经蒸馏纯化后,透过慢速分解过程,制成棒状或粒状的「多晶硅」。一般晶圆制造厂,将多晶硅融解后,再利用硅晶种慢慢拉出单晶硅晶棒。一支85公分长,重76.6公斤的8?? 硅晶棒,约需2天半时间长成。经研磨、??光、切片后,即成半导体之原料晶圆片。 光学显影 光学显影是在光阻上经过曝光和显影的程序,把光罩上的图形转换到光阻 下面的薄膜层或硅晶上。光学显影主要包含了光阻涂布、烘烤、光罩对准、曝光和显影等程序。小尺寸之显像分辨率,更在IC 制程的进步上,扮演着最关键的角色。由于光学上的需要,此段制程之照明采用偏黄色的可见光。因此俗称此区为黄光区。 干式蚀刻技术 在半导体的制程中,蚀刻被用来将某种材质自晶圆表面上移除。干式蚀刻(又称为电浆蚀刻)是目前最常用的蚀刻方式,其以气体作为主要的蚀刻媒介,并藉由电浆能量来驱动反应。 电浆对蚀刻制程有物理性与化学性两方面的影响。首先,电浆会将蚀刻气体分子分解,产生能够快速蚀去材料的高活性分子。此外,电浆也会把这些化学成份离子化,使其带有电荷。 晶圆系置于带负电的阴极之上,因此当带正电荷的离子被阴极吸引并加速向阴极方向前进时,会以垂直角度撞击到晶圆表面。芯片制造商即是运用此特性来获得绝佳的垂直蚀刻,而后者也是干式蚀刻的重要角色。 基本上,随着所欲去除的材质与所使用的蚀刻化学物质之不同,蚀刻由下列两种模式单独或混会进行:

1. 电浆内部所产生的活性反应离子与自由基在撞击晶圆表面后,将与某特定成份之表面材质起化学反应而使之气化。如此即可将表面材质移出晶圆表面,并透过抽气动作将其排出。 2. 电浆离子可因加速而具有足够的动能来扯断薄膜的化学键,进而将晶圆表面材质分子一个个的打击或溅击(sputtering)出来。 化学气相沉积技术 化学气相沉积是制造微电子组件时,被用来沉积出某种薄膜(film)的技术,所沉积出的薄膜可能是介电材料(绝缘体)(dielectrics)、导体、或半导体。在进行化学气相沉积制程时,包含有被沉积材料之原子的气体,会被导入受到严密控制的制程反应室内。当这些原子在受热的昌圆表面上起化学反应时,会在晶圆表面产生一层固态薄膜。而此一化学反应通常必须使用单一或多种能量源(例如热能或无线电频率功率)。 CVD制程产生的薄膜厚度从低于0.5微米到数微米都有,不过最重要的是其厚度都必须足够均匀。较为常见的CVD薄膜包括有: ■二气化硅(通常直接称为氧化层) ■氮化硅 ■多晶硅 ■耐火金属与这类金属之其硅化物 可作为半导体组件绝缘体的二氧化硅薄膜与电浆氮化物介电层(plasmas nitride dielectrics)是目前CVD技术最广泛的应用。这类薄膜材料可以在芯片内部构成三种主要的介质薄膜:内层介电层(ILD)、内金属介电层(IMD)、以及保护层。此外、金层化学气相沉积(包括钨、铝、氮化钛、以及其它金属等)也是一种热门的CVD应用。 物理气相沉积技术 如其名称所示,物理气相沉积(Physical Vapor Deposition)主要是一种物理制程而非化学制程。此技术一般使用氩等钝气,藉由在高真空中将氩离子加速以撞击溅镀靶材后,可将靶材原子一个个溅击出来,并使被溅击出来的材质(通常为铝、钛或其合金)如雪片般沉积在晶圆表面。制程反应室内部的高温与高真空环境,可使这些金属原子结成晶粒,再透过微影图案化(patterned)与蚀刻,来得到半导体组件所要的导电电路。 解离金属电浆(IMP)物理气相沉积技术

经典入门-敏捷开发

主要的敏捷方法 SCRUM Scrum是一个敏捷开发框架,它由一个开发过程,几种角色以及一套规范的实施方法组成。它可以被运用于软件开发,项目维护,也可以被用来作为一种管理敏捷项目的框架。 在Scrum中,产品需求被定义为产品需求积压(product backlogs)。产品需求积压可以是用户案例,独立的功能描述,技术要求等。所有的产品需求积压都是从一个简单的想法开始,并逐步被细化,直到可以被开发的程度。 Scrum将开发过程分为多个Sprint周期,每个Sprint代表一个2-4周的开发周期,有固定的时间长度。首先,产品需求被分成不同的产品需求积压条目。然后,在Sprint计划会议(Sprint planning meeting)上,最重要或者是最具价值的产品需求积压被优先安排到下一个Sprint周期中。同时,在Sprint计划会上,将会预先估计所有已经分配到Sprint周期中的产品需求积压的工作量,并对每个条目进行设计和任务分配。在Sprint开发过程中,每天开发团队都会进行一次简短的Scrum会议(Daily Scrum Meeting)。会议上,每个团队成员需要汇报各自的进展情况,同时提出目前遇到的各种障碍。每个Sprint周期结束后,都会有一个可以被使用的系统交付给客户,并进行Sprint审查会议(Sprint review meeting)。审查会上,开发团队将会向客户或最终用户演示新的系统功能。同时,客户会提出意见以及一些需求变化。这些可以以新的产品需求积压的形式保留下来,并在随后的Sprint周期中得以实现。Sprint回顾会随后会总结上次Sprint周期中有哪些不足需要改进,以及有哪些值得肯定的方面。最后整个过程将从头开始,开始一个新的Sprint计划会议。 Scrum定义了4种主要的角色: ·产品拥有者(Product Owner):该角色负责产品的远景规划,平衡所有利益相关者(stakeholder)的利益,确定不同的产品需求积压的优先级等。它是开发团队和客户或最终用户之间的联络点。 ·利益相关者(Stakeholder):该角色与产品之间有直接或间接的利益关系,通常是客户或最终用户代表。他们负责收集编写产品需求,审查项目成果等。 ·Scrum专家(Scrum Master):Scrum专家负责指导开发团队进行Scrum开发与实践。它也是开发团队与产品拥有者之间交流的联络点。 ·团队成员(Team Member):即项目开发人员。 Scrum提供一个敏捷开发框架,其他许多敏捷方法都可以被集成到Scrum中。比如测试驱动开发(test-driven development)和结对编程(pair programming)等都可以被整合到Scrum中。 精益开发(LEAN DEVELOPMENT) 精益软件开发模式是从丰田公司的产品开发方法中演化而来。它主要包括两个部分:一部分是核心思想及原则,另外一部分由一些在相应的工具构成。 精益开发的核心思想是查明和消除浪费。在软件开发过程中,错误(bugs),没用的功能,等待以及其他任何对实现结果没有益处的东西都是浪费。浪费及其源头必须被分析查明,然后设法消除。 精益开发的其它原则包括:·强调学习。软件开发过程是一个不断学习的过程。每个团队成员都需要从日常的失败,互动,交流以及信息反馈中学习,不断改进所开发的产品和开发效率。·在最后时刻做决定。这样可以避免在可能改变的事情上做无谓的努力,从而有效的避免浪费。 ·用最快的速度交付用户。较短的迭代周期能够加速产品的开发及交付,加快交流,提高生产力。 ·给团队自主权。激励团队并让所有团队成员自我管理始终是所有敏捷方法获得成功的基本因素之一。

半导体厂GAS系统基础知识解读

GAS 系 统 基 础 知 识

概述 HOOK-UP专业认知 一、厂务系统HOOK UP定义 HOOK UP 乃是藉由连接以传输UTILITIES使机台达到预期的功能。HOOK UP是将厂务提供的UTILITIES ( 如水,电,气,化学品等),经由预留之UTILITIES连接点( PORT OR STICK),藉由管路及电缆线连接至机台及其附属设备( SUBUNITS)。 机台使用这些UTILITIES,达成其所被付予的制程需求并将机台使用后,所产生之可回收水或废弃物( 如废水,废气等),经由管路连接至系统预留接点,再传送到厂务回收系统或废水废气处理系统。HOOK UP 项目主要包括∶CAD,MOVE IN ,CORE DRILL,SEISMIC ,VACUU,GAS,CHEMICAL, D.I ,PCW,CW,EXHAUST,ELECTRIC, DRAIN. 二、GAS HOOK-UP专业知识的基本认识 在半导体厂,所谓气体管路的Hook-up(配管衔接)以Buck Gas (一般性气体如CDA、GN2、PN2、PO2、PHE、PAR、H2等)而言,自供气源之气体存贮槽出口点经主管线(Main Piping)至次主管线(Sub-Main Piping)之Take Off点称为一次配(SP1

Hook-up),自Take Off出口点至机台(Tool)或设备(Equipment)的入口点,谓之二次配(SP2 Hook-up)。以Specialty Gas(特殊性气体如:腐蚀性、毒性、易燃性、加热气体等之气体)而言其供气源为气柜(Gas Cabinet)。自G/C出口点至VMB(Valve Mainfold Box.多功能阀箱)或VMP(Valve Mainfold Panel多功能阀盘)之一次测(Primary)入口点,称为一次配(SP1 Hook-up),由VMB或VMP Stick之二次侧(Secondary)出口点至机台入口点谓之二次配(SP2 Hook-up)。

敏捷软件开发

敏捷软件开发:SRP单一职责原则 (2009-03-24 20:30:24) 转载 标签: it 这条原则实际就是体现内聚性原则的体现,一个模块的组成元素之间的功能相关性。把内聚性概念扩展一下:把内聚性和引起一个模块或者类改变的作用力联系起来。 一个类应该只有一个发生变化的原因。若Game类有2个不同的职责,一个是记录当前轮,另一个式计算分数,最后要把这两个职责分离到两个类中。为何把这两个职责分在单独的类中呢?因为每个职责都是变化的一个轴线,当需求变化会反映为类的职责的变化。如果一个类承担了多于一个职责,那么引起它变化的原因就会有多个。 如果一个类承担的职责太多,就等于把这些职责耦合在一起了。一个职责的变化可能会削弱或抑制这个类完成其他职责的能力,这种耦合或导致脆弱的设计,当变化发生时,设计会遭受到预想不到的破坏。 定义职责:如果你能够想到多于一个的动机去改变一个类,那么这个类就具有多于一个的职责,有时候我们很难注意到这点,我们习惯以组的形式去考虑职责。 public interface Modem{ public void Dial(String pno); public void Handup(); public void Send(char c); public char Recv(); } 接口包括了2个职责,第一个职责是连接管理,第二个职责是数据通信。 如果应用程序的变化方式总是导致这两个职责同时变化,那么就不要分离他们,分开他们就会有不必要的复杂性味道。仅当变化发生时,变化的轴线才有实际意义,如果没有征兆,那么应用SRP或者任何其他原则都是比明智的。 分离耦合的职责:经常会有一些和硬件或者操作系统的细节有关的原因,迫使我们把不愿意耦合在一起的东西欧和在一起了。然而,对于应用的其余部分来说,通过分离他们的接口我们已经解耦概念。 如果ModenImplementation implemet DataChannel,Conection。ModenImplementation看起来是一个混杂物,或者有缺陷的类,所有的依赖关系都是从它发出来的。谁都不需要依赖它,谁都不需要知道它的存在。因此,我们已经把丑陋的部分隐藏起来了。其丑陋性不会泄露出来,污染应用程序的其它部分。 持久化:如Emplyee:CalculatePay,Store,Emplyee类包括了业务规则和对于持久化的控制,这两个职责在大多数情况下绝不应该混合在一起。业务规则往往会频繁地变化,而持久化的方式却不会如此频繁的变化,并且变化的原因也不一样。把持久化系统和业务规则绑定在一起是自讨苦吃的做法。如果发现这种情况存在了,应该使用FACADE、dao或者proxy模式对设计进行重构,分离这两个原则。 SRP是所有原则中最简单的原则之一,也是最难正确运用的原则之一。

关于敏捷开发的26个心得

关于敏捷开发的26个心得 敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。在敏 捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。 ■用例一完全能够运行后再开发用例二。厨房里有一种说法正好可以印证这个问题:“做好一盘菜后你再做下一盘”.对于软件开发来说一个最大的问题就是人们喜欢并行 开发多个任务。因为不可避免的,我们设计的功能中总会有一部分会被放弃砍掉,如 果提前开发,很可能做无用功。一次只开发一个用例(或很少几个用例,这根据你的 开发团队的大小而定);让这个用例功能完整;让相应的测试用例都能通过;相应的 文稳都补齐;只有在当前的用例完全开发完成后,才做为一个整体提交到版本库,才 进行下一个用例。 ■避免提交一个半成品。这一点大家似乎都知道,但这条原则必须列入任何一个开发指导里。能够听取这些忠告进行开发测试然后提交代码的程序员一定不会发生代码提交 到版本库使整个项目无法编译码通过情况。如果系统编译失败,那一定是有人抄近道 到了。 ■不要在还没有任何使用案例的情况下设计通用模块。只有在你知道有具体用例的情况下,你才可以实现一个具体的类,而且你在该类中只应该实现当前该用例需要的方法。你也许会想到将来这个类会有其它的用途,你可以用注释的方式记录一下,但不要去 实现它,只有在有了具体用例后你才可以实现它。 ■一定不要在没有使用例的情况下往类里添加成员方法。这跟上面一条极其相似,除了这里针对的是数据成员。开发人员很容易想到:一个…客户记录?里应该有…送货地址?的 信息,但一定不要在没有任何用例要求这个属性的时候实现这个属性。■不要害怕做决定;不要害怕改变以前的决定。敏捷开发的目的是应对客户需求的不确定。开发前期 你不可能获到全部的信息。你应该尽可能的拖延做决定的时间,但一旦到了你该做决 定的时候,你应该当机立断,让项目向前推进。你不能说一直等到有了足够的信息才 做决定。相反,你要依赖现有的信息作出最正确们决定。之后,当有新的信息出现后,

第一章半导体基础知识(精)

第一章半导体基础知识 〖本章主要内容〗 本章重点讲述半导体器件的结构原理、外特性、主要参数及其物理意义,工作状态或工作区的分析。 首先介绍构成PN结的半导体材料、PN结的形成及其特点。其后介绍二极管、稳压管的伏安特性、电路模型和主要参数以及应用举例。然后介绍两种三极管(BJT和FET)的结构原理、伏安特性、主要参数以及工作区的判断分析方法。〖本章学时分配〗 本章分为4讲,每讲2学时。 第一讲常用半导体器件 一、主要内容 1、半导体及其导电性能 根据物体的导电能力的不同,电工材料可分为三类:导体、半导体和绝缘体。半导体可以定义为导电性能介于导体和绝缘体之间的电工材料,半导体的电阻率为10-3~10-9 cm。典型的半导体有硅Si和锗Ge以及砷化镓GaAs等。半导体的导电能力在不同的条件下有很大的差别:当受外界热和光的作用时,它的导电能力明显变化;往纯净的半导体中掺入某些特定的杂质元素时,会使它的导电能力具有可控性;这些特殊的性质决定了半导体可以制成各种器件。 2、本征半导体的结构及其导电性能 本征半导体是纯净的、没有结构缺陷的半导体单晶。制造半导体器件的半导体材料的纯度要达到99.9999999%,常称为“九个9”,它在物理结构上为共价键、呈单晶体形态。在热力学温度零度和没有外界激发时,本征半导体不导电。 3、半导体的本征激发与复合现象 当导体处于热力学温度0 K时,导体中没有自由电子。当温度升高或受到光的照射时,价电子能量增高,有的价电子可以挣脱原子核的束缚而参与导电,成为自由电子。这一现象称为本征激发(也称热激发)。因热激发而出现的自由电子和空穴是同时成对出现的,称为电子空穴对。 游离的部分自由电子也可能回到空穴中去,称为复合。 在一定温度下本征激发和复合会达到动态平衡,此时,载流子浓度一定,且自由电子数和空穴数相等。 4、半导体的导电机理 自由电子的定向运动形成了电子电流,空穴的定向运动也可形成空穴电流,因此,在半导体中有自由电子和空穴两种承载电流的粒子(即载流子),这是半导体的特殊性质。空穴导电的实质是:相邻原子中的价电子(共价键中的束缚电子)依次填补空穴而形成电流。由于电子带负电,而电子的运动与空穴的运动方向相反,因此认为空穴带正电。

Scrum敏捷软件开发过程

Scrum敏捷软件开发过程 目录 ?什么是敏捷软件开发? ?敏捷方法的项目计划 ?敏捷项目管理和传统项目管理 ?为什么使用敏捷? ?Scrum概述 ?Scrum的角色 ?Scrum实践和工作产品 ?敏捷开发中的估计方法 ?测试驱动开发 ?Scrum应用 ?支持工具和模版 ?一些常见的误解 敏捷开发方法 什么是敏捷软件开发? ?敏捷软件开发是软件项目的一个概念框架. ?有许多建立在敏捷概念上的方法,如Scrum和Extreme Programming(XP). ?与僵化的、重量级的、官僚式的方法形成对照,比如瀑布模型(指纯粹形式的)?最大限度地降低短期固定时间的迭代式软件的开发风险. 敏捷宣言(2001年) ?人和交互胜过过程和工具. ?Individuals and interactions over processes and tools ?可以工作的软件胜过完备的文档. ?Working software over comprehensive documents ?客户协作胜过合同谈判. ?Customer collaboration over contract negotiation ?随时应对变化胜过遵循计划. ?Responding to change over following a plan 敏捷过程的限制 ?敏捷软件开发过程包含过程、原则、工具,和最重要的-人 ?因此:诚信是基础 ?没有过程能够对诚信进行有效地约束,诚信与否是有效实施敏捷过程的最大限制

Product constantly Scope frozen new PBL items to next Sprint Backlog 使用敏捷方法的项目计划 “Sprintful” of top - priority PBL to the next Sprint Sprint More accurate estimates as man hours 8 Short term planning (commitment by May be 5 2 1 3 8 5 8 ∑32 Long term planning (best guess at the moment): Initial Size Estimates As Story Points Velocity 8 SP/Sprint 4 Sprints T arget Sprint for each PBL item set, feasible implementation Order. 敏捷项目管理和传统项目管理 ? 传统项目管理: ? 事先对整个项目进行估计、计划、分析 ? 反对变更; 变更需要重新估计、重新规划 ? 严密的合同来减少风险, 如果改变需求要走 CR 流程. ? 项目作为一个“黑盒子”,对客户与供应商的可视性差. ? 产品化和测试阶段是分离的. ? 文档和计划驱动的方法. ? 软件交付时间晚, 意识到风险的时间晚. ? 敏捷项目管理: ? 对整个项目做一个粗略的估计,每一次迭代都有详细的计划. ? 鼓励变化, 客户价值驱动开发. ? 信任和赋予权力;合约使变更变得简单,增加价值. ? 客户和开发人员之间是紧密的连续的合作关系 ? 每次迭代都产生可交付的软件 ? 专注于交付软件. ? 第一次迭代就可交付能工作的版本,风险发现的早. 为什么采用敏捷? –预期的收益 ? 采用敏捷方法得当的话,可以: ? 更加透明; 随时跟踪项目的状态和进展情况,及早发现问题和风险 . ? 快速交付, 每次迭代都能交付可运行的软件. ? 最高风险和最高优先级的需求,最优先进行开发. ? 改善应对变更能力, 减少大量的重计划. ? 改善项目沟通. ? 更好的客户参与, 避免错误的假设. ? 总之: ? 提高了生产率; 减少“浪费”(不需要的文档,重复工作等),项目的每次迭代都有明

相关主题
文本预览
相关文档 最新文档