Archives for category: Software Development

Engineering Long-Lasting Software: An Agile Approach Using SaaS and Cloud Computing, Alpha Edition

It’s an interesting primer on Ruby on Rails, test driven development and agile development. It’s geared at undergrad computer science students and does a good job for that.

However, as an experienced professional, I was looking for many of the chapters that aren’t written yet. For example, the chapters on creating testable javascript and writing maintainable client side code were missing. In a nutshell, wait for the beta edition if you already know rails.

I thought that it was an interesting experiment in lean writing.  The idea was to write just the chapters that you need now and see what the interest is in the other chapters.  It will be fun to see what happens in future versions of the book.



I’ve been reading Wait: The Art and Science of Delay it’s been giving me some food for thought about the strange world of software development. Basically, the thesis of the book is that there is a correct amount of delay between the action and the response to the action. The time scale is kind of irrelevant, whether it’s the milliseconds between someone serving a tennis ball and returning the serve, or the days between making a mistake and apologizing.

Read the rest of this entry »

We use mercurial in kind of a hub and spoke manner.  A central repository that everyone pushes to, and branches for the main processes, development, QA, production, etc. All the developers pull the latest from the central repository, commit their changes and push them back to the central repository.

Read the rest of this entry »

I’ve been thinking a little about documentation recently. In some ways, documentation is like the parable of the blind men and the elephant. Where the elephant is the concept being described and the blind men are the artifacts being produced. Each of the documents captures a facet of the whole, but not the whole thing.  Every piece is an incomplete view of the whole item but taken together they describe a much larger concept.

Read the rest of this entry »

Halfway between single class unit testing and end to end acceptance testing is a grey area that for now I’m calling Unit Acceptance Testing. Basically it’s a unit test that instead of isolating a single class or layer under test, tests several layers and the way that they interact.

Read the rest of this entry »