Don’t bother with Bitbucket Pipelines – yet

As a previously fairly (but not completely) satisfied user of Atlassian’s Bamboo Cloud product, I was upset (like many others) to find out that it was being sun-setted. But they’ve got a new product to replace it – BitBucket Pipelines, currently in beta. So I gave it a try.

For those who can’t be bothered to read below the fold: don’t bother checking it out.

Continue reading “Don’t bother with Bitbucket Pipelines – yet”

Is rewriting the code “startup suicide”?

Came across this article by Steve Blank – “Startup Suicide – Rewriting the Code“. This can be summed up as:

  • Under the pressures of growth, some startups allow their code base to get messy.
  • This mess – and the pressure to keep it working – results, over time, in a slower delivery of features.
  • This leads to a failure to adapt, which is seen as an existential threat to the future of the business,
  • The business decides that a rewrite of the product is the way to go.
  • This leads to death.

I don’t dispute the main premise of the article, but I do dispute the title. The answer is to rewrite the product. The question is: how do you do that?

Continue reading “Is rewriting the code “startup suicide”?”

Podcasts that I listen to

A work colleague asked me the other day for podcast recommendations, so I’m belatedly putting this list together. I tend to listen to podcasts when commuting and on my daily walks – about 90 minutes a day, more or less – and I usually listen to stuff that’s interesting or work-related.

Continue reading “Podcasts that I listen to”

Git, Feature Branches, and Jenkins – or how I learned to stop worrying about broken builds

I mentioned in my last post how we have started using Feature Branches with Git and Jenkins. In that, I rather casually mentioned that

“The build server uses the Git plugin for Jenkins to monitor all the branches on the local repository. Whenever a developer pushes to the repository, Jenkins will see the change and try to merge it into the stable branch. If the build passes, the merge is committed. If it doesn’t pass, the FeatureBranch doesn’t get merged – and it will stay unmerged until another change is made against it.”

This feature means that broken builds have almost no impact on team productivity. In fact – it can even be more productive to allow a broken build than to try to prevent it all the time.

Continue reading “Git, Feature Branches, and Jenkins – or how I learned to stop worrying about broken builds”

Agile – it’s not about the tools you use

The title says it all, but I thought I’d spend about eight hundred or so words saying more. 😉

I’ve seen a number of people think that “being Agile” is about having a build server, or about using Kanban, or an Agile project management tool. It’s not about unit testing, or pair programming, or continuous delivery, or devops, or any of a hundred other buzzwords. Don’t get me wrong – well performing Agile teams will be using these kind of tools and practices. But that’s not what makes them Agile.

Continue reading “Agile – it’s not about the tools you use”

Why software development is not a profession

Software development is not a profession. It will never be a profession while people like the guy who wrote this lovely piece continue to get paid to develop software.

The reason, of course, is that professions have the requirement that professionals be competent.

Fortunately, I’m happy being a software craftsman

There’s no feeling like releasing software…

Ahhh… that’s the first production release of my latest project at work out the door today. I can’t talk too much about specifics, but it’s not a big secret that Wotif is enabling various B2B aspects of our web site, mainly with the registered hotels. Today saw the first big step in that direction. 🙂 And it feels great to see a new project go out and get used.
Continue reading “There’s no feeling like releasing software…”