Most interesting links of May ’13

Recommended Readings ThoughWorks Technology Radar May 2013 – Maven replaced by Gradle, Clojure and Scala on adopt, big enterprise SW and WS-* out, lot of interesting stuff to adopt or assess Straw Man TDD: debunking 6 common TDD myths (via M.Fowler) – such as TDD = {no upfront design, 2*longer development, # hard-to-change test code}.Continue reading “Most interesting links of May ’13”

Most interesting links of January ’13

Recommended Readings Various Dustin Marx: Significant Software Development Developments of 2012 – Groovy 2.0 with static typing, rise of Git[Hub], NoSQL, mobile development (iOS etc.), Scala and Typesafe stack 2.0, big data, HTML5, security (Java issues etc.), cloud, DevOps. 20 Kick-ass programming quotes – including Bill Gates’ “Measuring programming progress by lines of code isContinue reading “Most interesting links of January ’13”

Do You Know Why You Are Testing?! (On The Principles Underlying TDD)

Kent Beck in his recent post Functional TDD: A Clash of Cultures summarizes well the key principles and benefits that underlie test-driven development. I think it is really worthwhile becoming aware of and thinking over these foundation stones of TDD (and testing in general). Knowing them enables you to apply TDD in the most effectiveContinue reading “Do You Know Why You Are Testing?! (On The Principles Underlying TDD)”

Most interesting links of September ’12

Recommended Readings Johannes Brodwall: This dependency injection madness must end! – it’s very valuable to hear well-founded arguments against any popular belief and Dependency Injection is one of these. “I have started disliking the consequence of this strategy very much: All coupling in my system becomes implicit and harder to understand. I have instead revertedContinue reading “Most interesting links of September ’12”

Programming Like Kent Beck

Republished from with the permission of my co-authors Stig Bergestad and Krzysztof Grodzicki. Three of us, namely Stig, Krzysztof, and Jakub, have had the pleasure of spending a week with Kent Beck during Iterate Code Camp 2012, working together on a project and learning programming best practices. We would like to share the valuableContinue reading “Programming Like Kent Beck”

Principles for Creating Maintainable and Evolvable Tests

Having [automated] unit/integration/functional/… tests is great but it is too easy for them to become a hindrance, making any change to the system painful and slow – up to the point where you throw them away. How to avoid this curse of rigid tests, too brittle, too intertwined, too coupled to the implementation details? SurelyContinue reading “Principles for Creating Maintainable and Evolvable Tests”

Never Mix Public and Private Unit Tests! (Decoupling Tests from Implementation Details)

It seems to me that developers often do not really distinguish between the various types of unit tests they should be writing and thus mix things that should not be mixed, leading to difficult to maintain and hard to evolve test code. The dimension of unit test categorization I feel especially important here is theContinue reading “Never Mix Public and Private Unit Tests! (Decoupling Tests from Implementation Details)”

Most interesting links of September

Recommended Readings J. Yip: It’s Not Just Standing Up: Patterns for Daily Standup Meetings – it isn’t easy to make stand-up meetings short, focused, energizing, and centered around continuous improvements and team spirit. This description of an example good standup, the meeting’s goals, and especially the “patterns” and “bad smells” can be pretty useful to get andContinue reading “Most interesting links of September”

Most interesting links of June

Recommanded Readings Empirical Studies Show Test Driven Development Improves Quality – brief summary of two researche papers comparing TDD/non-TDD, one paper with 1 case study from IBM and 3 from Microsoft (get PDF; conclusion: The pre-release defect density of the four products, measured as defects per thousand lines of code, decreased between 40% and 90%Continue reading “Most interesting links of June”

Most interesting links of January

I’m moving to Norway and have thus little time for reading but still I’ve stumbled upon something really interesting. Bob C. Martin (the Clean Code guy): The Transformation Priority Premise – with TDD the code goes through a series of transformations (similar to refactorings but they change the behaviour) that “move the code from a specificContinue reading “Most interesting links of January”