Tuesday, 29 March 2011

Start with clear acceptance tests

One of the advantages of acceptance test driven development (ATDD) is that it helps a team to agree on the objectives before diving into coding. The clearer the acceptance tests, the fewer misunderstandings there are likely to be. Every misunderstanding wastes time and adds cruft to the software.

Releasing frequently gives an opportunity for feedback and correction. Small corrections early on can prevent the need for large corrections later.

1. Well-articulated acceptance tests and frequent releases:

Relatively straight line

2. Poorly articulated acceptance tests:

Line with some zig-zagging

3. Longer times between releases exaggerate the deviations:

Line with fewer segments and severe zig-zagging

4. Without any vision or objectives:

Random loopy patterns

This often happens in start-ups where a product idea is hazy and the team is basically chasing every hare that runs past. Eventually they might happen to catch one, but it's a pretty inefficient way to work.

Friday, 25 March 2011

Evaluating start-up business ideas

I often have ideas for start-up businesses and get quite excited about them until it slowly dawns on me there are major flaws. In a bid to spot the flaws sooner, I've come up with some evaluation criteria. I thought I'd post them, in case anyone finds them interesting or has any of their own thoughts on the subject they'd like to share.

Judging a business

Large scope for growth

Judging a business

Risks can be kept low

Judging a business