TDD, BDD, software testing, and QA

The field of software testing has made some really interesting strides in recent years, primarily in the fields of test-driven development (TDD) and behavioral-driven development (BDD).

I'm not going to get into TDD and BDD too much in this article, but I would like to share some resources about each subject.

Test-driven development (TDD)

TDD was spawned from the Java JUnit tool and eXtreme Programming. In short, TDD can be described this way:

Write the test, then write the code.

Business Analyst Body of Knowledge

If you're looking for a "Business Analyst Body of Knowledge" document, look no further than the official IIBA website. Their current "BABOK" PDF guide is at Version 2.0, and contains 271 pages of useful information for people interested in the Business Analyst profession.

A rough outline of the BABOK document looks like this:

Boulder, Colorado business analyst jobs

While I'm currently relaxing and enjoying the 2011 holiday season, I thought I'd take a few moments to look at the business analyst job market in the Boulder, Colorado area.

I usually do this by looking at a few different websites, including,,, and Just looking for the phrase "business analyst" at each of those websites, here are the number of business analyst jobs I've found:

Software cost estimating tutorials

Just a quick note here today that if you're interested in learning about software cost estimating, I've written several tutorials over on my website.

Here are links to several of those tutorials:

Knowing when software requirements are complete

If you're a business analyst that happens to know not only how to write accurate software requirements, but also knows about Function Point Analysis, you have an advantage in that you should know when the process of gathering software requirements is really complete.

In short, for a given, basic set of features, you can know that the software requirements process is complete when you can accurately count the Function Points for the application you're designing.

Software requirements best practices - Requirements shall be testable

I've written about this before over on my website, but one software requirement best practice is that all requirements should be testable. In fact, I suggest that whenever you write a software requirement, you should always ask yourself this simple question:

Is this requirement testable?

If you think about it, if a requirement isn't testable, how can it actually be a requirement? How can you prove later that this requirement has been met?

Boulder, Colorado Business Analyst consulting services

Many people here in Boulder, Colorado ask me, "What is a Business Analyst?"

A simple way to answer this is to say, "Tell me about the software or web application do you want to build?" Usually when I first meet them, most clients know vaguely what type of software application they want to build, but when it comes down to the specifics, they have a hard time knowing specifically what they want the software to do.

How to exit a Scala Actor (exit, quit, or terminate an Actor)

While working with a Scala Actor last night, I came across a situation where I wanted to be able to manually tell the Actor to quit/die/terminate.

It looks like the proper way to exit a Scala Actor is pretty simple:

Hadoop programming in Boulder, Colorado

Just a quick note that I've finally started my Hadoop programing project. I actually started this project when I was living in Alaska, but after the move to the Boulder, Colorado area, I haven't had much free time, until now.

Boulder, Colorado - Things to do

I recently moved to the Boulder, Colorado area, and quickly found that there are many "things to do" in Boulder, and in the Colorado area in general.

Without know the area very well yet, here's a short list of things to do in Boulder:


Subscribe to RSS - blogs