software development

software development

Diseconomies of Scale and Lines of Code

Steve McConnell on diseconomies of scale in software development: Project size is easily the most significant determinant of effort, cost and schedule [for a software project].* People naturally assume that a system that is 10 times as large as another system will require something like 10 times as much effort

By Jeff Atwood ·
Comments

regex

The Visual Studio IDE and Regular Expressions

The Visual Studio IDE supports searching and replacing with regular expressions, right? Sure it does. It's right there in grey and black in the find and replace dialog. Just tick the "use Regular expressions" checkbox and we're off to the races. However, you'

By Jeff Atwood ·
Comments

programming concepts

The Monopoly Interview

Reginald Braithwaite's favorite interview question is an offbeat one: sketch out a software design to referee the game Monopoly.* I think it's a valid design exercise which neatly skirts the puzzle question trap. But more importantly, it's fun. Interviews are a terror for the

By Jeff Atwood ·
Comments

orm

Object-Relational Mapping is the Vietnam of Computer Science

I had an opportunity to meet Ted Neward at TechEd this year. Ted, among other things, famously coined the phrase "Object-Relational mapping is the Vietnam of our industry" in late 2004. It's a scary analogy, but an apt one. I've seen developers struggle for

By Jeff Atwood ·
Comments

software development

How Long Would It Take if Everything Went Wrong?

I'm currently reading Steve McConnell's new book, Software Estimation: Demystifying the Black Art [http://www.amazon.com/exec/obidos/ASIN/0735605351/codihorr-20]. The section on individual expert judgment provided one simple reason why my estimates are often so horribly wrong:> If you ask a developer

By Jeff Atwood ·
Comments

software maintenance

The Noble Art of Maintenance Programming

Mention the words "maintenance programming" to a group of developers and they'll, to a man (or woman), recoil in horror. Maintenance programming is widely viewed as janitorial work. But maybe that's an unfair characterization. In Software Conflict 2.0 : The Art and Science of

By Jeff Atwood ·
Comments

health

Programming Your Hands

Software developers, like pianists, rely on their hands to practice their craft. I've used a keyboard and mouse obsessively since my early teens. Fortunately, I have never had any problems with hand or wrist pain – nor have I experienced any Repetitive Stress Injury, which includes carpal tunnel syndrome.

By Jeff Atwood ·
Comments

communication

Don't Ask Us Questions. We'll Just Ignore You.

One of the funniest things on the internet, for my money, is Eric S. Raymond's epic FAQ, How To Ask Questions The Smart Way [http://www.catb.org/~esr/faqs/smart-questions.html]. It's 32 pages, 1,066 paragraphs, 10,289 words, and 51,757 characters. That

By Jeff Atwood ·
Comments

management practices

Peopleware Revisited

Kevin Kelly's Cool Tools list just selected a book from my recommended reading list. And it's one of my favorites, too. It's that perennial evergreen of project management, Peopleware: Hard-won wisdom fills this small book: How to create a team, place, or company that

By Jeff Atwood ·
Comments

programming practices

Programmers and Chefs

From an audio interview with Ron Jeffries: The reason the kitchen is a mess is not because the kitchen is poorly designed, it's because we didn't do the dishes after every meal. Michael Feathers recently wrote an eerily similar entry about the professional chef's

By Jeff Atwood ·
Comments

interview questions

Snappy Answers to Stupid Programming Questions

Here's a not-so-gentle reminder from David Pickett that some programming interview questions [http://blogs.msdn.com/davidlem/archive/2006/05/16/598696.aspx] – in this case, "how would you write a routine to copy a file?" – are, well, stupid [http://exold.com/article/stupid-interview-questions]*: > Q.

By Jeff Atwood ·
Comments

software development

The Long, Dismal History of Software Project Failure

From the IEEE article Why Software Fails: Last October, for instance, the giant British food retailer J Sainsbury had to write off its US $526 million investment in an automated supply-chain management system. Merchandise was stuck in the company's depots and warehouses and was not getting through to

By Jeff Atwood ·
Comments