自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

闲亭信步(KISS)

手把青秧插满田,低头便见水中天。身心清净方为道,退步原来是向前。/ 初学者眼中凡事皆有可能,行家心中可行之途无多

  • 博客(158)
  • 资源 (5)
  • 收藏
  • 关注

转载 特性分支是邪恶的?!

为了吸引大家的注意力,我想说:“特性分支是邪恶的化身”。自2008年起,Mercurial (最近是Git)就成了我日常工作的工具,而且我喜欢使用分布式版本控制系统。正如《持续交付》一书中讨论的那样(英文版第393页和394页),有很多理由说明,与之前已存在的同类工具相比,D

2011-09-03 07:10:18 1874

原创 主干开发,“关上”未完成的功能

软件开发中,“配置开关”根本算不上是一个“新”概念。无论是通过启动时加载配置,还是应用程序运行时动态刷新配置,都可以用来决定或改变应用程序的某种具体行为。比如:通过配置文件,使用应用程序连接不同的数据库通过模板配置,达到应用程序“换肤”的目的通过系统管理员的配置,使不同的

2011-08-29 13:10:46 2971

原创 ControlTier,基于命令的自动化部署工具

现在,服务器集群已经是司空见惯的事情了。随便一个小的互联网应用程序都需要用集群来支撑。而当采纳“持续集成”,尤其是“持续交付”实践时,在各种环境上的部署让你发疯。这些环境包括开发环境、测试环境(包括功能测试和非功能测试)、试运行环境和生产环境。而且,每种环境可能会有多套实例,而不

2011-08-26 08:26:42 8857

原创 持续交付的八条原则,你能做到几条?

软件的发布或部署过程必须是可重复且可靠的。这就引出了下一条…所有操作的自动化!我很难相信“手工操作是可重复且可靠的”这种说法。所以一定要将所有重复性的操作变成自动化的,从而变得可靠。如果某件事情做起来很困难或者让你觉得很痛苦,那么就尽早且尽可能频繁地去做。乍一看上去,这么做太蠢了

2011-08-09 20:42:04 2222

原创 回顾会议需要达到什么样的目标

回顾会议的目的:(1)创造一个安全的团队环境;(2)建立信任和参加感;(3)对成功的欣赏;(4)为改进提供一个框架;(5)情绪宣泄;(6)直面问题;(7)自我建立团队“规则”:创建并改进团队流程。看看你做了哪些?经常被忽略的可能

2011-08-03 00:00:47 1999 2

原创 选择持续集成工具需要考虑的几个因素

目前,持续集成工具多达30种,每种工具都有自己的特点。在国内,软件企业很少为这类产品付费,所以国个目前最流行的包括Hudson(开源),CruiseControl(开源),TeamCity(商业版,买了IntellJ的License就能免费使用)。而在国外,还有两个比较流行的工具

2011-07-23 10:14:25 2619 1

转载 配置与发布管理成熟度模型1.0版

在过去多年的持续集成咨询经历中,最常听到的一个问题是:如何来评估企业在配置与发布管理方面做得到底怎么样?还需要在哪些地方进行改进或提高?两年前,CITCON的几个参与者给出了一个成熟度模型,主要关注于“持续集成实践”,而在《持续交付》一书中,Jez与Farley也结合Thou

2011-07-19 21:28:02 1763

原创 广而告之:持续交付的魅力——百度技术沙龙,2011年7月23日下午,北京京仪大酒店

百度技术沙龙演讲主题:持续交付的魅力——百度持续集成实践经验分享 演讲简介:百度从2009年引入敏捷,并结合自身情况,从项目管理、需求管理为起点。随着业务的发展,对研发效率的更高要求,自2010年起,在各产品线引入持续集成实践。众所周知,在引入敏捷的过

2011-07-14 22:08:39 4755

原创 《持续交付》,追求软件卓越的必读书目

自2007年开始,我与Jez Humble一起,和来自四个国家的同事们开发了Cruise(ThoughtWorks Studios 开发的一款持续集成与发布管理工具,现在改名为Go)。该产品在两年内发布了8个版本,而且在V1.0中就引入了Pipeline的概念,而这正是《持续交付

2011-07-14 22:01:59 2098 2

原创 Python中单元测试框架 Nose的安装

1 安装setuptoolsdownload地址:http://pypi.python.org/packages/source/s/setuptools/setuptools-0.6c11.tar.gz#md5=7df2a529a074f613b509fb44feefe74e$ tar xzvf setuptools-0.6c11.tar.gz$ python setup.py i

2011-06-03 15:52:00 9093 3

原创 敏捷交付!=迭代开发

只写给尝试过敏捷,并还想尝试的人。

2011-04-07 10:02:00 10821 29

原创 My top five strengths

AchieverDisciplineIntellectionArrangerSignificance

