Posterous theme by Cory Watilo

Agile Software Development

For the next few weeks/months/years, I'll be learning to be Agile. That's a style of computer programming. It's kinda "cool". Um, if I've lost you already, sorry. ;) I'll try to use as few tech buzzwords as possible, if you haven't already left! In the past, I've built some nice software that does one job, on a fixed brief, on my own; software that is built once and never needs to be updated. I've built some reasonable sized, good quality projects by just getting stuck in and doing it. I like to build like that - I've always felt it shows off my skill. I've never done any coding "professionally", but I have made some money - it's always been more of a hobby. Whatever has worked, has been good enough.

But, sometimes, changing part of the program has required so much refactoring (untangling a mess of code) that it was more efficient to tear the work down and start again. Making the decision to start again in a programming project is a pleasurable experience... you can work with a blank sheet, dropping the mistakes you made the first time, and using your experience to know what worked well and what didn't work. You use what you learned to make a better, faster, slicker, more functional version of what you did before. It might take a while, but feels totally satisfying. But, sometimes projects get lost that way, because it just creates too much work.

My current project requires me to work in a different way.
I have to release a web app that works, learn from people using that, and improve it - but once it's released, I won't be allowed to make them start again with me. I have to improve and upgrade without people waiting to receive a change to a product that - by now - they've gotten familiar with. I also have to play more nicely with other coders, work with a coding style guide that other people can pick up and work with. With my own style unencumbered by the requirements of working a real coding job, this might be a challenge to think about.

So, I have some key words to learn more about: iterative growth, continuous delivery, test-driven, pairs programming. I've got a lot of catching up to do.
So, see you later :P
Ronald

Hello, World!

I know I'm late on the bus, and Posterous has been sold to Twitter. But, this is the site I'd prefer to use for my blog.
So, here I am, I'm giving it a try.

I'm not consistent at keeping a blog, but sometimes I need a space to talk about what I'm doing. It helps me out with my life to talk to someone about it, even if that someone is a stranger or the public internet.

I advise my students to talk to gnomes sometimes, or an equivalent inanimate object, when they need help to collect their thoughts.

So, you're my gnome today. Welcome to my new blog :)

Best wishes,
Ronald