Continuous Integration is not an all-or-nothing affair. In fact,
introducing CI into an organization takes you on a path that progresses
through several distinct phases. Each of these phases involves
incremental improvements to the technical...
A brief conversation with Matt Keating on Twitter finally pushed me over the edge and I’ve built a site I’d been meaning to do for a while.
I’m a huge Vagrant fan, but one thing that often comes up is where to find base boxes. My...
Below is the detailed outline for my August 10, 9:00AM Agile 2011 presentation. I look forward to meeting you and interacting with you in the conference before, during and after this presentation!
Part I: The Changing...
About a year ago (July 2010), I started
working with my current company. When I started the team were lacking in
process and the process they had was not as useful as it could be for
developers. The first thing I done in that team was to restructure the...
This post is the second post in a series on how CI will help a development team. The first post talks about the benefits that CI will bring to the team. (CI = continuous integration)
So you have decided to try and introduce CI into your team? Good
Farley co-authored “Continuous Delivery”, an excellent book in the
Martin Fowler signature series, which goes into great detail about the
evolution of Continuous Integration, and how to achieve continuous
delivery (or continuous...
Those who hear my colleagues and I talk about
FeatureBranch know that we're not big fans of that
pattern. An important part of our objection is the observation that
branching is easy, but merging is hard. One argument we hear from
time to time is...
At xpdays Benelux 2009, I attended an interesting session called 'Developing a Sense of Smells' by Kevin RutherFord and Lindsay McEwan.
The exercise we did went as follows: suppose you are asked to do some
work on code you never saw before. How would you...
This is the 3rd post in a series ‘How to get started with CI’
Previously, we talked about choosing the correct infrastructure for
your CI system. We will now talk about CI tools themselves. There are
lots of CI tools out there. Many more than I know...
“Ten Mistakes” (as I shall now call it because I’m too lazy to keep
typing the whole title), was a talk by Roy Osherove which I went to at
Skills Matter. He basically takes us through ten common mistakes he...
The Holy Grail of Requirements has always been traceability,
measurability and perhaps most importantly testability. The evolution of
requirements has gone through various iterations: Use Cases, MosCow
analysis and perhaps most usefully, Agile User...
This is an interview with Kevin Parker (@kevinparkerusa) about DevOps
How do you see agile affecting application development and delivery?
The biggest impact is that application development teams are using agile
to speed up their delivery of software...
Starting a job with a running system and real users is a nice
“problem” to have but it presents some unique challenges as well.
Especially if server monitoring isn’t robust and there are absolutely
zero automated tests. Without these two critical...
A few months back I discovered a tool called WatiN.
This is based on WatiR and is a web application testing tool for Dot
Net developers. After doing a few little test applications i started to
see the benefit of using this application in my development....
A challenge with software product development is visualising the work
so that you can spot where there are delays in the process of
converting ideas from “concept to cash”. This post shows how a
cumulative flow diagram helped identify a pattern of...
Twice this week people challenged my belief in automated testing and
Test Driven Development. The argument that was brought forward was
simply: Unit tests are too expensive.
I actually believe the opposite is true. Let me tell you about a
The idea of a build pipeline for web application deployment appears to have picked up lots of interest from the excellent Continuous Delivery book. Inspired by that, some nice folks have build an excellent plugin for Jenkins unsurprisingly called the Build...
We’ve all heard the fable of the boy who cried wolf, an old tale
written by a Greek slave who lived a long time ago and liked telling
stories. I must stress thought that this was just a story, but like many
good stories (Star Wars, Gremlins 2) it’s...
I love when other people write a blog post at the same time you are
struggling with the problem that they describe. Today’s timely post
comes from Michael Bolton on his DevelopSense blog. In “The Undefinition of Done”, Michael talks about the fact...
Today was a great day. I helped import our entire “roadmap” of
functional requirements from an Excel spreadsheet into Pivotal Tracker.
Even though we allocated almost a half-day to accomplish this, it was
done in less than two hours (including...
Great minds think alike, and fools seldom differ."
implies that consensus is often the result of a coincidence or luck. If
you look at the success rate of presentations, you might actually think
couple of months ago I was fortunate enough to be invited to the
Thoughtworks live 2011 event in London. The main topics of this event
were agile (as you’d expect from Thoughtworks) and Continuous Delivery.
The event was run over 2 days, the first...
I’ve found this question while going over my old StackOverflow answers:I'm
using reflection to loop through a Type's properties and set certain
types to their default. Now, I could do a switch on the type and set the
default(Type) explicitly, but I'd...
CQRS stands for Command Query Responsibility Segregation. It's a
pattern that I first heard described by Greg Young. At its heart is
a simple notion that you can use a different model to update
information than the model you use to read information....