Approaching Outside-in TDD on Android I

Outside-in Test-Driven Development (TDD) can be a challenge to implement. In this 3-part post series, Christian and I would like to share our experiences applying it to Android development and offer some practical tips for doing so yourself. In this first post of the series...


Codurance Barcelona

We are very happy to announce that we have opened a new office in Barcelona. Why Barcelona? Barcelona has a vibrant Software Craftsmanship community which is very aligned to our values at Codurance. We hope to provide a home for some of the talented developers...


Server side Swift

In December 2015 Apple open-sourced Swift, which has been a real success. Many developers are contributing, not only via pull requests directly into the source code, but also by helping to define the shape of the language in the swift-evolution repository. One of the things...


Chinese whispers on Scrum roles

Few days ago, I attended the 2-day Martine Devos' Certified Scrum Master, Estimation & Planning Class at Skills Matter. I had the privilege of meeting and learning from Martine Devos, one of the best Scrum trainer in Europe. This also gave me the opportunity to...


The Java Synchronisers

Threads communication happens primarily by sharing access to fields and objects. Although extremely efficient, this form of communication is prone to errors such as thread interference and memory consistency. Synchronization is a tool that helps to prevent such errors. However, synchronization does not come for...


Have you met the CLI?

What enables code written in C#, F# and VB.Net to run within the same application? And what is .Net anyway? A standardised specification When I was working on a legacy website, developed in VB.Net, I had to implement PayPal Payments Pro. After some searching, I...


Maven demystified

Due to my Android development background, I am more used to Gradle than to Maven. Although I knew that Gradle was based on Maven, I had never investigated what was going on behind the scenes. During the last week, I have been trying to understand...


Improve team's communication with User Stories

The challenge of Software development is about building a product which fulfills both business and users' expectations. The focus for each role within an Agile team is different: Project Managers want to see progress and want a quality product that is delivered on time and...


Three pillars of Continuous Delivery

Some time ago I was invited to take part in a online panel about continuous delivery. Continuous Discussions is a series of one-hour long panel discussions between people from different backgrounds about various aspects of continuous delivery. The topic of my panel was Deployment Automation...


Communicating Design

Software design is crucial. It is the foundation of an application. Much like a blueprint, it provides a common platform for parties from all backgrounds. It facilitates understanding, collaboration, and development. Design should not be considered only an element of development. It should not live...


Codurance Hiring

We're hiring!

We are hiring Java and .NET Craftspeople in London and Barcelona

Enjoying this article?

Sign up to our monthly newsletter to get content like this in your inbox!

Codurance Logo

Software is our passion.

We are software craftspeople. We build well-crafted software for our clients, we help developers to get better at their craft through training, coaching and mentoring, and we help companies get better at delivering software.

Latest Blogs




Contact Us

15 Northburgh Street
London EC1V 0JR

Phone: +44 207 4902967

Carrer Aragó, 208
08011, Barcelona

Phone: +34 689 723 737

Email: hello@codurance.com