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.

Talking about Refactoring on the Ruby Rogues Podcast

Last week I sat with the Ruby Rogues - a podcast about development in the Ruby and Rails world (Avdi Grimm, Jessica Kerr and host Charles Max Wood). They have a regular book club, and their book this time was the Ruby edition of Refactoring We talked about the definition of refactoring, why we find we don’t use debuggers much, what might be done to modernize the book, the role of refactoring tools, whether comments can be used for good, the trade-off between refactoring and rewriting, modularity and microservices, and how the software industry has changed over…

Blog post by Martin Fowler
22 October 2014

Original Link

Why constrain your retrospectives?

Retrospectives are a wonderful tool for continued improvement and learning.  Yet, we often don’t retrospect on our retros!  I have often found that the grouping of topics is constrained by the format of the retro.  This week I tried an experiment to remove that constraint and was pleased with the results.

Imagine a team with mixed software delivery believes.  Bob loves to pair, yet Rob wants to work on his own.  Bob, and a few others put stickies up in the positive section.  Rob, and others, put stickies up in the improve section.  The team dot votes, and though the…

Blog post by JK Werner
22 October 2014

Original Link

Upgrading to Yosemite - Rails development

It was very simple to upgrade to Yosemite from Mavericks.

Once the OSX upgrade is done, follow these steps to get back to action.

1) Open XCode to install the components
2) Install command line tools
        xcode-select --install
3) Reinstall Ruby
     CC=/usr/bin/gcc  rbenv install 2.1.2
4) Install bundler, libv8 and therubyracer gems
      gem install bundler
      gem install libv8 -v '' -- --with-system-v8
      gem install therubyracer -v '0.12.1'

If you are using RubyMine, you have to install Java. Apple prompted me to download this when I…

Blog post by Venkatesh Nannan
22 October 2014

Original Link

Do we need a Tech Lead?

A common question I hear is, “Is the Tech Lead role necessary?” People argue against the role, claiming a team of well functioning developers can make decisions and prioritise what is important to work on. I completely agree with this position in an ideal world. Sadly the ideal world rarely exists.

Even when perfect conditions exist during which team members talk to each openly, discussing pros and cons before arriving at an agreed solution, it doesn’t take much to upset this delicate balance. Sometimes all it takes is for a new person joining the team, a person leaving or some…

Blog post by Patrick Kua
21 October 2014

Original Link

Bliki: SacrificialArchitecture

You're sitting in a meeting, contemplating the code that your team has been working on for the last couple of years. You've come to the decision that the best thing you can do now is to throw away all that code, and rebuild on a totally new architecture. How does that make you feel about that doomed code, about the time you spent working on it, about the decisions you made all that time ago?

For many people throwing away a code base is a sign of failure perhaps understandable given the inherent exploratory nature of software development, but still…

Blog post by Martin Fowler
20 October 2014

Original Link

Types don't substitute for tests

When reading discussions about the benefits of types in software construction, I've come across the following claim:
When I use types, I don't need as many unit tests.
This statement is not consistent with my understanding of either types or test-driven design. When I've inquired into reasoning behind the claim, it often boils down to the following:
Types provide assurance over all possible arguments (universal quantification). Unit tests provide assurance only for specific examples (existential quantification). Therefore, when I have a good type system I don't need to rely on unit tests.
This argument does not hold in my experience…

Blog post by Chris Ford
19 October 2014

Original Link

Social Learning is Voluntary; Collaboration Platforms are Enablers

I love this description from Jane Harts post: 
FAUXIAL LEARNING is about forcing people to use social media in courses – or even in the workplace –  and then confusing compliance with engagement (and even worse) learning.

This totally hits the nail on the head. As an Instructional Designer and L&D Consultant, I am often asked questions like:

1.What social collaboration platform should we use? 
2.How do we get people to collaborate
3.Oh, but they don't want to share. How do we make them share their learning?

My  first reaction is to say: "You can't make people share or get anyone to collaborate." Then,

Blog post by Sahana Chattopadhyay
19 October 2014

Original Link

3 Milagres

São necessários 3 milagres para virar santo

Para virar santo você precisa primeiro fazer 3 milagres.
Se você começar numa equipe/empresa nova, lembre-se a não ser que você já seja um autor respeitado você vai precisar conquistar seu espaço/respeito.
Para conquistar seu espaço/respeito você precisa fazer as coisas acontecerem.
Se esforce e faça os milagres acontecerem, depois de 3 você vira santo e dai as pessoas passam a pedir sua benção.

Blog post by Roger Almeida
18 October 2014

Original Link

palestra: Direto Ao Ponto

Nesta palestra Paulo Caroli  demonstre a técnica Direta ao Ponto, e seus resultados na criação de projetos enxutos. Para começar um projeto ágil precisamos de um entendimento comum dos objetivos do negócio e os usuários de destaque. Com base nesse contexto, buscamos o esclarecimento dos “pedaços menores” que compõem o MVP, com a finalidade de gerar um plano para o acompanhamento do projeto.

Blog post by Paulo Caroli - Blog
17 October 2014

Original Link

Less caffeine, Less Debate, No more Carrom and No more Resentment !

Exactly that's how my life has been from past 2 months since I left my full time job ! It's more peaceful and lot more focussed on what I want to do for myself and definitely the big picture for which I envisioned and left my job. Working full time in an IT company is a bit competitive in terms of work pressure, the desire to perform better, the desire to stand by the faith of people who trusted you with the opportunity. Believe me working in IT for 8 years did leave some traces of competitiveness in me as

Blog post by Nishant Verma
16 October 2014

Original Link