software development

Let’s Play Planning Poker!

estimation

Let’s Play Planning Poker!

One of the most challenging aspects of any software project is estimation – determining how long the work will take. It’s so difficult, some call it a black art. That’s why I highly recommend McConnell’s book, Software Estimation: Demystifying the Black Art; it’s the definitive work on

By Jeff Atwood ·
Comments
Are Features The Enemy?

software development

Are Features The Enemy?

Mark Minasi is mad as hell, and he’s not going to take it any more. In his online book The Software Conspiracy, he examines in great detail the paradox I struggled with yesterday – new features are used to sell software, but they’re also the primary reason that software

By Jeff Atwood ·
Comments
Why Does Software Spoil?

software development

Why Does Software Spoil?

In the software industry, the release of newer, better versions is part of the natural order. It’s a relentless march towards perfection that started with the first personal computers, and continues today. We expect software to get larger and more sophisticated over time, to track with the hardware improvements

By Jeff Atwood ·
Comments
Geek Diet and Exercise Programs

fitness

Geek Diet and Exercise Programs

Software developers aren’t typically known for their superior levels of physical fitness. I’m not overweight, exactly, but I don’t think I’ll be pursuing that dream career in male modelling anytime soon. I charitably call myself an indoor enthusiast. At the risk of generalizing – yes, I know

By Jeff Atwood ·
Comments
Do Not Buy This Book

.net

Do Not Buy This Book

A few friends and I just wrote a book together: The ASP.NET 2.0 Anthology: 101 Essential Tips, Tricks & Hacks. I met K. Scott Allen, Jon Galloway, and Phil Haack through their excellent blogs. That online friendship carried over into real life. We always thought it’d be

By Jeff Atwood ·
Comments
Revisiting Programming Fonts

fonts

Revisiting Programming Fonts

I’ve experimented with programming fonts and IDE color schemes plenty in the past. But now that I’ve given in to the inevitability of ClearType on large LCDs, I’ve basically settled on Consolas. It’s hard to beat Consolas. It’s darn close to the ultimate monospace programming

By Jeff Atwood ·
Comments
Software Branching and Parallel Universes

software development

Software Branching and Parallel Universes

Source control is the very bedrock of software development. Without some sort of version control system in place, you can’t reasonably call yourself a software engineer. If you’re using a source control system of any kind, you’re versioning files almost by definition. The concept of versioning is

By Jeff Atwood ·
Comments
Lazyweb Calling

community-driven

Lazyweb Calling

It’s hard to pin down the exact etymology of the word Lazyweb, but it seems to have one primary meaning: 1. Asking a question of an internet audience in the hopes that they will be able to find a solution that you were too lazy or inexperienced to find

By Jeff Atwood ·
Comments

hardware

Choosing Dual or Quad Core

I’m a big fan of dual-core systems. I think there’s a clear and substantial benefit for all computer users when there are two CPUs waiting to service requests, instead of just one. If nothing else, it lets you gracefully terminate an application that has gone haywire, consuming all

By Jeff Atwood ·
Comments
Discipline Makes Strong Developers

software development

Discipline Makes Strong Developers

Scott Koon recently wrote about the importance of discipline as a developer trait: Every month a new programming language or methodology appears, followed by devotees singing its praises from every corner of the Internet. All promising increases in productivity and quality. But there is one quality that all successful developers

By Jeff Atwood ·
Comments
The Coming Software Patent Apocalypse

patents

The Coming Software Patent Apocalypse

Every practicing programmer should read the Wikipedia article on software patents, if you haven’t already. Many software companies are of the opinion that copyrights and trade secrets provide adequate protection against unauthorized copying of their innovations. Companies such as Oracle Corporation and Red Hat are therefore generally opposed to

By Jeff Atwood ·
Comments

.net

Defining Open Source

As I mentioned two weeks ago, my plan is to contribute $10,000 to the .NET open source ecosystem. $5,000 from me, and a matching donation of $5,000 from Microsoft. There’s only two ground rules so far: 1. The project must be written in .NET managed code.

By Jeff Atwood ·
Comments