2011-03-18 11:32:00 1752

原创 请停止“贷款”

有位童鞋问了这样一个问题:"我现在的团队也面临这样的问题,更糟糕的是我们还没有测试套件。目前只是面临企业内网,马上也面临外网的应用了。痛苦。。。那个大侠给个好建议!"其实,文章中已经给出了答案,即一直保持“主干开发为主的短周期分支策略”。当然,很多团队无法达到这种境界。原因可能非常简单。比如,无法拒绝客户要求,否则就有可能失去重要客户。开发时的代码质量太差,当需要发布时,在分支上修复Bug的时间需要很长,而在主干上开发新功能时仍旧不注重质量。传统的瀑布开发方式使两次发布之间的时间间隔太长(每次发布都需要三个

2011-03-13 19:39:00 2406

原创 戏说“持续集成”这个古老的话题

刚在InfoQ的“持续集成”专栏中发表了两篇文章《持续集成之戏说Check-in Dance》和《持续集成之“测试三角形与分段构建策略原则”》,回答一些问题。虽然非常基础,但却经常被问到。比如“为什么要做本地构建?”“为什么要提交即构建?”

2011-02-23 22:47:00 2205 1

翻译 持续交付:通过自动化构建、测试、部署流水线实现可靠的软件发布

在AgileChina2010大会上,老马提到了“持续交付”这一概念。这是在持续集成的基础,应用精益原则,针对软件交付模式的全新诠释。Jez Humble, ThoughtWorks Studio的发布管理工具GO (原名为Cruise)的产品经理与David Farley一起,历经三年完成了《持续交付:通过自动化构建、测试、部署流水线实现可靠的软件发布》一书。而产品Cruise于2007年底开始构建,很多理念已深深植入到该产品。直到本书出版之前,Cruise更名为Go,发布版本也跃升为

2010-11-08 22:49:00 11893 1

原创 AgileChina2010 即将登场,演讲征集火热进行中

一年一度的敏捷中国即将于10月14日开幕。“敏捷十年,让我们自省并继续前行”。本次盛会邀请了数位国内外嘉宾,精彩演讲,不容错过。另外,本次大会演讲题目有收集方式有所改变。现面向整个软件行业征集敏捷相关的话题。本次大会的四个主题分别是:业务敏捷、组织变革、管理实践和技术实践。详情请参见敏捷中国。

2010-08-11 09:56:00 1633

原创 回顾会议(retrospective)中最容易被忽视的一个环节

很长时间没有更新博客了,一直在上海,上星期刚从客户现场回Office。在很多刚刚开始实践Agile的团队中,有这么一种想法:“Retrospective太花费时间了,所有成员在那里开上一两个小时的会议。在会议上,要么大家发发牢骚,要么项目经理讲讲话,强调一下后续工作中的注意事项。还不如回写座位上写代码来得直接呢。”其实,如果有这样的认识,说明团队还不成熟。如果没能发挥这一实践的重要作用,那么可能比"不会做TDD"有更严重的后果。

2010-08-04 16:29:00 15092 12

翻译 LAMDA——知识工作者的PDCA

什么是 LAMDA?  什么是 LAMDA? LAMDA 是一个用于发现问题、积累知识的改进环路。Dr. Allen C. Ward发现美国工程师在尝试使用Plan-Do-Check-Act环时,常常是一种不恰当的使用模式:在Plan的投资方式不正确,而Do和Act的重点也不明确。这反映出两个问题:(1)在PDCA环中,对于P和C这两个阶段,人们需要很更多的指导;(2)对于Do

2010-03-18 20:31:00 4056 3

原创 搭建Mercurial(hg)的Repository(HTTP方式)

之前一直在使用Mercurial,但还没有亲自搭建过通过HTTP访问的Mercurial Reposities。 今天练习了一回,把过程记录下来备查。(非常简单)============================================================  前提 Mecurial已经安装完成,并且所有hg repository

2010-02-25 14:10:00 6023 3

原创 构建发布管理系统究竟是什么?

构建发布管理系统可以让软件团队仍使用他们自己熟悉的版本控制工具,而由它来处理后台的各种情况。开发人员可以进行代码的检入、检出、分支等各种操作,而不受任何影响。一旦他们认为某个版本已经条件具备,它就会被自动地推送给构建发布管理系统,并按照一个已定义好的软件开发生命周期,完成你规定的所有任务,比如自动化的过程、工作流、通知机制和授权管理等。构建发布管理可以轻松地跟踪任何变化,提供必备的报告。

2010-02-02 08:14:00 1827

原创 需要自动构建发布管理的五个理由

1. Your Single Path to Production:From Point-and-Click Package Promotion to Integrity Assurance to Package Deployment and Redeployment to History and Traceability, you will find that once you us

2010-01-28 17:19:00 1954

转载 戴明14条

原文在这里。 1. Constancy of purpose Create constancy of purpose for continual improvement of products and service to society

2010-01-26 10:38:00 2318

转载 java中Keytool的使用总结

以前用过几次这个东东,但每次都重新查询一次。本文原始出处是这里。-----------------------------------------------------------Keytool是一个Java数据证书的管理工具,Keytool将密钥(key)和证书(certificates)存在一个称为keystore的文件中在keystore里,包含两种数据:

2010-01-05 11:35:00 59664 3

转载 什么状态的团队是“不能持续学习的团队”?

不能持续学习的团队,会出现下面的一些症状:·     疲劳(持续在紧张的节奏下工作)导致士气低落。·     在一个迭代周期中,反复地出现无法达到 “完成状态”的现象。·     承诺的任务总是无法完成(有些特性或任务甚至还没开始)。·     已经部署的软件不断地有缺陷暴露出来,导致开发计划流产。·     减少或者取消回顾会议(“因为从来没有真地解决过发

2009-12-18 20:00:00 2138 2

转载 了解项目运行情况的8种小技巧

Can everyone on the team write the aim of the project on a post-itnote with a thick flip-chart marker? If not, then the end game is notclearly defined and universally understood. Come up to a

2009-12-05 12:03:00 1418

原创 有关TDD的文章

 This pages shows a list of links ive collected related to the topic(s) of- behavior driven infrastructure- test driven infrastructure- test driven administration- test driven deploymentG

2009-11-20 21:00:00 1196

原创 BA Tools

 http://ebgconsulting.com/Services/AgileAnalysisRoadmap-EBG.pdf

2009-11-19 22:26:00 1044 1

原创 where is the first step in Lean thinking

 Value-creating work.Activities adding directly to the value of the product as determined bythe customer. (Manufacturing examples are painting the product oradding parts during assembly.) A si

2009-11-07 21:31:00 1300

翻译 如何使用企业持续集成成熟度模型?

所有团队在四个维度都达到统一的企业持续集成成熟度是很困难的。企业持续集成在不同的条件和状态下,应该考虑选择不同的方向来实现或加强。为了表明这一点,下面是一个企业的例子,提供了企业持续集成混合成熟度的解决方法。Emeno 投资公司:平衡敏捷与控制现状分析: Emeno的团队为安全交易者提供在线交易系统。能够让新功能快速上线可以很大的提高他们的竞争力。然

2009-11-07 18:34:00 2083

翻译 企业持续集成成熟度模型简介之四——报告

 报告——企业持续集成成熟度模型简介之四持续集成工具一直以来就负责报告最近一次构建的状态。报告是持续集成的一个至关重要的元素。在企业持续集成中,报告应包含所做软件的相关质量和内容方面的信息,以及与企业持续集成过程有关的度量信息。没有报告的团队就象一个没有雷达的飞机在飞行。如果没有人看测试结果的话,所有的测试都是无用的。同样,很多数据如果没有被提取成可消化利用的信息的话,

2009-11-07 17:46:00 2124

翻译 企业持续集成成熟度模型简介之三——测试

 测试持续集成一直同自动化测试相关联。这在马丁福勒的文章或更早期Steven McConnell对日构建和冒烟测试的相关实践描述中都有提及。而且在企业持续集成的领域中,我们会考虑很多种类型的自动化测试和手工测试。尽管如些,很多团队在测试方面还是比较弱。很常见的一个版本发布场景就是:某个团队完成一个版本后,手工测试一下基本功能就发布了。而其中的某一部分总是出错,而新功能也只做了少量测

2009-11-03 19:48:00 2762

翻译 企业持续集成成熟度模型简介之二——部署

 出差在外,没有及时更新Blog。继“构建”之后,今天再说一下企业持续集成成熟度模型的另一个维度“部署”。在正文之前,还想再强调一点,即“这个模型本身是是工具箱里的一件工具,并不一称个斤两的量器。”  部署 部署是指将软件移动到它被测试的地方,或用户指定的某个位置,准备送给客户。对于web应用来说,这可能意味着将软件安装到某个web服务器上,并更新数据库或静

2009-11-02 20:04:00 2210

翻译 企业持续集成成熟度模型简介之一——构建

<!-- /* Style Definitions */ table.MsoNormalTable {mso-style-name:"Table Normal"; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-priority:99; m

2009-10-21 16:35:00 5144 1

原创 改进活动的四个原则

 原则一、首先要行动起来 改进多是些平常没有做过的事情,不要在做之前就罗列出各种各样做不到的理由。先试试,有不对的地方,马上修正就好。 原则二、工作内容的可视化 要将工作的流程和进度,随时都能被看得见。要将工作中的异常现象凸显出来,并马上采取措施。 原则三、生产效率的可视化 改进的好了还是坏了,不能搞不清楚。专注于能够提高生产效率的改

2009-10-19 21:47:00 1897

原创 企业持续集成之成熟度模型---SD2.0 topic

持续集成已经是一个古老的话题了。有的公司跃跃欲试,有的公司浅尝则止,有的公司半路放弃,而有的公司去能持之以恒。这是什么原因呢?既然是一个古老的话题,那与它刚出现的时候相比,现在是否有了新的变化呢?受CSDN之邀,本人将在软件开发2.0(SD2.0) 软件工程专场(本月23日上午9:00)和对此话题有兴趣的朋友一起探讨这一主题,题目

2009-10-13 12:15:00 1758

转载 Kanban in Cruise team

自从2009年6月,Cruise team 开始尝试在项目中使用Kanban。作为项目经理,非常高兴这个改变,在回顾会议上,Team反映也很好。它让整个团队更加聚焦于频繁部署产品,因些也非常容易识别项目运行过程中的瓶颈,以及对事情排定优先级。不再有项目估算会议,取而代之的只是平均每张卡片的生命周期。所以,对于整个团队来说,唯一重要的事就变成了“如何让每张卡片快速走完它的生命周期”。Releas

2009-09-22 11:28:00 1374

原创 《软件开发沉思录》终于面市啦

几个月前参与翻译的《the Thoughtworks Anthology》终于面市啦,中文名为《软件开发沉思录》。共有13篇文章,是ThoughtWorks的思想沉淀,内容包括软件开发过程中的各个方面,如项目管理、迭代管理、发布管理、敏捷开发与测试。 以前发布的《一键发布》就是其中一篇。还包括《练习OO的原则》。这是豆瓣上的链接。

2009-09-19 21:59:00 1482

原创 如何捕捉用户故事(2)--story&amp;process/Themes mapping

在Cruise项目使用了Story&Process/Themes Mapping的方法来检查Story list是否有遗漏。操作起来也非常简单。其步骤是: 一、将所有业务流程画在一个大白板上;(画不下的话,找更大、或更多的白板。自己想办法吧)二、将所有的Themes分栏放在桌面上。三、将所有的Story打印在小卡片上(两份)。四、根据业务流程的相关性,将小卡片贴在相应的

2009-09-18 15:52:00 1425

原创 如何捕捉用户故事(1)--在人机交互中找到价值流

 昨天中午的BA交流讨论会上,小裴讲了一下在某项目收集需求,捕捉用户故事(Story)的过程,很是值得深思。其关键在于INVEST原则中的V(Valuable)。该项目是一个有很多分析图表的改造项目,需要保持当前的数据,并修改或增加一些图表。例如:  那么,对于这类分析图表如何写用户故事(Story)呢? 最初,是根据图表的区域来划分用户故事(Story)。即左边的折线

2009-09-18 14:10:00 1734

转载 图示瀑布、迭代式瀑布、SCRUM和Lean的不同

大家都说瀑布、迭代式瀑布、SCRUM和Lean之间的流程是不同的,那到底有什么不同呢。这个图很能说明问题。     From  http://agile101.net/2009/09/08/the-difference-between-waterfall-iterative-waterfall-scrum-and-lean-in-pictures/ 

2009-09-15 21:32:00 3595 3

repoScan-1.0.jar

圈复杂度的历史趋势分析工具。一条命令搞定。 # 项目说明 按统计Git仓库中的代码圈复杂度 (去除所有的 */test/* 目录) # 用到的工具 * Git * [lizard](https://github.com/terryyin/lizard) ## 已测试的运行环境 * MacOS * Java 1.8 * python2.7 * Git 2.15.1 ## 运行前的准备 * 安装Git * 在MacOS上安装lizard ``` pip install lizard ``` 例如,下面的命令表示在对当前Git仓库目录下,对代码进行扫描,圈复杂度阈值为10, 样本周期是60天,使用默认语言,即:java。输出结果 在文件中。 outputDir/codebase_summary.csv `java -jar ../codemetrics/target/repoScan-1.0.jar -R . -C 10 -I 60`

2020-03-10

持续交付成熟度模型 V1.2

《持续交付》一书中提供的持续交付成熟度模型是第一版。这是再次经过调整的改进版,更具有指导性和可操作性。

2011-10-17

配置与发布管理成熟度模型

评估持续集成与持续交付的成熟度,寻找下一个改善目标。

2011-07-19

puppet入门手册

先进的配置管理工具,与CfEngine,Chef相似的工具

2011-07-12

Cruise1.0中文配置说明

Cruise1.0是Thoughtworks在2008年7月28日发布的一款持续集成与发布管理系统,并帅先实现了Pipeline的概念,并将持续集成这一概念扩展到到发布管理领域。本文是Cruise1.0配置文件的中文说明文档。

2008-08-03

空空如也

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

TA关注的人

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