First company coding dojo
Last month we ran our first company coding dojo – this was only open to company staff, but attendance was good (around a dozen people). For those that have never heard of it, a coding dojo – based on...
View ArticleCode coverage with unit & integration tests
On a pet project recently I set out to build automated UI (integration) tests as well as the normal unit tests. I wanted to get all of this integrated into my maven build, with code coverage reports so...
View ArticleSoftware craftsmanship roundtable
Last night was the second London Software Craftsmanship round table. This was a great session with lots of lively discussion. We seemed to cover a wide variety of topics and I came away with loads of...
View ArticlePage Objects in Selenium 2.0
Want to learn more about WebDriver? What do you want to know? So you’ve written your first Selenium 2.0 test, but is that really the right way to build tests? In the second article in this series we’ll...
View ArticleShame driven development
I always aspire to write well-crafted code. During my day job, where all production code is paired on, I think our quality is pretty high. But it’s amazing how easy you forgive yourself and slip into...
View ArticleGrowing hairy software, guided by tests
Software grows organically. One line at a time, one change at a time. These changes soon add up. In an ideal world, they add up to a coherent architecture with an intention revealing design. But...
View ArticleFast Feedback
Writing good software is all about getting feedback, quickly. Does it compile? Does it function? Does it build? Does it deploy? Does it do what the customer wanted? Does it actually work? Every step of...
View ArticleShort Commit Cycles
How often do you commit? Once a week? Once a day? Once an hour? Every few minutes? The more often you commit, the less likely you are to make a mistake. I used to work with a guy who reckoned you...
View ArticleWhy shouldn’t I test private methods?
Newcomers to TDD ask some interesting questions, here’s one I was asked recently: testing private methods is bad, but why? How did we get here? If you’re trying to test private methods, you’re doing...
View ArticleAre integration tests worth the hassle?
Whether or not you write integration tests can be a religious argument: either you believe in them or you don’t. What we even mean by integration tests can lead to an endless semantic argument. What do...
View ArticleTDD Against the Clock
A couple of weeks ago I ran a “TDD Against the Clock” session. The format is simple: working in pairs following a strict red-green-refactor TDD cycle we complete a simple kata. However we add one key...
View ArticleDogma Driven Development
We really are an arrogant, opinionated bunch, aren’t we? We work in an industry where there aren’t any right answers. We pretend what we do is computer “science”. When in reality, its more art than...
View ArticleGit stash driven development
I’ve found myself using a pattern quite often recently, which I’ve been calling “git stash driven development” – that is, relying heavily on the magic of git stash as part of my development workflow....
View ArticleCutting Corners
The pressure to deliver yesterday is strong. If it’s not customers nagging you, it’s project managers breathing down your neck or your own self-doubt that this should have been simpler: the desire to...
View ArticleHow many builds?
I’m always amazed at the seemingly high pain threshold .net developers have when it comes to tooling. I’ve written before about the poor state of tooling in .net, but just recently I hit another...
View ArticleNever trust a passing test
One of the lessons when practising TDD is to never trust a passing test. If you haven’t seen the test fail, are you sure it can fail? Red Green Refactor Getting used to the red-green-refactor cycle can...
View ArticleCopy & paste driven development
Software development is rife with copy & paste: all of us resort to copy and paste coding sometimes. We know we probably shouldn’t, but we do it anyway. It’s like the industry’s dirty little...
View ArticleFriction in Software
Friction can be a very powerful force when building software. The things that are made easier or harder can dramatically influence how we work. I’d like to discuss three areas where I’ve seen friction...
View Article
More Pages to Explore .....