menu

Blogs

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.

Lessons and Tips for Using XMPP

A sports broadcasting project I worked on a year ago used XMPP as a performance optimisation and for in-game chat. We used ejabberd (on AWS EC2) for the server, Strophe.js for our web clients and Asmack for the Android client (which didn’t end up getting released.) It was an interesting experience, and I’d use that combination of tools again.

Some things we learnt:

  • You can use ejabberd in as a stateless router of messages. I’d highly recommend this: it was pretty useful to us to be able to tear down our cluster of servers and re-build without any loss of…

Blog post by Giles Alexander
7 June 2014

Original Link

do your stories tell a story?

I want to address a common anti-pattern that I see and suggest an alternative approach.  I’ve seen different styles of user stories, and though the sections differ by the needs of the team and the style of the BA/Product Owner, one common section that I see is the context (aka business context, narrative, etc).  This is usual a paragraph or two that is meant to show how the change  facilitated by the story will impact the user.  We’ll come back to that goal in a bit.

Anti-pattern:  A context that does nothing more than describe how the product will work…

Blog post by JK Werner
18 April 2014

Original Link

Retrospective activity (filtering) : Most Likes and Dislikes

cross posted on FunRetrospectives.com

This is a follow-up on the Plus Minus Voting activity. It creates a visual tool for the marked items according to its total score (from the lowest to the highest).

Running the activity
1. Create an axis as per the figure below ().->
2. Ask the participants to place the marked post-its (from the Plus Minus activity) on the axis as per their total score (e.g., 4 + and 1 – have a score of 3).
most-likes-and-dislikes
3. Discuss with the group about the items.
Note that the items with + and – on it…

Blog post by Paulo Caroli
16 April 2014

Original Link

Most Likes and Dislikes

This is a follow-up on the Plus Minus Voting activity. It creates a visual tool for the marked items according to its total score (from the lowest to the highest).

Running the activity

1. Create an axis as per the figure below ().

2. Ask the participants to place the marked post-its (from the Plus Minus activity) on the axis as per their total score (e.g., 4 + and 1 – have a score of 3).

most-likes-and-dislikes

3. Discuss with the group about the items.

Note that the items with + and – on it represent items in which…

Blog post by Paulo Caroli - Funretrospectives
16 April 2014

Original Link

APIs & Documentation – Who’s the Tail and Who’s the Dog?

API Docs: The Traditionalist View

I’ve written a lot of APIs in my time (think RESTful-type APIs, not library APIs). Often times, clients don’t have access to the code or don’t care to pore through it, so documentation is important. I’ve generally held the following to be somewhat of a maturity model for API documentation:

  1. No docs – call me and I’ll show you how to use it!
  2. Go to the wiki
  3. The docs are on a special page of the web application hosting the service. This is nice because the docs
    are versioned with the app; in fact, they…

Blog post by Brandon Hastings Byars
16 April 2014

Original Link

Leading vs. Lagging Indicators OR Futurospective vs. Retrospective Activities



Cross posted on www.caroli.org

Floyd Marinescu on his Culture and Happiness in Virtual team presentation at the QConSP 2014 conference brought a very interesting point to my attention.

Make sure to track and meet weekly to talk about your team leading and lagging indicators.

Leading indicators are metrics about the future and upcoming events. Lagging indicators are metrics collected based on the past events and happenings.

I watched his talk a little after I had given my latest talk about retrospectives. Naturally I related his points to my retrospective world.

Traditional retrospectives activities are looking at the past. Typically,

Blog post by Paulo Caroli
15 April 2014

Original Link

Hidden: What’s Beyond Measurement

About 550-600 million years ago, just prior to the Internet, the earth experienced the Cambrian explosion in which flora and fauna species proliferated. Wild and weird life forms emerged. Then, with a bang, as happened to the dinosaurs, 96% of all those species vanished. It wasn’t the survival of the fittest, but the survival of […]

The post Hidden: What’s Beyond Measurement appeared first on Jim Highsmith.

Blog post by Jim Highsmith
15 April 2014

Original Link

Review: Adaptive web design

Adaptive web design by Aaron Gustafson is a good book on an important topic. How the web evolves, and how it caters to the broad spectrum of its users, that now make up the majority of the population in affluence societies, is a crucial consideration.

The book is a curious mixture of tips, philosophy and polemic. Gustafason includes specific technical detail, for example microformats, structuring CSS selectors and ARIA roles.

He also treats progressive enhancement as a moral issue, which is both a reasonable point of view and a rhetorical device. For example, he describes the technique of graceful degradation as…

Blog post by Chris Ford
13 April 2014

Original Link

Reading Environment Variables in Puppet

Puppet uses a tool called Facter to discover facts about the system it is going to provision. Some examples of these facts are: $operatingsystem, $hostname, $processorcount, etc. These facts are available as variables in puppet to use in manifests. You can see the full list here: Factor 2.0 Core Facts.

If you want an environment variable, or a bash script parameter to be available to puppet, you need to make it available as a Facter fact. You can do that by simply setting a variable whose name is prefixed with the "FACTER_" string.

So…

Blog post by Gurpreet Luthra
13 April 2014

Original Link

It works in my machine

One of the common answers a developer gives when s/he notices a bug is that “it works in my machine”. This was so common and always boils down to the configuration difference between the testing environments and development environments. It is not so easy to keep the development and testing environments very similar but lots of those could be scripted and made automated such that it is an executable document. There are also lots of development hygiene practices that needs to be strictly adhered to avoid these kind of bugs.Confused

Where could things go wrong?

There are many things that…

Blog post by Vinod Kumaar Ramakrishnan
12 April 2014

Original Link