The Daily Build

Icon

Software Development, version 3.0

Who Else Wants Better Short Term Memory?

In “Talent is Overrated”, Geoff Colvin at one point discusses how superstars in many fields use the memory technique of “chunking” to boost their short term memory.
His simple example is the 13-letter word “lexicographer”. To you and I (assuming you speak English and have a decent vocabulary), it is easy to remember. We don’t have [...]

Read the rest of this entry »

Version Control Habits of Effective Developers

(Apologies to Stephen R Covey for the title…)
Through some odd coincidence these posts crossed my path recently:

Check In Early, Check In Often [comments here are especially good]
Best Practices for Version Control
5 SVN Best Practices
Continuous Integration is an Attitude, Not a Tool

What I got to thinking about is that version control is one of the foundation [...]

Read the rest of this entry »

Removing Defects From Django Apps

I’m working on a set of Django apps right now. Here are some of the things I’m doing to filter out defects as I work:
Design Review
I do a handwritten (paper) design. I like to design offline — I find that this forces me to do two things. First, to slow down and get it right. [...]

Read the rest of this entry »

Productivity: It Comes from Software Design Rather than Software Tools

I just read Scott Bellware’s Productivity: It Comes from Software Design Rather than Software Tools.
These bullet points — the core of his argument — are excellent (quoted here):

Design quality is the most important factor influencing productivity in software development
The things that obstruct quality degrade productivity
The reductions in productivity over time that are typical to tool-driven [...]

Read the rest of this entry »

The cost of (not) testing software

Great post on the cost of (not) testing software. The take-home lesson is “find defects early”.
The main thing missing from the discussion is that there are better techniques for finding defects than testing. Like design and code reviews, and especially more attention to requirements. Catch defects as early as possible and reduce costs even further.

Read the rest of this entry »

Five Reasons to Slow Down

Here are five reasons you should wait before moving on to the next phase of your software development process:

Get the requirements right. It’s so often repeated that it’s almost a cliché to say that requirements errors will cost 10x or more to fix during coding or testing. But it’s true, so I can risk repeating [...]

Read the rest of this entry »

Jason Cohen on QA vs.QC

Jason Cohen of Smart Bear Software has a brilliant blog. His post on QA vs. QC is something I’ve talked about in the past. I love his example of the Pringles manufacturing line discarding off-color chips — it’s a concrete, understandable way to define the difference between QA and QC.
Some of my best project experiences [...]

Read the rest of this entry »

Five Simple Ways to Kill More Bugs Today

Here are some simple things you can do – today – to find and prevent bugs in your code. These take very little effort to implement and do not cost any money. (And typically don’t require management approval.)

Turn on warnings.
This is a no brainer. Your compiler can tell you when you’re doing things that are [...]

Read the rest of this entry »