极限编程与极限生活

ThoughtWorks团队在进行软件开发时,一般不使用Scrum和Kanban,而是使用“极限编程”(Extreme Programming)方法。“把通常的做法推进到极致”,这个来自极限编程的准则,能解决程序员在职场和生活中所面临的种种问题,并且能把其在职场和生活中的体验带到极致。

要想把事情做到极致,需要“戒贪、专注和反馈”的心态。

IoT时代的设计

设计永远为现实世界服务,我们所谈论的设计思维和实践方法,皆来自于对现实设计问题的解决,例如,个人计算设备的兴起,触发了以用户为中心的用户体验设计;互联网经济的蓬勃发展,又带动了结合客户需求、技术实现、商业模式的设计思维的发展。

而这有一个前提,是我们有一个主宰性的计算设备(PC机、Web、到Mobile),IoT时代的到来正在打破由一个主宰性计算设备所带来的「主流范式规则」,如果这一规则发生变化,我们所基于此建立的、关于设计的一切,都需要我们进行重新思考。

微服务化小团队集群的组织和管理

在组织管理方面,越来越多的挑战被识别出来,把“自组织”当做银弹来回答这样集群小团队组织和管理中的问题是行业里存在的一个不好趋势。在最近和Matin Fowler的讨论中,我们达成共识的一点是:与其说微服务是一种技术架构,还不如说是一种企业组织架构。

希望通过本文与大家一起研讨这样服务化小团队集群的组织和管理方法。

单体中心代码库 vs. 分布式代码库

一些正在快速增长或者需要转型的中小型公司就对代码管理方式和代码管理工具的选择产生了疑惑:是应该学习Google的核心代码库而继续使用单体代码库的管理方式,然后自己开发和定制化自有的代码管理工具,还是学习Linux,Android以及OpenStack等开源项目而转向分布式代码管理方式和免费的分布式代码管理工具,或者直接使用基于云端的代码管理系统等。