Lots of our people have lots of opinions. Here are just a few of them

ThoughtWorks embraces the individuality of the people in the organization and hence the opinions expressed in the blogs may contradict each other and also may not represent the opinions of ThoughtWorks.

Agile Architecture

A couple of weeks ago I did a joint talk with my colleague Molly Bartlett Dishman about the interaction of agile software development and application architecture. We talk how these two activities overlap, explaining that architecture is a vital part of a successful agile project. We then move on to passing on tips for how to ensure that the architecture work is happening.

This talk was part of ThoughtWorks’s “Rethink” event in Dallas. There are also excellent talks by Brandon Byars on how enterprises should be restructured to take advantage of agile thinking and by “Pragmatic” Dave Thomas on…

Martin Fowler
18 December 2014

Original Link

Testing in the Medical domain

I had the opportunity recently to do some testing, though for a very short time, in the Medical domain - something that I have always aspired to. I learnt a lot in this time and have gained a lot of appreciation for people working in such mission-critical domains. 

Some of these experiences have been published here as "A Humbling Experience in Oncology Treatment Testing" on ThoughtWorks Insight. Looking forward for your comments and feedback on the same.

noreply@blogger.com (Anand Bagmar)
16 December 2014

Original Link

APIs should not be copyrightable

Last month, the Electronic Frontier Foundation (EFF) filed an amicus brief with the Supreme Court of the United States, asking the justices to review an earlier lower court decision that allows APIs (Application Programming Interfaces) to be copyrightable. I'm one of the 77 software professionals who signed the brief although rather intimidated by a group that includes Abelson &amp Sussman, Aho & Ullman, Josh Bloch, Fred Brooks, Vint Cerf, Peter Deutsch, Mitch Kapor, Alan Kay, Brian Kernighan, Barbara Liskov, Guido van Rossum, Bruce Schneier, and Ken Thompson.

The original lawsuit was brought by Oracle against Google claiming that Oracle…

Martin Fowler
16 December 2014

Original Link

Adjusting Your Interaction Style

This is the fourth part of a series on Leading and Guiding Groups. Previously I wrote about how a leader has choices to make to build self-reliance and ownership as well as managing safety and performance.

In a dynamic environment a team needs to be continually learning. A team that isn’t risks making ill-informed choices, waiting to fail.

Take time to look at how and what your team are learning and help them focus on the right things. Adjust your style to support, amplify and adapt to the growth of your team.

Learning in a team environment


noreply@blogger.com (Dan Abel)
15 December 2014

Original Link

Replacing Throwing Exceptions with Notification in Validations

If you’re validating some data, you usually shouldn’t be using exceptions to signal validation failures. Here I describe how I’d refactor such code into using the Notification pattern.

Martin Fowler
9 December 2014

Original Link

Garmin Oregon 600

I recently bought a Garmin Oregon 600 handheld satnav (GPS) and took it on a vacation, hiking in Switzerland. I find it fun to use, a worthwhile upgrade on my earlier Garmin 60 CSx. It has a bright, clear screen, good battery life, and you can easily find decent open-source topo maps to put on it.


Martin Fowler
8 December 2014

Original Link

A Tech Lead Paradox: Technical Needs vs Business Needs

Agile Manifesto signatory Jim Highsmith talks about riding paradoxes in his approach to Adaptive Leadership. A leader will find themselves choosing between two solutions or two situations that compete against each other. A leader successfully “rides the paradox” when they adopt an “AND” mindset, instead of an “OR” mindset. Instead of choosing one solution over [...]

8 December 2014

Original Link

photostream 79

Panchgani, India

Martin Fowler
7 December 2014

Original Link

Solutions for "large, complex projects" in the enterprise that don't work

As I posted earlier, "large, complex projects" in the enterprise tend to suffer from problems of alignment and overconfidence.

Here are some typical "solutions" that don't work:

Delegate risk to the suppliers by putting legal penalties in the contracts.  If anything goes wrong, it will be the supplier's fault.

Add more document "controls".  If anything goes wrong, we can point back to the documents.

Spend more time in abstract planning up front.  We can flush out any problems before we start.  If anything goes wrong, we can't be faulted for not planning enough.

Lock things down early.  Then we…

Jason Yip
6 December 2014

Original Link

Cocktail party facilitation

A common ground rule for facilitated group sessions is "one person speaks at a time".

The rationale is that it's easier to understand a single-threaded conversation, it addresses people being interrupted, etc.

I wonder if, at least in some cases, this rationale is flawed.

Single-threaded conversations are unnatural because they imposed a centralised structure.  How might a more natural, decentralised facilitation approach look?

What if your group session was facilitated like a cocktail party or other similar social gathering?

People would have conversations based on what they want to talk about with whom they want to talk to.  Some conversations…

Jason Yip
5 December 2014

Original Link

New recording of Architecture without Architects

In September Michael Tiberg invited me to give my Architecture without Architects talk at the excellent FooCafe. The talk was recorded and the video is available on Youtube.

Erik Doernenburg
3 December 2014

Original Link

Sony a6000 with 16-70mm lens

A few months ago I bought a Sony a6000 camera because I was tired of the weight on my Canon DLSR. Here’s my informal review of the camera paired with the 16-70mm lens, which outlines why it’s now the camera I like to use most of the time.

