阅读更多


公司简介:

思特沃克软件技术有限公司(ThoughtWorks Inc.)(以下简称ThoughtWorks)是一家有16年历史的IT咨询公司,全球员工超过1000人。ThoughtWorks在全球拥有6家分公司,分布在美国,加拿大,英国,印度,澳大利亚和中国,为全球客户提供服务。

ThoughtWorks雇用非凡的人才,致力于为客户提供高价值的技术咨询,开发过程改进咨询和高质量的软件交付服务。
ThoughtWorks是先进技术的实践者,在软件开发技术领域积累了丰富的实践经验。ThoughtWorks帮助客户解决技术架构方面的难题,并帮助客户交付高质量的软件。
ThoughtWorks是敏捷方法和软件精益方法的最早实践, 针对客户实际情况帮客户定制适应性的开发过程,使客户更有效的应用到企业级和分布式项目中。ThoughtWorks通过咨询服务帮助客户进行定制并采用敏捷实践,帮助客户减少成本浪费,提高上线速度,并使商业价值最大化。
ThoughtWorks的行业经验涉及:银行,电信,互联网,零售,金融,医疗,能源,供应链和贸易等。ThoughtWorks乐于和客户分享业界成功经验,和客户一起分析实际问题,帮助客户进行重大决策。
ThoughtWorks Studios是我们的产品部门,其目标是帮助客户提升敏捷软件开发的水平。ThoughtWorks以其超过300个的项目交付经验帮助客户建立全球分布式软件开发团队持续并持续交付商业价值。
ThoughtWorks的软件生命周期管理套件包括这些工具: Mingle(敏捷项目管理和协作)、Cruise(持续集成和发布管理)、Twist(功能测试自动化)。
藉着服务于6大洲22个国家的175家客户,ThoughtWorks Studios 的产品致力于帮助开发团队提高生产力并推动软件开发艺术的提升。


我们有幸采访到了ThoughtWorks公司的李彦辉老师和许伟老师

 

 

采访ThoughtWorks公司—李彦辉老师 Top

JavaEye:1.李彦辉老师,您好,您是什么时候加入ThoughtWorks公司的,进入公司后的感受如何?

李老师:我是2007年加入Thoughtworks的。 进入公司后感觉这种平等、开放的态度以及追求卓越的精神很符合自己的个性,所以我很喜欢在这里工作。


JavaEye:2.可以介绍下敏捷开发的一些实践吗?

李老师:我自己常用的一些实践包括TDD、重构、简单设计、持续集成等。在我看来,TDD确保我编码前理解了需求,并保持设计的简单性;然后TDD带来的大量自动化单元测试保证了持续集成的有效性,让我在重构代码时得到及时并有效的反馈,进而更有信心通过不断的重构来达到简单设计。

JavaEye:3.对目前敏捷开发在国内的发展现状,能做一个简单的评价吗?

李老师:比起两年前我加入Thoughtworks的时候,我觉得现在国内越来越多的人已经或多或少地了解了敏捷,他们的问题已经从Why转向了How,这点可以从今年的敏捷中国大会看得出来。


JavaEye:4.目前您致力于构建、测试、部署方面的研究,能说明下他们的特点以及在开发的过程中需要注意的事项吗?

李老师:传统的构建包括产品的编译、打包, 但在今天的持续集成上下文中构建涵盖软件开发周期中更多的阶段,比如测试和部署。一个好的构建过程往往包含大量的自动化测试,甚至自动化部署。从开发的角度来看,构建、测试和部署都是对编码工作的反馈,都需要被纳入到开发人员的考虑范围。


JavaEye:5.早在一年前,ThoughtWorks就发布cruise软件,可以简单的介绍一下吗?

李老师:Cruise是Thoughtworks基于自己多年的持续集成经验所构建的。早在2007年我们的同事Dave Farely就发布了一篇文章介绍部署管道(The Deployment Pipeline)的概念,用来建模软件开发过程中管道式的活动,比如典型的开发、测试、部署等。Cruise提出的构建管道的概念帮助软件开发团队更好的管理整个开发流程,提供更好的项目可见性。Cruise迄今为止发布了7个版本,目前最新版是1.3.2。


