Acceptance testing with SpecFlow and Selenium

I’m an avid believer in testing - TDD helps drive design, and having a test suite available to verify behaviour while maintaining an application is worth a million bucks. However, even the most complete unit test suite still doesn’t guarantee that the integration between different components is perfectly done, nor does it test the value a system delivers from a user perspective. Does a feature really do what a user expects it to do? [Read More]

Saving the environment with Vagrant

I’ve been playing a bit with Vagrant, an easy way to set up virtual machines for development purposes. Vagrant provides a simple command line interface paired with a setup script (VagrantFile) in Ruby to provision virtual machines, share folders between the host and the virtual machine and to provide port forwarding. I’ve been using it to set up some Linux development environments on Windows, as well as just for keeping my development machine clean, and running different versions of otherwise incompatible packages/gems. [Read More]

Now blogging on Octopress

A week ago, I wrote : Sigh, I can’t seem to make up my mind about the platform to host my blog on. You can find my new blog over at www.riaanhanekom.com. Will post the details soon over there. This blog will self-destruct in a week or so. My first blog was at Blogger, back when Google just bought it. What pained me then, was the lack of control - I couldn’t customize it to do what I wanted it too. [Read More]
blog  jekyll 

Moving to Git

Git, the distributed source control system is fast becoming the de facto standard, at least in the open source arena. Although it comes with a bit of a learning curve, the advantages of using Git over more traditional SCMs like Subversion and TFS far outweighs the investment of time unnecessary to learn it. TL;DR A quick introduction to Git, with a basic command reference. If you are familiar with Git, you probably won’t learn anything new. [Read More]

How Small is Small Enough

As developers, we are very good at breaking up components into sub-components - sometimes exceedingly so. When confronted with a larger than average chunk of work, we make a choice: either consider the work as indivisible to be delivered in its entirety, or break it up smaller pieces. Most of us already experience a sense of foreboding when confronted with a piece of work that is too large. Whether you are estimating in hours or in story points the question is: when breaking up work items into smaller pieces - how small is small enough? [Read More]
agile 

The Humble Story Point

I’ve had some interesting discussions lately on the management of work through user stories. A lot of teams, especially those just starting to use agile techniques, seem to have quite a bit of uncertainty around some common topics : The theory behind story points and why they are preferred over estimations in hours Why story points and velocity are self-correcting measures The sizing process and appropriate sizes for stories The problems with sizing in units of time [Read More]
agile 

Complexity in Software

In a discussion with a former colleague of mine on the organization of components and on system boundaries, we focused on the complexity inherent to software building. It hit me that we can learn a little from physics here. The law The first law of thermodynamics states that energy can be transformed, i.e. changed from one form to another, but cannot be created or destroyed. This law, in my mind, can be applied to software development quite generally : [Read More]

Greener pastures

This post is more than two months late, but I’ve been at DStv Online since November 2011. Intervate has been incredibly good to me, and is still on my recommended list of employers. I have had incredible growth there, and I thank them for that - but with consideration of some quality of life issues I’ve been having, and a need to stretch my skill set a little, I’ve decided to move on. [Read More]
work 

Blog moved

In preparation for my recurring new years resolution of updating this blog, I’ve followed the advice of Simon Cropp and moved my old blog to Posterous. If you subscribe to my FeedBurner feed, there should be no changes necessary from your side to receive updates from me. Please update any other bookmarks to my site. Wordpress has served me well, but has become a bit of an antiquity when compared to some of the modern blogging platforms. [Read More]
blog 

Feature request for SQL Server Management Studio

A “You sure you want to do this?” confirmation when you attempt to run a query that contains a destructive update (delete/update) without a where clause. With the hoards of database tables being accidentally wiped in the world, why hasn’t this been done yet? This feature would sure remove a lot of fear of pressing F5. Those who are not afraid running a delete query query on a production database clearly haven’t lived long enough yet. [Read More]
tools