7 袁慎建@ThoughtWorks

尚未进行身份认证

ThoughtWorks咨询师、培训师,健身爱好者

等级
博文 49
排名 2w+

Scrum需要一个双刃团队

Scrum是一场创业1993年,Jeff和Ken开创了Scrum,至今已经有25年之久。如今敏捷开发也不是什么流行词儿,不少IT组织已经走在敏捷转型的路上,还有一部分组织则刚痛下决心抛弃瀑布式计划型开发模型,试图采纳敏捷开发框架(比如Scrum)。但大部分组织即便拼得遍体鳞伤,仍然无法按期交付卓越的软件,最后要么放弃,要么就医–引入专业敏捷咨询师,ThoughtWorks已帮助业界诸多大型组...

2019-01-04 09:58:52

深入解读敏捷宣言

敏捷宣言概览犹他州(Utah)的雪鸟城(Snowbird)是一个不太可能发生软件革命的地方,它位于盐湖城外约25英里的地方,一点都不像硅谷:既不以阳光和温和的气候闻名,也不是什么科技创新中心,更没有那么多充满热情的企业家。但就在这里,一个滑雪胜地,一群具有反叛性的软件开发人员于2001年2月聚集在一起,经历了为期三天的讨论,他们制定并签署了行业历史上最重要的文件之一:敏捷宣言。英文版:We...

2018-12-26 12:20:23

简单设计落地三板斧

如果你认同简单设计的价值观,我相信解析简单设计原则对你来说很容易理解并接受,它不像面向对象设计原则(比如:SOLID)那么晦涩难懂,它给你指明了一条明朗可通行的道路。即便如此,前进的道路依然不是一帆风顺,尤其对于新手来说,怎么将这些已经很接地气的原则更高效地落地,从而创造更大的价值,本文我将分享帮助我们落地简单设计的三板斧:TDD、重构和整洁代码。价值体系假如让你去建造一幅巨大的广告牌...

2018-12-24 09:33:05

解析简单设计原则

在我的简单设计价值观一文中,我分享了我在实践中形成对简单设计的理解。而提到价值观,平时跟同事讨论某个技术实践的时候,一旦触碰到价值观,我就会很谨慎,因为在两个人价值观不同的前提下,去讨论一项实践的好坏,很可能在面红耳赤之后不欢而散。如果你压根都不认同简单设计价值观,我不建议你阅读此文。如果你跟我刚开始类似,并不是不认同简单设计的价值观,只是觉得它很抽象,没法落地,本文我会基于KentBec...

2018-12-23 20:12:12

我的简单设计价值观

保持简单简单是一个成年人司空见惯的词,我们大部分人却觉得纯真的孩子才是简单的很多时候,我们习惯把简单跟容易理解为是一个意思,比如:这个问题好简单(复杂),另一层含义是:解决这个问题很容易(困难)?这个时候简单跟容易是一个意思。再比如说:我真羡慕她能过如此简单的生活。另一层含义是什么呢?我们先来看一张图:简单和复杂多用于形容事物或人的属性或状态,容易和困难一般形容达到某种目标的过程。所以...

2018-12-11 18:24:26

Workshop中的价值交付投射模型

循序渐进的偶然有些事情单独看起来有点偶然,仔细回想起来却是循序渐进的过程。去年在北京一次偶然的应届生培训,让我向培训师又靠近了一步,紧接着顺水推舟,借着微服务的一阵学习分享的东风,我偶然地负责了一起面向北京Office的微服务技术实践的Workshop,而就在此前不久,我偶然被选为公司微服务培训的目标学员,恰好我所在的项目又采用了微服务的那些技术实践…作为组织者以及培训师,我难免会遇到一系列问...

2018-12-10 09:15:44

ThoughtWorks给你不一样的入职之旅

本文同时发表于ThoughtWorks洞见。不一样的旅程ThoughtWorks是一家极具创造力的公司,在这里,人才是最重要的资产。如果你以应届生的身份加入TW,你将获得5周的出国留学机会(ThoughtWorksUniversity,简称TWU),如果你通过社招加入TW,你会获得为期三天的TWI。除了TWU、TWI,TW还提供诸如NHO、Session、Workshop、Buddy/...

2018-12-03 09:59:19

一枚程序员眼中的单元测试

为了更好地阅读体验,欢迎访问博客原文论测试的重要性如今程序员群体赶上了中国最庞大的农民群体,大街上随便抓一把,十有八九是程序员,还一个刚从某国企离职报名参加软件培训班。我想码农的称号或许就是这么来的吧。在外行人看来,程序员是一个成天对着电脑倒腾着代码、看着Terminal上行云流水般的打印、过着不修边幅的日子外加超负荷的码农。在内行人看来,程序员是一个成天面对QA的”质疑”

2018-11-28 14:03:15

改善程序员生活质量的 3+10 习惯

为了更好地阅读体验,欢迎访问博客原文。本文同时发表于ThoughtWorks中国简书一封离职邮件2017年的一天,代码伴随着手指极具节奏感地输出在IDE上,突然某Chrome插件弹出一封邮件提示:“今天是我在ThoughtWorks的最后一天”。遇到这种离职邮件,我都会点进去,一来看看是否是自己曾经共事的小伙伴,二来了解一下小伙伴离职的原因。离职原因无出其右:跳出去接受更有挑战的

