自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(126)
  • 收藏
  • 关注

转载 ScrumMaster帮助团队定义他们的目标

帮助团队定义他们的目标,团队才会发现他们自身对成功的定义。 Luis Gonçalves 提醒我们,拥有清晰的目标是积极主动与成功的关键之一。没有共同的目标,团队无法一致行动。在播客中,Luis建议为我们合作的团队举办一个特定的工作坊,帮助他们定义团队的目标。这个工作坊是受Daniel Pink书中所启发,你可以在 《Drive: The Surprising Truth About What M...

2018-03-16 10:32:43 516

原创 Linux Shell 编程 循环控制 条件控制 输入参数等

1. 传入脚本参数$# 是传给脚本的参数个数 $0 是脚本本身的名字 $1是传递给该shell脚本的第一个参数 $2是传递给该shell脚本的第二个参数 $@ 是传给脚本的所有参数的列表2. 创建一个新文件cat>>filenamexxxxxxx Ctrl-D 保存并结束编辑3. 打印命令行echo “Hello World”echo  

2018-01-29 10:38:59 820

转载 敏捷实践详解

我在ThoughtWorks中的敏捷实践 | 作者 袁慎建 发布于 2017年2月27日. 估计阅读时间: 2 分钟转自 http://www.infoq.com/cn/articles/my-agile-practice-in-thoughtworks项目回顾项目背景成员背景技术背景敏捷实践IPMRegular catc

2017-07-18 09:43:41 1277

转载 敏捷开发- 怎么验收敏捷故事

转自: http://www.cnblogs.com/dyllove98/archive/2012/04/10/2441254.html    接着上篇 "估算故事"讲,故事估算完成以后就要开始考虑如何进行验收测试了,只有验收通过故事才算开发完成.对于一个故事,开发人员和客户可能会讨论很多,讨论的内容可以以测试用例的形式记录下来,这样就为我们故事测试做了铺垫,目前敏

2017-06-15 11:25:59 1267

转载 嵌入式中的BSP---BSP到底是什么?

转自: http://blog.chinaunix.net/uid-20788636-id-1841270.html(1)什么是BSP?   BSP是板级支持包,(board support package)是介于主板硬件和操作系统之间的一层,应该说是属于操作系统的一部分,主要目的是为了支持操作系统,使之能够更好的运行于硬件主板。BSP是相对于操作系统而言的,不同的操作系统对应

2017-05-16 09:21:24 53799

原创 ATDD自动化测试框架

一个测试框架通常包含以下模块:1. 测试引擎 - 解决测试调度问题,简单比如循环,If else,时间控制等。这个引擎可以是Python, Tcl, TTCN等2. 通讯链路 - 解决和被测体通讯的作用,具体通讯可以是socket,串口,USB等等3. 被测体控制模块 - 它是测试引擎和被测体直接的桥梁4. 测试辅助模块:通常是被测体系统工作的其它系统部分,该辅助测试模块多数情况是

2017-05-15 15:45:05 756

原创 设计敏捷开发流程