Martin Fowler
3 December 2014

Original Link

Video of Agile Panel at goto Aarhus

At goto Denmark this year, I was on a panel discussing the past, present, and future of agile software development. I talked about the past, Prag Dave Thomas took a cynical look at the present, and Jez Humble, Katherine Kirk and Tatiana Badiceanu looked at where it was going.

Martin Fowler
3 December 2014

Original Link

Moco 0.10.0发布

前版信息:Moco 0.9.2发布

我很高兴地宣布,Moco 0.10.0发布了。






  final SocketServer server = socketServer(12306);



与HTTP本身支持很多参数不同,Socket只支持与内容相关的部分,比如,text、file、xml、json、match、exist、latency、template等等。更多细节,请参见Socket API的文档


  java -jar moco-runner--standalone.jar socket -p 12306 -c foo.json 


这个版本增加了一个许多人要求的新特性,在Java代码中可以使用JSON配置文件。这种用法与Moco设计JSON API的初衷有很大差别,但在实际的使用中,确实有很多人这么用,所以,在这个版本里提供了一个更简洁的API,不过,这个API存在于Moco Runner包中:

  jsonHttpServer(12306, file("foo.json"));


  • 增加attachment API,直接对下载附件提供支持。
  • 增加了template提取器的支持,比如,如下代码就会从请求中提取内容作为应答返回值。
      server.response(template("${foo}", "foo", jsonPath("$.book.price")));


另外,由于JSON Path底层实现的升级,可能会引入一些破坏性的变化,如果你用到JSON Path API,请注意。

更多发布相关信息,请参考Release Notes


感谢Alex Soto,提供Moco服务关闭的解决方案,增强了Moco服务器的稳定性。

3 December 2014

Original Link

Videos from XConf Manchester

I gave a suite of talks at the ThoughtWorks-organized XConf in Manchester a couple of months ago. They have now put videos up for the three talks I gave (each is around 20 minutes):

  • Agile Essence and Fluency: where I talk about the essential qualities of agile software development and the agile fluency model of Larsen and Shore
  • Continuous Delivery: what this technique is, its ingredients, how it differs from continuous deployment and its three main benefits
  • Microservices: some its common characteristics, its relationship with SOA, how big a microservice should be, the pros and cons of microservices, and…

Martin Fowler
2 December 2014

Original Link

Contract and End-to-End tests for Microservices

Toby Clemson finishes his guide to techniques for testing microservices. He adds two more classes of testing: contract tests test the interface contract of a microservice, end-to-end tests verify the whole system - but are prone to many difficulties. He concludes by looking at how these various kinds of tests should be assembled into an effective test portfolio.

Martin Fowler
1 December 2014

Original Link

Why you want to give up coding

A background story A friend of mine worked as a Tech Lead, let’s call them Jo (not their real name) for most of their career. A few years ago, Jo moved into a management role that involved very little coding. They were no longer working full-time as a developer and they stopped playing a Tech [...]

1 December 2014

Original Link

What's the best way to reduce the weight of a car?

We need to reduce the weight of the car we're designing.

So what we'll do is shave 10% off every component.  10% off the wheels, 10% off the engine, 10% off the frame...

OR maybe we'll remove all the passenger seats, the air conditioning unit, the entertainment system, investigate a ceramic engine, carbon fibre frame...

We need to reduce the operating cost of our department.

So what we'll do is ask every team to reduce their budget by 10%.


Jason Yip
1 December 2014

Original Link

The CIO and M&A, Part I

"It is hard not to be cynical about this. M&A is a great process for creating fees for bankers, and for destroying the value held by shareholders."

-- John Authers, writing in the Financial Times

Industries tend to go through waves of deal-making. Sometimes it is divestiture or separation: sprawling firms that serve different buyers or markets don't achieve much in the way of operating efficiency, and a "conglomerate discount" priced into their equity means there is value that can be released by dividing a firm into multiple businesses. This is something H-P did in the late 1990s, and…

noreply@blogger.com (Ross Pettit)
30 November 2014

Original Link






即便是今天,我偶尔也会调侃熊节是搞媒体的。他做媒体人那段日子,恰逢软件开发世界风云突变,有很多大家不断争论的东西。是.NET还是Java,是EJB还是Without EJB,是瀑布还是敏捷。那些年,各路大神你来我往,各种观点风起云涌,争论很大,每个人都有自己的思考,不断地拓展着理解,即便是作为看客,也很过瘾。时至今日,虽然新技术依然层出不穷,但大方向已定,那种思维之争已一去不复返了。抑或是今天的人都忙着各自创新去了,没有闲做思维之辩了。对于错过那段历史的年轻程序员,这本书可以带着回到那个唇枪舌剑的年代。






  • 2007年,敏捷中国大会,原本是我和Ola Bini一起讲东西,结果,他没来,我只好一个人上了。
  • 2008年,Starwood项目,关于IE上出Bug的故事,其实我用的是Dell笔记本,但是,装的是Ubuntu,所以,没发现IE的问题。
  • 2011年,熊节说他叫我去西安,可是,我2010年就已经转到了西安。
  • 2011年,索勤的故事,当时,我其实在墨尔本,那个时候的熊节不太相信人是可以培养的,而我则刚好相反。现在索勤已经是公司里面独挡一面的高手了。


30 November 2014

Original Link