JavaEye:6.能为大家列举一些使用cruise的成功案例吗?

李老师:Cruise项目组自身应该算一个吧:) 另外我们还有一个大客户在印度那边,开发人员有170多个,同时维护3个版本,16个部署环境,260台构建机器,他们在Cruise的帮助下做到了平均每6周交付一次 。


JavaEye:7.您对JavaEye网站有什么评价吗?可以说说您对JavaEye的建议和期望吗?

李老师:JavaEye是一个很好的技术交流平台,ThoughtWorks也有很多同事上JavaEye。我觉得一个技术平台最大的价值在于沟通交流优秀的软件开发实践,帮助大家共同提高,希望JavaEye能在这方面做得越来越好。

 

采访ThoughtWorks公司—许伟老师 Top

JavaEye:1.许伟老师,您好,您是什么时候加入ThoughtWorks公司的,进入公司后的让您感受最深的是什么?


许老师:我是2008年五月加入ThoughtWorks的, 之前我是一家创业型外包公司的技术负责人. 我们当时一直用手工测试, 而且部署比较频繁, 每次有了新的功能,就部署到客户的测试机器上.这样客户可以了解最新做出来的东西是不是他想要的, 然后可能对需求进行更改. 开始的时候, 因为进度比较紧,每次都是到快下班的时候才完成开发工作, 然后在本地简单测试后开始部署到美国的服务器,之后再手工测试, 如果发现有问题, 再匆忙的修改, 然后再部署, 再测试... 每次都花很长时间, 可能到晚上11, 12点, 几次之后我们决定以后的部署最迟在下午2点前进行, 但这也意味着这天下午所有的人都不能继续开发, 因为随时可能发现bug, 就需要修改代码.

于是我们总结了主要问题有:
1. 测试环境和部署环境不同. 本地Windows, 服务器Linux,本地程序能运行, 但部署后失败了, 比如权限, 服务器设置, 数据库连接信息等等各种环境相关的原因
2. 本地测试不够,因为人工测试花时间太长, 所以部署前就只选比较重要的功能进行测试, 以前的功能可能被最近的改动破坏了,但是没有测到


我当时听说了自动测试和持续集成, 但是没有任何经验. 于是找了JUnit的资料, 尝试写了一些核心业务逻辑的测试, 觉得很难写, 大部分的代码在准备数据, 测试也不容易维护, 于是就放弃了. 之后又安装了Cruise Control, 因为据说通过它能解决我们的这种问题, 但用了以后什么好处都没有感觉到, 于是又放弃了.

后来我加入了ThoughtWorks, 发现原来测试可以这么写, 持续集成要这么做! 有了测试以后, 持续集成自然就在团队里重要起来, 每个人都会关心集成的结果, 不然总会有人在办公室里用所有人都能听到的声音说"XXX, Build Fail 了".

目前我感受最深的有两个方面: 公司氛围上每个人都在不断的想更好地办法来改进, 开发实践上一定要有自动测试和持续集成.


JavaEye:2.目前在国内使用敏捷开发的公司多吗?使用敏捷开发又能带来哪些好处呢?


许老师:目前我知道的已经使用敏捷开发的国内公司不是很多, 但是有越来越多的公司开始关注敏捷开发.
我目前接触到的项目都会有需求变更, 如果我们在一开始就把这种变化处理好,会比项目全部做完后再处理成本低得多.
敏捷开发源自Toyota的精益思想, 它提倡以人为本, 持续改进, 通过较快的迭代实现频繁交付, 这样能够和客户做到很好的沟通, 减少对需求理解的不一致, 客户也可以及时调整需求来满足业务的变化. 每一个迭代过程都是一个完整的瀑布流程, 包括需求分析, 设计, 编码, 测试, 部署等. 这样我们可以一直思考一个问题:"什么是客户真正需要的, 做这件事会给客户带来什么好处", 这样可以有限的精力放到最重要的事情上, 并降低开发过程中的风险, 最终给客户带来更大的价值.