2018-11-28 13:59:14

从另一个角度告诉你单元测试的意义

为了更好地阅读体验,欢迎访问博客原文【文末有程序员福利】当下微服务如火如荼,各个团队在争先恐后推出微服务,不论在概念上还是在实践上,如果自己没有跟微服务挂上钩,便会被贴上落伍的标签。我们在推微服务的时候,我们说微服务架构具备如下优势:架构灵活,能够应对复杂的业务需求。独立部署,大大提高CI/CD的效率。服务自治,支持技术栈多元化。……这些特征恰恰是单点应用无法具备的,

2018-11-28 13:55:02

写给新人的一封信

为了更好地阅读体验,欢迎访问博客原文。本文同时发表于ThoughtWorks洞见情从何起最近工作和生活中发生了一些事情,促使我想写点东西,给新人写点东西,何谓新人,后文会有介绍。先来缕一缕最近所发生的事情:去年一个来我们组实习的大一小妹妹(现在大二了),突然微信找到我,想从测试转到开发方向,向我寻求建议。某在校生通过我的博客加了我的微信,向我打听从事软件开发行业的一些

2018-01-30 13:23:22

Buddy/Sponsor培训•信任的构建

为了更好地阅读体验,欢迎访问博客原文Buddy/Sponsor是什么?Buddy,正如这个词的意思,小伙伴,好朋友。记得加入ThoughtWorks的时候,大家在公司内部的Session和微信群里喊的最多的是小伙伴。慢慢地我发觉一个现象:几乎每个人都把同事当成自己的小伙伴,大家相处很友好,互帮互助,整个氛围像个大家庭。试想一下,一个刚加入TW的新人,对TW的组织文化和做事方式充满好奇

2016-06-22 22:14:26

我在ThoughtWorks中的敏捷实践

为了更好的阅读体验,欢迎访问博客原文此文章已发表于InfoQ,阅读InfoQ文章项目回顾项目背景E项目是一个在线的物资跟踪监控系统。由ThoughtWorks团队为客户提供的一套完善的软件交付服务。该系统为资助物资的跟踪与监控提供了完整的网络解决方案。整个流程涵盖了客户对物资来源的管控、库存管理、物资下发与跟踪、客户与IP(ImplementingPartne

2016-05-03 10:24:29

Ruby on Rails 路由解析

Rails中URL的约定严格基于`RESTful`风格的。客户端的请求其实是在操作一些资源,同一资源的不同的请求动作(`GET`,`POST`,`PUT`,`PATCH`,`DELETE`)分别对资源进行不同的操作(CRUD)。默认的情况下,我们只需要在routes.rb文件中配置好资源,Rails会为该资源生成7种不同的路由,根据路由就可以将客户端的请求转交给服务端对应的控制器进行处理,然后做出正确的响应。

2016-04-14 19:56:25

Ruby on Rails 初次冲浪体验

Rails是一个用Ruby编写的Web应用开发框架。它的设计目标是通过预先提供开发人员最开始需要的基础设施,从而让Web应用开发更加容易。它可以让你写更少的代码来完成其他语言和框架所不能完成的工作。有过Rail开发经验的人都说它能让web应用开发变得更有趣。

2016-04-13 22:09:21

Ruby Get Started

我虽说有近3年的软件开发经验,但对与[Ruby](https://www.ruby-lang.org/en/),我也是一个新手,近期项目中用到了[RubyonRails](http://guides.rubyonrails.org/index.html)。本文是我在学习ruby是经历的一些过程,主要是开发前的一些环境的准备,分享出来,供初学者参考。

2016-04-12 20:27:52

初次做技术领导的3个陷阱

Don’tmisstheauthor’searlierpostonthe5TipsforBeinganEffectiveTechLead.不要错过作者之前发表的文章高效技术领导的5个锦囊妙计ThefirsttimeadeveloperstepsintotheroleofaTechLeadcanbedifficult.Theski

2016-03-31 08:49:24

高效技术领导的5个锦囊妙计

BecomingaTechLeadisatoughtransitionforanydeveloper,becauseonlypartoftheskillsandexperienceyouhadasadeveloperpreparesyoufortheexpectationsofanewrole.Insteadofsimplyde

2016-03-31 08:44:20

Django 数据库事务

管理数据库事务Django框架提供了好几种方式来控制和管理数据库事务。(以下Django框架会简化为Django,读者可自行脑补框架两字)Django框架默认的事务行为自动提交作为Django默认的事务行为,它表现形式为:每次数据库操作会立即被提交到数据库中,除非这个事务仍然处于激活状态。那么,更多详细内容见下文。Django使用事务或者保存点来保证多个ORM操作的完整性,尤其是针对delete(

2016-03-30 16:07:46

Django REST 异常处理

异常异常处理…允许错误处理在程序结构的中心或者高层级的地方被清晰有条理的组织起来。Exceptions…allowerrorhandlingtobeorganizedcleanlyinacentralorhigh-levelplacewithintheprogramstructure.—DougHellmann,PythonException

2016-03-30 15:52:17
奖章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!