19th July 2010
I really like the agile development methodology, I pretty much fell in love with it on the first project I ever used it on. At that time the methodology was fairly embryonic, a few people had written about it, the agile manifesto had skidded to a halt on the web (thank you Mr Fowler), and a few books had sprung up to help. I learned quickly and ran the project effectively, not because I’m hugely gifted, but because the approach really suited what I’d been asked to do and how I like to work. Immediate and tangible results, fantastic, I...
13th June 2010
Software development is by it's nature a business which deals in intellectual capability. It requires no small intellect to be able to write software systems, not least because you need to have, at any one time, an understanding of 5 or 6 things simultaneously. I have always believed, and I have yet to be proved otherwise, that software is a combination of art and science. There is an art in being able to construct functional and information flows in a way which is understandable (therefore maintainable) and actually works.
Software is a big machine, which puffs steam, cranks w...
14th May 2010
I've been doing a bit of thinking recently about development ethos, and the hungry caterpillar. If you've read my posts on
Purposeful Process, and
Sharing a Vision, it will have given you a bit of background about our thinking. What I wanted to address in this blog is the different between a known good path and an attainable good path, specifically within the context of a software development company.
There's a lot of mileage in "A good pla...
29th April 2010
A list represents pretty much the way a human works. You can only do one task at a time (so far, in my experience, this is true for both males and females), and you do them in an order of priority. There are, of course, exceptions; that task you just don't want to do, which is top of the list, and instead you find yourself doing the hoovering.
I've come across a number of ways to prioritise tasks in Software development over the years, some of them are rigorous / complex and some are free-form. The problem with any form of task list is understanding the dependencies between the...
23rd April 2010
Versions. This word probably means something different to everyone, to me a version is a special thing. I see a version (of software) to be a bit like someone carving a piece of wood, each new version is one chip removed from the block, creating a closer resemblance to the object being crafted.
In the wider world there are two approaches to marketing and selling software versions which are similar in many ways to the automotive world. Cars can either be rented for a few days, or weeks, or can be bought and therefore owned. Software is the same, it can rented as a service such a...
19th April 2010
When Red2 started there was just two of us. During the day I worked full time as a project manager and at night worked on Red2, whereas Nick worked day and night on Red2. We didn't need much in the way of process, in-fact the only process we had was to complete as much as possible and help each other out. It worked pretty well, although I won't lie to you, it wasn't easy.
Time passed and we started to grow as a result of hard work, good ideas and commitment, but most importantly, because we cared about everything. We started to hire new people who were just like us. People we c...
20th April 2010
The process of running a software business, be it product or service base is tightly coupled with people. From a distance it's easy to say that the people who work for the business, and therefore create the software are the most important. Looking at it pragmatically however, this is not always true, and only really holds water if you're a start-up with a narrow band idea. The idea itself focuses the people working on the project and the end result, if it's any good, focuses the end user to want to use the system. To expand on that, if you have a very clear idea about what your product should ...