Agile Software Development is a methodology which favours creating useful software quickly by focussing on close interaction between the people involved and the acceptance of change.

A large part of my time at work involves thinking about how to do Agile better, in order that I may enable our team of developers to connect better with our customers and with our business.

Articles on Agile

  1. Checking out Puffing Billy

    Puffing Billy gives you the ability to stub out remote sites in your request (integration) specs, in the same way that you'd use Webmock or Artifice in your unit/controller specs. I thought I'd throw a little non-rails spec together to check it out.


  2. A use for cucumber

    I first came across Cucumber at the 2007 QCon conference in London. Aslak Hellesoy gave a really great talk where he took suggestions for an app, and built it live in a 1-hour session in front of everyone there using Cucumber to drive the features - BDD style.


  3. Serving Rails apps with Unicorn and Bluepill. Includes Resque.

    At Wordtracker we run four Rails apps in production. Two of those use background jobs with a Resque implementation. We've recently switched to serving them using Unicorn, with Nginx as a proxy. We've found the restart times on deployment to be far quicker and more graceful, which gives us confidence to roll out new features to our customers as soon as they become available.

    Read More

  4. Teams and the art of leadership

    The Art of captaincy, ostensibly cricket captaincy, transcends sport to become a treatise on leadership. When reading it, I realised that many aspects and issues he deals with in the book apply directly to leading a team in disciplines outside sport. Restructuring abstract notes made from Brearley's already terse, clinical writing has been a really interesting challenge. I hope that what follows is of interest to software developers and those trying to lead them.


    Published on in Agile

  5. It's hard to get people to pay for software

    We've got used to free software. Either we expect it to be free, or (as with Facebook and Gmail) we're happy to use our personal data as currency. There's a ton of interesting thinking already on the web on the psychological shift that's happened in SAAS (Software as a Service) over the past, say, 5 years, but that isn't really my area - I'm much more interested in building software which people are happy to pay for. I thought it would be interesting to go through a very simple model of financing a new software service from conception to 12 months after launch.


  6. Rsift - A Ruby client for Datasift

    DataSift is a "real time social media filtering engine". They have recently published an API which allows developers to create and manage "streams". The domain of social media curation is very hot right now, so I was very interested to receive a alpha API key to try it out. I work mainly with Ruby, and there wasn't a client out there yet to "wrap" the Datasift API in Ruby, so I thought that writing that gem would be my first step.

    Read More about Rsift

  7. The Pivot as Prepare, Execute, Listen

    One of the key principles in Lean Startup is the Pivot. It has actually become a bit of a buzzword over the past year. The term comes from basketball - keep one foot planted but change direction with the other. The metaphor for business is that you stay grounded in what you've learned whilst testing something new. For example, you might have been offering a monthly subscription product: you could pivot to offering an annual subscription instead, or as well as the monthly. As I've been reading about Pivots, I realised I had met the pattern before in a quite different context.

    Read More

  8. Running background jobs with Resque

    Our users at Wordtracker search for keywords and linking domains many thousands of times each day. We run the majority of these searches as "background jobs" to maintain a good user experience. We'd developed an in-house system written in Ruby and Sinatra for running these jobs, but the robustness and error reporting wasn't as good as we wanted. I decided to take a look at the Redis backed Resque (pron. res-queue |ˈreskyoō|) to see whether it would work well for us.

    Read More

  9. Lean Startup London reviewed

    A couple of weeks ago, I attended a @TechHubFriday event: Eric Ries on The Lean Startup. Eric began with an interesting definition of a startup company: "A startup is a human institution designed to deliver a new product or service under conditions of extreme uncertainty." It has nothing to do with company size or industry sector. Interestingly, this differs from the "two guys in a garage" model, which is probably the mainstream media's impression of a startup.

    Read More

  10. Launching using Agile.

    We've just used agile methodologies to launch a new product, Link Builder at Wordtracker. We had to build the app and get to market quickly. That meant defining a 'viable product' and launching with fewer features than we would ideally have liked. It would prove to be crucial to gain traction and avoid falling behind our competitors. Agile Methodologies give us some structure and methods to help connect software development to business. I'd like to cover the three aspects which have been important to us in launching Link Builder...

    Read More

  11. A review of Leancamp

    A couple of days ago I attended an Unconfernce called Leancamp. My main reason for going was that David Heinemeier Hansson - the creator of RubyOnRails and co-author of Getting Real and Rework was speaking.

    Read More

  12. A review of Rework.

    Rework is largely a rehash of Getting Real, but with the focus moved away from people who write software, onto people involved in all aspects of running a business. The refocussing allows Fried and DHH to reach a far wider audience with their opinions. Their wisdom, gained by experience, of how to deliver software will be read by people who would have never considered reading Getting Real. That's pretty savvy market positioning and something that wouldn't have been achieved by a series of blog posts on their website.

    Read More

  13. Thoughts on MongoHQ pricing

    I was lucky enough to be a beta-tester for MongoHQ, the hosted MongoDB service. Yesterday (20100226) they came out of private beta, and launched their pricing options to the world. The results, as MongoMapper author John Nunemaker tweeted, were surprising...

    Read More

  14. JRuby Cookbook published

    I'm very happy that my contribution to the O'Reilly JRuby Cookbook has been accepted. It is only a little bit on making SOAP calls from Ruby (JRuby) using the Mule ESB Client library, but it is still really nice to see my name inside a book.

    Read More

  15. Calling SOAP Services from JRuby

    I have been working on a project which uses the Mule ESB, and a JRubyOnRails app. Part of this means calling SOAP services from within the JRuby app. Ola Bini sets out a couple of approaches in his JRuby on Rails book,but I thought I would blog the success I've had using the mule-client libraries. I am passing "complex" Java objects around in these SOAP services, not just primitives - always more difficult when it comes to SOAP interoperability.

    Read More

  16. Shuttleworth discusses future of OSS

    This is a reprint of an article I wrote for Ping Wales (now sadly closed) back in July 2006 covering Mark Shuttleworth's keynote speech at ApacheCon.

    Despite being on record as disliking public speaking, Mark Shuttleworth was in Dublin last month to give the keynote speech at this year's ApacheCon Europe.

    His theme was the future direction of open source software (OSS), and the issues developers should focus on to ensure the OSS movement's continued success.In true cosmonaut style, Shuttleworth's ApacheCon Europe presentation took the form of a countdown of the issues facing OSS developers.

    Read More

  17. Hacker and Painters

    There are plenty of coders in the world and in the mid 1990s, not a few of them tried their hands at creating a technology start-up company. The majority of those start-ups failed in due course - but one of them succeeded, and in doing so, became a part of dotcom legend. In 1998, Yahoo! paid $49 million for Viaweb Inc., a company whose market-leading Viaweb Store software and reporting tools powered the majority of all e-commerce sites then in existence. Not only is Viaweb Store thought to be the world's first web-based application, it was written using Lisp - one of the oldest programming languages still in relatively wide use.

    Read More