JavaEye:3.对敏捷实践的推广以及未来的发展前景,能谈谈您的看法吗?


许老师:越来越多的人发现了项目中可能存在的各种问题, 比如:需求变更, 不同人对需求理解的偏差, 理解不一致而导致的交付风险等. 我觉得这些问题问题分为两类 : 需求变化 和 沟通问题.
如果需求一定要变化, 那我们只能改变自己去适应他, 改变的越早, 成本越小.沟通如果有问题, 一方面我们可以增加沟通的频率, 另一方面我们可以换一种方式, 一百句话可能不如一幅图更能表达清楚意思, 而一百幅图也不如让不同的人操作一下已有的软件更能理解项目做成了什么样子.
敏捷实践就是在解决这些问题, 通过每个迭代的交付品, 客户可能发现了新的需求或者发现已有需求并没有带来真正的价值; 开发人员与客户可以对需求达成一致, 如果有了偏差, 就及时更正; 所有的人都知道项目的最新状态, 每个人都可以问:这么做对不对, 能够给客户带来什么好处?
另外, 敏捷提倡的是持续改进, 他并没有强制规定必须这么做或是那么做, 每个项目可以根据自己的情况, 选取不同的实践. 选取一个实践也没有硬性限制必须怎么做, 不同的项目还是要根据自身情况进行调整.
我认为实施敏捷是为了解决问题, 而不是为了敏捷而敏捷. 如果我们在开发过程中发现了潜在的问题, 并且能够找到办法解决它, 那我个人觉得就无所谓敏捷不敏捷, 如果不能解决, 那可以参考各种敏捷实践, 看可不可以解决自己的问题. 
我个人认为敏捷= 每个人都在想不断改进的氛围 + 一些已经验证的较好实践. 简单来说, 你发现有一个问题需要解决, 而别人已经通过某种方法解决了, 那你就可以参考解决方法. 我觉得这是一种很淳朴的解决方法或改进过程, 所以我对敏捷的未来前景比较看好.

JavaEye:4.了解到您发起了很多开源的项目,您能介绍下吗? 


许老师:我目前发起的开源项目主要是两个, 一个是代码生成器, 一个是软件升级时升级数据库的工具(DB deploy for c++).
代码生成器是在我以前做外包项目时开发的. 当时很多项目都采用Struts + Spring + JDBC结构, 项目的核心业务不是很多, 但是为了支撑这些核心业务, 需要有很多辅助模块, 每个模块可能都需要列表, 增删改等简单功能. 为了这些简单功能, 实现每个模块需要增加十多个文件, 文件内容相似却不同, 相似是结构相似, 不同在字段不同. 现在如果用RoR,或者Symfony, 他们都生成了很多代码用来简化这种重复工作, 我做得代码生成器也类似, 通过读取数据库信息, 生成代码. 要生成什么样的代码需要用户自行设计, 这样可以满足不同项目的需要. 一句话来描述就是可以让所有的语言都可以使用类似RoR里代码生成的功能. 关于代码生成器, 从我接触到的人里, 一半人喜欢,一半人觉得没用, 这点就看个人喜好了. 另外, 在<程序员修炼之道>这本书中也介绍了代码生成器.

另一个工具是数据库升级工具, 我在Java项目中用到了DBDeploy. 通过它可以根据最新的软件版本自动升级或降级已有的数据库, 但我用C++开发的项目就没有类似的库,所以我就把DBDeploy 移植到了C++上, 所以这实际上是一个移植项目.

JavaEye:5.谈谈您对开源的看法?


