• en | es

Dangerous Words

Ludwig Wittgenstein was one the greatest philosophers of 20th century. His book Tractatus Logico-Philosophicus addresses the limits of language and its relationship with reality. A friend of mine, great polemicist, suggested me to read it some years ago to understand one of his favourites conversational...


Multiple projects in Visual Studio solutions considered harmful

Multiple projects in Visual Studio solutions considered harmful I agree with Chad Myers when he defines a common project anti-pattern “Many projects in a Visual Studio Solution”. Fast feedback loop Too many projects increase both the load and build time of your solution. Also a...


Project Sizing

Sizing a project is one of the most important things we do and it is often the first thing we need precisely when we have the least amount of information. During a pre-sales meeting the client will usually ask for a "ballpark" figure so that...


User Story Guidelines

Disclaimer: This post was extracted from an internal Codurance document used to help our apprentices to learn how we work. We all understand that each project is different and that by no means we can apply exactly the same techniques and practices everywhere. However, the...


JavaScript - A Tough Love

In the 90’s we were witnesses of browser wars. Wars which created one of the most hated languages: Javascript. Web designers touch by Javascript at the beginning of 21st century constantly refused to fix bugs titled as “It doesn’t work in Internet Explorer” or “Netscape...


How to install Prezto with Zsh for your OS X Terminal

Once in a while, whether it be by someone I'm pairing with or someone who's just peeked over my shoulder, I'll get asked how I "got my terminal to look like that". From now on I'm just going to direct them to this post as...


Rethinking Pair Programming

By default, we always do our work in pairs. We strongly believe that the quality achieved by two people working on the same task is superior to when done by a single person. However, there are times where pairing is not very efficient. Pair programming...


Balanced Abstraction Principle

One of the things that make code complicated to read and understand is when the instructions inside a method are at different levels of abstraction. Let's assume that our application only allows the logged-in user to see trips from her friends. If users are not...


Impact Mapping

We had the pleasure to visit a client who asked us to facilitate a workshop. The aim was to create a plan for their investors in order to release the next round of funding for a social media website. They had a product backlog that...


Code quality cannot be measured

We cannot effectively measure what we can't precisely define. And this is definitely true when it comes to software quality. What is software quality? What does quality mean? Quality for whom? Compared to what? In which context? Are we talking about quality from a developer's...


Subscribe to newsletter