#pair programming #xp

Pair programming: making the whole greater than the sum of its parts

When was the last time that you did some pair programming? How often do you practice it and why? Is it actually pair programming or is it just two people sitting side by side? Software engineering is a young and rapidly moving profession. Things have changed radically over the past few decades and we have to realize that it is a team sport. Great software is produced by great teams and I cannot imagine a team being great without members that are interacting a lot. ...

#software design #functional programming

Software design with lambda expressions

Lambda expressions are powerful and allow us to write concise, elegant, declarative code. A lot of people has already adopted them, mainly leveraging the power of streams in iterations, but lambda’s toolkit is far richer than that. This is why I decided to write this blog post and explore some aspects of how lambda expressions can prove useful in software design. We will do this exploration via a real world case study in order to demonstrate how we can apply these principles in our everyday work. ...

#tdd #xp

Comparing TDD flavours

A few days ago, right after my talk/demo on hands-on Test Driven Development (TDD) on the JHUG meetup, I noticed that a lot of conversation was about applying TDD in real world systems. Somehow people felt that it was great for a short demo or for implementing a small, algorithmic piece of code, but could not see how it could be applied to a greater scale. Conversation quickly shifted to Outside-In TDD and I decided to try and organize my thoughts concerning the two approaches. ...