许老师:现在我知道的大部分人都在使用开源软件, 很多人也给开源社区贡献了自己的力量. 如果没有开源, 我们每个人就得开发自己专有的的struts, spring, hibernate, 使用昂贵的数据库和操作系统. 而我们现在可以找到数不尽的开源软件, 从操作系统, 编译器, 数据库, 应用服务器, 云计算, 到很多实用小工具. 我认识的很多人都在使用Linux. 所以我觉得如果你不想用盗版, 又不想花钱, 那就用开源软件吧, 你总能找到适合自己的工具的, 如果实在找不到, 而你又需要, 那你可以自己写, 然后贡献出来, 让其他人方便的去用. 

JavaEye:6.这次您将作为ThoughtWorks持续集成培训的讲师,可以向大家简单的介绍一下持续集成吗?


许老师:简单的说, 持续集成是对每次代码或配置的改动都进行编译, 测试, 检查本次改动有没有破坏已有的功能.
我对持续集成在项目中扮演的的角色这么认为: 持续集成是项目开发的一面镜子, 你可以从中发现项目潜在的问题, 并进行改进. 比如, 如果写单元测试很困难, 可能说明当前的类职责太多, 程序结构可以改进; 如果最近失败的比较频繁, 说明代码变得不稳定, 发布的风险变大, 如果不能在一台干净的机器上编译, 可能说明编译对机器环境有依赖, 不同机器编译出的结果不同...
通过持续集成, 可以降低项目发布的风险, 如果有问题, 尽早发现, 尽早改正.

JavaEye:7.据统计,开源项目几乎都实施了持续集成的工作,想必一定有他的过人之处,为什么它能吸引这么多的开源项目呢?


许老师:首先持续集成是一个沟通的工具, 每一个项目的参与人员都可以知道项目的最新进展, 最近修改的什么功能, 其次它又是一个检查工具, 每个人提交的代码都会强制经过一系列相同的验证过程, 从编译, 打包, 各种各样的测试, 到部署. 这样一定程度上保证了代码的质量, 并且随时可以找到一个比较稳定的版本. 最后通过持续集成,我们可以把一部分比较复杂, 手工处理容易出错的过程自动化, 比如部署, 来减少人为失误.
不只是开源项目, 很多商业项目也都在使用持续集成. 持续集成是需要付出成本的. 但是随着项目周期变长, 人数增多, 我们从持续集成中得到的收益就越大. 开源项目一般都是在比较长的时间内, 同时有很多人开发, 并且开发人员可能不固定, 所以更需要持续集成的支持.


JavaEye:8.在使用持续集成的过程中一定会遇到很多的问题,我们应该注意些什么呢,能简单的介绍下吗?


许老师:我个人觉得这个问题是关于持续集成的基本实践, 因为每一个实践都是在解决一个或多个问题.
一些常见的问题包括: 构建流程不清晰, 构建时间很长, 只有特定人员关心构建结果, 构建失败后继续提交代码, 在某个开发机器上运行构建等等.
那对于这些问题, 我们应该怎么做呢?
首先, 应用持续集成的过程, 是一个对现有的开发流程进行分析和改进的过程, 当项目比较大时, 我们需要一个清晰的流程来进行阶段性构建, 比如, 单元测试, 打包, 集成测试, 用户验收测试, 性能测试, 部署, 不同的项目都有自己特定的具体流程,通过这种流程划分, 我们可以清晰的知道自己的构建流程, 并且知道每一次构建都到了什么程度.

其次, 每个人都要关心构建的结果, 怎么来保证这一点呢? 项目组可以有一个约定, 如果构建失败, 所有人都要停止提交, 或者把构建修好, 或者把最近的改动撤销. 这样每个人都会关心构建结果, 因为如果你的修改使构建失败了, 那会影响整个团队的进度.


再次, 要有一个简单有效的方式来报告失败, 这样构建失败的时候整个团队都能够方便的知道结果, 然后相应的人员就可以进行修复.
因为时间关系, 这里只是简单介绍, 关于持续集成实践的具体内容, 我们会在培训中进行具体的分析和介绍.