如何在一个新的软件企业设计敏捷开发流程?首先我认为敏捷是有刚需的,持续集成+自动测试是刚需。必须先具备这样的基础建设才能继续往下走。如何设计敏捷开发流程,看看敏捷的要数,特别是5个活动:首先定义Sprint周期,周期定了后,自然下面4个活动,就知道什么时候做了Sprint计划会议(Sprint Planning Meeting)每日站会(Daily

2017-05-15 15:01:08 731

原创 传统项目管理与敏捷管理的区别

以CMM举例,如下面描述:CMM/CMMI 与 Agile 是两种不同的软件研发管理和过程体系,区别在于前者重量,后者轻量;Agile 包含了更多具体、实用的软件工程技术方法,而 CMM/CMMI 提供了更多以数学统计为基础的过程管理和质量控制技术方法。在适用条件下,轻量过程通常会带来了更高的开发效率。CMM更注重过程管理和质量控制。敏捷不注重吗?不是,敏捷希望过程控制更轻量级一些

2017-05-15 14:18:44 2183

原创 什么是用户故事地图?

为什么会有用户故事地图?迭代开始后,待办列表总是以小块形式进入迭代开发,一个迭代接着一个迭代。碎片化的方式,不能给产品以及开发团队一个整体的视觉。这会出现,优先级排列问题,或者产生多个迭代后,用户还是看不到用户想要的东西的雏形。用户故事地图,就是一堵Story墙,大级别的用户故事排在头排,根据优先级,描述用户需求。对每个头排用户故事成纵向分解。通过地图方式,可以让你和同事能够有一个

2017-04-20 14:41:26 8021

转载 MoSCoW法则-用户故事排优先级

莫斯科法则,就是Must or Should, Could or Would not。在排用户故事优先级的时候,把用户故事按以下4种类别排优先级。Must:这个迭代一定要做的。比如前面提到的“必需”的功能。Should:应该做,但若没时间就算了。比如前面提到的“不太需要的”功能。Could:不太需要的,但有了更好。比如前面提到的“几乎早期版本中不要”的功能。Wo

2017-04-20 11:25:08 10192

原创 看板中的粉色卡

在看板中的一个惯例是,当一个工作项(任务)受阻后,通常给这个任务项贴上一个粉色(或红色)便签。便签上注明受阻原因,日期。每日站会应该把受阻工作项作为主要焦点。受阻问题在一段时间后,影响可能变大。需要让团队所有成员知道,什么情况下受阻问题就升级了,需要让相关人员知晓。团队强大的问题管理和解决能力,对于维持工作项流动而言是最基本的要素。-- 读书《看板方法》

2017-04-19 16:57:40 362

原创 软件开发中的“浪费”

精益方法定义浪费是指那些没有为最终产品增加价值的各种活动。比如敏捷中站会,大家一起沟通一下进展。这个的确没有增加价值,但是浪费并不代表我们能不做这些活动。浪费分为事务成本 - 准备工作,做计划,估算,回顾协调成本- 站会, 沟通会。注意,如果会上讨论如何设计代码,这就不是所谓的浪费。破坏负载(failure load) -  就是我们常说的,产品出现缺陷,把缺陷改掉,达到原来的应该

2017-04-19 16:17:28 1350

转载 北斗用户机接收机基带信号处理

转自 http://www.doc88.com/p-0993999892804.html北斗出站信号,采用QPSK调整加扩频通信PN码下行通过锁相环,解QPSK,解扩频

2017-04-14 13:50:20 2007

转载 图像处理

图像处理技术的一般包括图像压缩,增强和复原,匹配、描述和识别3个部分。图像压缩编辑由数字化得到的一幅图像的数据量十分巨大,一幅典型的数字图像通常由500×500或1000×1000个像素组成。如果是动态图像,其数据量更大。因此图像压缩对于图像的存储和传输都十分必要。图像压缩有两类压缩算法,即无损压缩和有损压缩。最常用的无损压缩算法取空间或时间上相邻像素值的差,再进行编码。游程码就是这类

2017-04-14 12:18:15 577

转载 图像传输

图像信息按传输速率和带宽可分为静止和活动两类。静止的有:可视图文、传真、静止图像等,此类信息量小,可在话路或低速数据等窄带信道中传输。一般需要数秒或数十秒的时间。活动的有:可视电话、会议电视、电视等,此类信息量大(带宽1~6MHz和30MHz以上),在电缆、微波、光纤和卫星等宽带信道中传输。信源处理在给定图像信息正确性的要求下,压缩图像的信息量,使适应信道的带宽和速率。模拟处理

2017-04-14 10:44:10 1260

转载 Mock的好处是什么?

https://sanwen8.cn/p/44aKIXY.html1. 团队可以并行工作有了Mock,前后端人员只需要定义好接口文档就可以开始并行工作,互不影响,只在最后的联调阶段往来密切;后端与后端之间如果有接口耦合,也同样能被Mock解决;测试过程中如果遇到依赖接口没有准备好,同样可以借助Mock;不会出现一个团队等待另一个团队的情况。这样的话,开发自测阶段就可以及早开展,从而

2017-04-12 14:04:36 20488 1

转载 约束理论的聚焦五步骤

TOC(Theory of constraints),中文译为"瓶颈理论",也被称为制约理论或约束理论,由以色列物理学家高德拉特(Eliyahu M. Goldratt)博士创立,与精益生产、六西格玛并称为全球三大管理理论;其核心观点为立足于企业系统,通过聚焦于瓶颈的改善,达到系统各环节同步、整体改善的目标。聚焦五步骤FF5TOC有一套思考的方法和持续改善的程序,称为五

2017-04-09 21:37:49 4423 1

原创 看板实施步骤

首先是相干人等都了解和学习看板的方法,对使用看板要达到的目标达成共识。大家一起画出价值流图找出要控制的环境(通常是瓶颈环节),定义工作项,有可能需要分类。与上游谈好什么时候能拉入新的工作项,与下游谈好工作项交付的条件,以及移交的频度。建立看板墙,每天开站会。定期召开回顾会议。

2017-04-03 22:44:04 689

原创 看板系统的首要目标与次要目标 (读书笔记)

看板系统的首要目标-----以最小的阻力导入变革。    引入可视化和限制在制品来促进变革,进而优化现有流程。由于现有的角色与职责都没有改变,所以来自员工的抵触与阻力也是最小的。看板系统还有其他次要目标:  高质量的交付:看板需要定义工作项完成的条件,这样才能拉入下一个工作项到在制品中。这个看上去有些像Scrum里的DoD。 我个人认为,看板与高质量交互没有太直接的联系。有些牵

2017-04-03 22:06:10 616

转载 在制品与前置时间(又叫交付时间)

转自:http://www.jianshu.com/p/bbc652391e45在制品与前置时间基本为线性关系,减少在制品数量就能减少前置时间。利特尔法则(Little’s Law)作为一个非常朴素的原理,为看板方法奠定了一个理论基础,看似简单的公式背后却有其复杂的一面。一、利特尔法则利特尔法则的公式是这样的:平均吞吐率=在制品数量/平均前置时间举个例子

2017-04-02 23:13:21 2766

原创 看板背后两大基础性原则

一条是限制在制品WIP数量另一条是仅当有可用产能时才通过信号卡传递机制来拉动工作的流动。如何确立WIP数量呢?有些赞成每个工程师一个时间段里就做一件事,有些认为一个工程师做两件事情最好,有些事情总是有依赖和等待。事实上没有一个魔法数字,适合所有公司。建议开始设上一个数字,然后持续观察这个数字是不是符合实际情况,如果有出入,就逐步调整到一个比较稳定的数字。有些公司有不同类

2017-04-01 16:18:38 688

原创 看板推动Scrum过程变革,推动组织文化持续改善

Scrum的三大支柱是透明性,检验和适应。简单的说就是通过对产品,过程的透明,做持续改善。看板方法大大增加了过程(工作流)的透明性。通过展示工作项是如何在成员之间的流动,为团队已经团队之外交互带来了可见性。它让每个相关人员都看到他们的积极行动或者消极怠惰产生的影响。团队成员很难对一个受阻工作项视而不见,自顾自地继续做其他事情。它鼓励相关人员群策群力去解决团队遇到的困难,保证团队

2017-04-01 13:55:37 623

原创 看板与Scrum

看板与Scrum都是敏捷实际,它们有很多相似之处。看板的精髓是通过卡片墙方式找到工作流的瓶颈,控制瓶颈处的WIP(在制品)的数量,以及上游输入数量,获取稳定的产能。这样就可以缩短工作项开发周期(前置时间),提高可预测性和准时交互的能力,与下游合作伙伴建立信任关系。看板的关键点是先获取工作流中瓶颈处的稳定产能。Scrum 团队的每一个sprint的velocity(产能)也是固定的。

2017-04-01 11:04:12 1355

原创 什么是看板?

现在很多软件开发都流行使用看板。就如下图。多数人觉得看板KanBan应该是日语里恰好表达的中文原意,看(白)板,或者什么其它板。其实看板是卡片,是表示出某工序何时需要何数量的某种物料的卡片,又称为传票卡,是传递信号的工具。敏捷开发里的“看板”,或者称为贴满纸片的墙其实并不是看板系统,他们仅仅是可视化控制系统,是让团队以可视化方式观察WIP并进行自组织,便可自行分派任务,讲工作从待办列表中移到完成状

2017-03-30 15:19:29 6371

原创 关注闲置工作,不要关注闲置人员

在敏捷开发中,管理人员要关注闲置工作,不要关注闲置人员。听到这一点,传统的管理人员将会明显感到不适应,关注闲置工作也就是WIP,比较容易理解,这里是瓶颈,应该想办法去解决积压工作。但是对于不关注闲置人员,这一点,特别是管人的经理会不能理解,一些人忙的要死,一些人还很闲,这不要出问题吗。如果通过看板,找到积压闲置工作(通常在开发团队),控制上游输入,保证瓶颈团队不要过载。因而其他团队就有

2017-03-30 13:50:14 1630

原创 隐性知识

在读David Anderson《看板方法》一书时,注意到书中隐性知识说法。随着软件复杂度的增加,开发工作需要的知识也急剧增加。这些知识是很难在系统里记录,即使记录成本也是很高,查找也是很费劲的。这些知识就存在于开发团队之中,在团队不间断的协作过程中,不停地迁移知识,扩散知识。传统的一些做法如记录,分享,对隐性知识的传播很难奏效。就拿分享来说,过于细节的分享,其实是很容易被遗忘的。敏捷

2017-03-30 10:59:50 435

原创 什么是Solution Intent?

Solution Intent在Value Stream层里。首先说说Value Stream层的作用。Value Stream层处于第二层,Portfolio层定下Epic也就是产品vision,做什么产品后,就把这些Epic扔到了Value Stream层。 Value Stream层是要给出solution的,如何实现产品,产品分为哪些分系统,需要多少敏捷火车来实现,如何协同各个敏捷火车。这

2017-03-29 17:21:30 548

原创 什么是WSJF – Weighted Shortest Job First

百度把Weighted Shortest Job First翻译成加权最短作业优先,听起来还是觉得翻译得不错。WSJF是一种敏捷用来排任务优先级的方法。SAFe引入了敏捷火车ART(Agile Release Train),它把原本一个一个项目从开始到结束,又一个开始,又一个结束这样的模式,编程了一个流水线的工作模式。有项目就把项目往敏捷火车上扔,流水线式的工作方式,这样大大减少了原先

2017-03-29 15:36:35 5974

原创 Portfolio Business Epic分析

Portolio Epic包含了Business Epics和Enablers Epics。 Enablers Epics主要是解决产品内部技术问题,这里我们主要讨论Business Epics。Business Epics的通常描述和PO里的产品Vision是差不多的。在SAFe架构里,PO的产品Vision也就是从Portfolio一层一层下来的。Epic描述必须包含下面加亮因素,这是什么

2017-03-29 14:24:42 933

原创 读书《代码整洁之道》--函数参数

函数参数最好是0参数,其次是1个参数,2个参数,3个参数,不能再长了。根据只做一件事原则,函数就应该只做一件事,并且足够小。通常情况, 布尔值是不应该放在函数里的。这代表函数会做两件事。举个列子writeField(name)比writeField(outputStream, name)好懂。 第二个函数其实也好懂,但是稍微要想一想。改成outputStream.writeFiel

2017-03-28 14:20:42 451

原创 读书《代码整洁之道》--命名

变量,函数,类的命名要求见名知意。 public List getThem() { List list1 = new ArrayList(); for (int[] x : theList) //theList是表示什么数据,是否可以通过名字来自解释 if (x[0] == 4) //X[0]代表什么意思, 4又代表什么意思 list1.

2017-03-27 15:08:26 298

转载 读《代码整洁之道》作者Bob大叔,Robert C Martin

什么是优雅的代码?我喜欢优雅和高效的代码。代码逻辑应当直截了当,叫缺陷难以隐藏;尽量减少依赖关系,使之便于维护;依据某种分层战略完善错误处理代码;性能调至最优,省得引诱别人做没规矩的优化,搞出一堆混乱来。整洁的代码只做好一件事。代码的破窗理论。窗户破损了的建筑让人觉得似乎无人照管。于是别人也再不关心。他们放任窗户继续破损。最终自己也参加破坏活动,在外墙上涂鸦,任垃圾堆积。一扇破

2017-03-27 14:07:22 1140

原创 Spring如何运用动态代理实现AOP

面向切面编程(AOP)提供另外一种角度来思考程序结构,通过这种方式弥补了面向对象编程(OOP)的不足。 除了类(classes)以外,AOP提供了 切面。切面对关注点进行模块化,例如横切多个类型和对象的事务管理。 execution(* com.ml.aop.HelloWorld.*(..))" />

2017-03-21 16:58:17 1264

转载 快速理解动态代理模式

网上搜到这批文章,把动态代理讲得深入浅出。http://www.jb51.net/article/86531.htm若代理类在程序运行前就已经存在,那么这种代理方式被成为 静态代理 ,这种情况下的代理类通常都是我们在Java代码中定义的。 通常情况下, 静态代理中的代理类和委托类会实现同一接口或是派生自相同的父类。一、概述1. 什么是代理我们大家都知道微商代理,简单地说就是

2017-03-21 16:28:22 1860 1

原创 快速理解代理模式

代理模式要解决问题是:如果直接访问对象比较困难,或直接访问会给使用者或系统带来一系列问题。这样对于客户端(调用者)来说,就不需要直接与真实对象进行交互,解除了调用者与真实对象的耦合。代理Proxy类和被代理RealSubject类都实现同一个interface,Proxy类的function()调用RealSubject的同名function()。用户就可以直接访问Proxy,而不和RealS

2017-03-21 15:16:46 761

转载 快速理解Java虚拟机

转自: http://blog.csdn.net/luanlouis/article/details/50412126Java虚拟机文章太长,如何从一段程序运行来理解JVM做了什么事?参加这位专家的博客,图画得是相当的好。[java] view plain copy print?package org.louis.jvm.codeset;

2017-03-21 13:40:58 280

原创 Spring如何运用Java反射机制实现IOC

Java可以通过反射机制动态生成对象。例程见Java反射机制 从示例上可以看出,Java通过Class.forName()就可以生成类对象,然后生成类实例。而且可以通过Field设备属性。Class c1 = Class.forName("my.unittest.com.Book"); Object o = c1.newInstance();Book b = (Book

2017-03-20 16:48:16 1567

原创 Java反射机制

反射是Java中一种强大的工具,能够使我们很方便的创建灵活的代码,这些代码可以再运行时装配,无需在组件之间进行源代码链接。反射的作用就是在运行时再去生成对象,这个功能成就了很多框架,比如Spring,把Java Bean的配置文件写在XML里,运行时才生成对象。这样使得代码直接有原来的直接依赖,变成了读配置文件,生成对象的方式,降低了代码耦合度。package my.unittes

2017-03-20 14:14:42 360

原创 敏捷(SAFe)常见问题

敏捷1. 团队中没有明确的PO角色,即使有也没有能充分发挥PO的作用。   PO角色没有多少power。不能很好的制定优先级,通常所以需求优先级都相同,在Sprint review会议里不能起到决定Epic完成与否的决定。2. scrum team没有做到真正的自组织,自己领任务。scrum master在其中做了太多决定,团队没有被empower3. scrum团队人员上的变动是

2017-03-17 10:31:55 2870

原创 大规模敏捷框架SAFe版本4与版本3区别

1. 原来的Arch Epic改名叫Enabler2.  新增了 VSE (Value Stream Engineer)  The chief feature scrum master facilitates and guide s all ARTs and Suppliers on the value stream, ensure all ART to be synchronized on3. 新增了RTE(Release Train Engineer) The chief feature scrum

2017-03-16 16:51:22 6445

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除