JavaEye:9.您对JavaEye网站有什么评价吗?可以说说您对JavaEye的建议和期望吗?


许老师:我觉得JavaEye给我们提供了一个很好的交流平台, 但我个人觉得里面应该有一个地方来发广告贴, 比如我在前一家公司的时候, 总是想找一个好些的论坛(比如JavaEye, csdn)发招聘贴,但总是被删掉. 我觉得这种招聘帖可以分为企业客户和未验证客户, 在不同的地方展示. 纯属个人想法, JavaEye应该有自己的定位.(re:JavaEye目前有提供付费的招聘服务

 

个人介绍 Top


李彦辉,ThoughtWorks咨询师,在大规模企业应用开发和互联网应用开发方面有6年经验,对于程序设计和敏捷开发方法的理论和实践方面有较深认识。目前致力于研究和传播构建、测试、部署方面的最佳实践。

 

 

                                              

许伟,ThoughtWorks咨询师,拥有6年企业应用开发经验,对于程序设计和敏捷开发方法的实践有较深认识。加入ThoughtWorks之前作为项目经理成功交付了多个企业应用项目。目前发起了Thelei Code Generator和DBDeploy For C++等多个开源项目,现从事敏捷软件开发,关注于敏捷实践在软件开发中的应用,致力于敏捷实践的推广。

 

 

ThoughtWorks资深讲师为您揭秘-持续集成之道 Top

2009年11月19日-20日,ThoughtWorks将在北京举行持续集成的培训大会,讲解如何使用Cruise进行持续集成开发。相信身为企业核心的你一定不会错过!

 

链接:http://www.iteye.com/news/10959-thoughtworks


11月19日(周四、全天)、11月20日(周五、上午半天)
北京京仪大酒店
每天7小时 (9:00-12:00,13:30-17:30),上午半天(9:00-12:00)


课程名称:持续集成之道-使用Cruise培训课程

课程介绍:

软件项目需要敏捷,企业更需要敏捷。一支敏捷的团队能够在项目中收获成功,而一家敏捷的企业能够在市场的风雨中屹立不倒。

在 敏捷实践中存在一种名为“持续集成”的实践。持续集成(ContinuousIntegration,CI)是“节能减排”的一种重要体现,是一种绿色实 践,它在拒绝浪费,降低产品研发风险,提高软件质量方面起到了举足轻重的作用。尤其是对企业级用户来说,它大大的降低了开发成本和周期。

从全世界范围的软件研发趋势来看,开源项目都实施了持续集成的工作,大量商用软件的研发工作也在逐渐拥抱这一敏捷实践。

通过本课程你将会学到如何搭建有效的持续集成环境,来帮助减少开发中的集成问题,提高代码质量以及整个团队的沟通和协作。你也会发现,一个好的持续集成环境如何扮演团队中沟通枢纽的角色。

 


培训目标
理解持续集成的要点及原则
能够在自己的组织中搭建持续集成环境,运行自动化测试,收集并报告构建结果
能够识别并解决持续集成中的常见问题
了解Cruise的特性和用法

培训对象
  本课程适合公司技术负责人,项目经理,资深开发人员。

课程内容

持续集成的要点和原则
持续集成的准备工作
搭建持续集成环境
构建策略和最佳实践
构建结果通知机制
自动化测试
自动化代码分析
与问题追踪工具集成
自动化发布管理
分布式构建
在大型项目中应用持续集成

 

点击查看更多详情:http://www.iteye.com/news/10959-thoughtworks

  • 大小: 1.5 KB
  • 大小: 9.9 KB
  • 大小: 783.6 KB
  • 大小: 14.3 KB
  • 大小: 42.5 KB
  • 大小: 39.6 KB
  • 大小: 138.2 KB
  • 大小: 14.7 KB


评论 共 22 条
22 楼 raoliv 2011-11-09 12:01
这个广告败在俩快递身上了, 随便俩UPS员工应该都比他们有气质。
21 楼 goldenfish1919 2011-08-23 17:54

前几天去面试,被鄙视了,呵呵

感觉给我面试的那两个人还是挺有水平的
20 楼 kuchaguangjie 2011-04-25 15:58
装 C-1 型 公司
19 楼 bureaucrat 2011-04-01 11:09
不像咨询师像送快递的
18 楼 kingzzm 2011-01-31 16:16
感觉很挫啊。。
17 楼 speedoops 2010-12-21 12:17
持续集成要发挥威力还得靠大量有效的测试用例
16 楼 dengzhangtao 2010-12-01 16:55
shl270070 写道
Thoughtwork 实际上没有广告吹的那么神乎,我去面试英语不过关,去里面参观了一圈,没什么特别,咨询师也没几个,大部分都是开发或外包人员。
在这里我想说个例子:
人人都知道沃尔沃汽车安全,事故率最低,真安全么?沃尔沃打出的口号就是安全,所以买沃尔沃的车主都是以安全第一为理念,自然就平安无事了。
我们总以thoughtwork宣传的理念来看待它,那么它自然很神圣,但了解的越深,越能发现它并不是高不可攀,它其实是广大IT公司中的一员。

完全不知道你在说什么。 真的
15 楼 yjl1008 2010-10-19 13:01
对Scrum的工具支持,建议大家看一下 Topo研发管理系统
这里有个博文中讲到了,觉得还是不错的.大家可以看看。
http://wuming305.javaeye.com/blog/782108
14 楼 飞语001 2010-10-13 07:42
看来都是一些牛逼人啊。
13 楼 lkj107 2010-10-08 13:56
嘿嘿,笑而不语
12 楼 Godlikeme 2010-09-16 10:16
呵呵,有点意思,咨询多以貌取人,白胡子老头更受认可。
11 楼 ljz0898 2010-08-27 10:09
挺年轻的,太厉害了吧!
10 楼 eltonto 2010-07-09 15:44
Thoughtwork 实际上没有广告吹的那么神乎,我去面试英语不过关,去里面参观了一圈,没什么特别,咨询师也没几个,大部分都是开发或外包人员。

以为很NB,他们搞什么的?
meego
9 楼 shl270070 2010-07-02 10:56
Thoughtwork 实际上没有广告吹的那么神乎,我去面试英语不过关,去里面参观了一圈,没什么特别,咨询师也没几个,大部分都是开发或外包人员。
在这里我想说个例子:
人人都知道沃尔沃汽车安全,事故率最低,真安全么?沃尔沃打出的口号就是安全,所以买沃尔沃的车主都是以安全第一为理念,自然就平安无事了。
我们总以thoughtwork宣传的理念来看待它,那么它自然很神圣,但了解的越深,越能发现它并不是高不可攀,它其实是广大IT公司中的一员。
8 楼 morroky 2010-05-31 16:51
人不可貌相啊兄弟们
7 楼 treemap 2010-05-29 16:32
2个人 怎么像送快递的
6 楼 berlou 2010-05-12 22:27
不像咨询师,更像推销员。
6年能对软件有很深刻认识,那是扯淡,只能偏偏客户钱罢了。
自动构建,持续集成,TW或许做的真挺好,其他企业也不一定差。只是人家不靠这个赚钱,而TW靠这个赚钱,并且出去吹吹牛罢了。
5 楼 leon_qiu 2010-05-11 10:55
看上去好年轻么。。
4 楼 poster214 2010-03-22 14:44
这都是老师了
3 楼 yangy608 2010-03-02 13:36
2个嘴上没毛的小P孩 就使劲吹吧
2 楼 shinezhou 2010-02-24 11:12
这公司部错~


1 楼 cgd123 2009-12-30 11:06
ThoughtWorks公司好像很不错的样子。

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 专访杨彦探寻某地产人才经营之道.docx

    专访杨彦探寻某地产人才经营之道.docx

  • 探寻ThoughtWorks的敏捷实践,专访ThoughtWorks咨询师 <摘要>

    敏捷包括TDD、重构、简单设计、持续集成等。 TDD确保编码前理解需要,并保持简单设计;同时TDD自身的大量自动化测试为持续集成提供了保证;在重 构代码时保证代码质量,达到简单设计。   敏捷思想提倡以人为本...

  • ThoughtWorks读书雷达

    在2013年4月份,ThoughtWorks中国的员工张逸和刘龙军根据自己在ThoughtWorks的工作和学习经验,结合自己的阅读经历,以及参考诸多其他同事的建议,制作了第一期读书雷达(为什么是雷达,请参考ThoughtWorks的技术...

  • ThoughtWorks 2016读书雷达

    在2013年4月份,ThoughtWorks中国的员工张逸和刘龙军根据自己在ThoughtWorks的工作和学**经验,结合自己的阅读经历,以及参考诸多其他同事的建议,制作了第一期读书雷达(为什么是雷达,请参考ThoughtWorks的技术...

  • 思特沃克(ThoughtWorks) 外企面试题 面试经验分析 面试题 软件测试工程师 测试面试题分享 测试需求理解和用例设计编写 SeleniumUI自动化测试 接口测试 性能测试 实战之战损版

    思特沃克(ThoughtWorks) 外企面试题 面试经验分析 面试题 软件测试工程师 测试面试题分享 测试需求理解和用例设计编写 SeleniumUI自动化测试 接口测试 性能测试 实战之战损版 很遗憾,前期和HR沟通很愉快个人兴趣...

  • ThoughtWorks中国人才

    徐昊是ThoughtWorks中国区首席技术专家,ThoughtWorks全球技术策略顾问。他从2003年起开始实践极限编程等敏捷方法,2005年开始,多次以敏捷教练的角色帮助国内外多个团队实施极限编程、Scrum和FDD等敏捷方法,敏捷...

  • 参考资料-专访杨彦:探寻人才经营之道.zip

    参考资料-专访杨彦:探寻人才经营之道.zip

  • 不可不读 敏捷经典--《新方法论》

    本文的初版探寻了新旧原则间的不同并通过一个敏捷方法的调查来深入的理解它。时过境迁调查中涉及的敏捷开发的内容已经发生了变化,但是新旧差异依然存在,我们将继续讨论下去,回头再说,现在开始 …   无...

  • 带你走进ThoughtWorks文化-3 PILLARS、TWU、站会、迭代会议、回顾会议、代码评审、反馈

    ThoughtWorks文化 WHO AM I ? 专业IT 服务型 公司 5000+人,14个国家,40间办公室 由Roy Singham于20世纪80年代后期创立 3 PILLARS 经营可持续的业务 咨询服务: IT组织优化,技术咨询,测试策略,客户体验 ...

  • PMP敏捷知识点

    1、敏捷宣言:我们一直在实践中探寻更好的软件开发方法,身体力行的同时也帮助他人,由此我们建立 了如下价值观: 重于 流程和工具 重于 详尽的文档 重于 合同谈判 响应变化 重于 遵循计划也就是说,尽管右项有其...

  • 代码之丑(九)——退让的缩进

    郑晔,ThoughtWorks公司咨询师,拥有多年企业级软件开发经验,热衷于探索各种程序设计语言在真实软件开发中所能发挥的威力,致力于探寻合理的软件开发方式,加入ThoughtWorks公司后,投入到敏捷开发方法的实践之中,...

  • “代码之丑”系列文章转载

    郑晔,ThoughtWorks公司咨询师,拥有多年企业级软件开发经验,热衷于探索各种程序设计语言在真实软件开发中所能发挥的威力,致力于探寻合理的软件开发方式,加入ThoughtWorks公司后,投入到敏捷开发方法的实践之中,...

  • 敏捷方法 - 敏捷的理念

    从本文开始,我们将开始一个新的系列,讨论目前主流的敏捷方法。结合软件开发过程,我们把敏捷的理念分成四大块内容,即适应变化、团队协作、交付价值和过程改进。 1. 适应变化 敏捷最为人称道的一个理念就是...

  • 持续交付中的业务分析

    在需要频繁交付、不断收集用户反馈、拥抱变化、追求业务敏捷的项目中,软件的开发和交付是迭代式进行的。在这样的项目团队中,BA(业务分析师)通常需要在一个开发迭代开始之前完成该迭代开发任务的分析。但在特殊...

  • 图解敏捷教练和 ScrumMaster

    课程介绍 在互联网时代快速变化的今天,传统管理方式已经失效并且逐渐被社会淘汰,...敏捷能力的培养并不是简单了解后就可以速成的,但如同任何其他职业一样,成为一名敏捷教练是有一套可以刻意练习出来的基本功。...

  • CSDN高校俱乐部2012年秋季巡讲安排及讲师介绍

    CSDN高校俱乐部2012年秋季巡讲行程在各位讲师、主席和指导教师的给力支持下已初步出炉。部分学校仍需要确认时间安排,大多数学校已确定巡讲时间,时间表列在下方。(讲师介绍在最后,阵容强大值得期待) ...

  • 增加你的生产力!VS Code程序员鼓励师插件,你值得拥有!

    真的是,萝莉音程序员鼓励师24小时在线,陪你 coding 到天明。 内置中文语音包采用真人语音,支持 JavaScript 语言的常用关键字(支持到 ES6 版本)。 不仅如此,还有专门针对时间的语音。 比如连

  • 基于云计算的软件工程质量- 讨论中ing

    大云、中国云、国云、太湖云、祥云、云海、蓝云等这些雄心勃勃的云机构也云聚于此工信部成立云计算研究中心IVAR大师上周来协会推翻了CMMI和敏捷,提出要通过SEMAT颠覆时下软工近期,SEI和OMG共同发起了迥异于CMMI的...

  • 基于Android 7.0与Android Studio的安卓学习.zip

    Android是一种基于Linux内核(不包含GNU组件)的自由及开放源代码的移动操作系统,主要应用于移动设备,如智能手机和平板电脑。该系统最初由安迪·鲁宾开发,后被Google公司收购并注资,随后与多家硬件制造商、软件开发商及电信营运商共同研发改良。 Android操作系统的特点包括: 开放源代码:Android系统采用开放源代码模式,允许开发者自由访问、修改和定制操作系统,这促进了技术的创新和发展,使得Android系统具有高度的灵活性和可定制性。 多任务处理:Android允许用户同时运行多个应用程序,并且可以轻松地在不同应用程序之间切换,提高了效率和便利性。 丰富的应用生态系统:Android系统拥有庞大的应用程序生态系统,用户可以从Google Play商店或其他第三方应用市场下载和安装各种各样的应用程序,满足各种需求。 可定制性:Android操作系统可以根据用户的个人喜好进行定制,用户可以更改主题、小部件和图标等,以使其界面更符合个人风格和偏好。 多种设备支持:Android操作系统可以运行在多种不同类型的设备上,包括手机、平板电脑、智能电视、汽车导航系统等。 此外,Android系统还有一些常见的问题,如应用崩溃、电池耗电过快、Wi-Fi连接问题、存储空间不足、更新问题等。针对这些问题,用户可以尝试一些基本的解决方法,如清除应用缓存和数据、降低屏幕亮度、关闭没有使用的连接和传感器、限制后台运行的应用、删除不需要的文件和应用等。 随着Android系统的不断发展,其功能和性能也在不断提升。例如,最新的Android版本引入了更多的安全性和隐私保护功能,以及更流畅的用户界面和更强大的性能。此外,Android系统也在不断探索新的应用场景,如智能家居、虚拟现实、人工智能等领域。 总之,Android系统是一种功能强大、灵活可定制、拥有丰富应用生态系统的移动操作系统,在全球范围内拥有广泛的用户基础。

  • node-v4.6.1-sunos-x86.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

Global site tag (gtag.js) - Google Analytics