Posts about: Software Development
Monday, 14 May 2007
Requirements
But right after a spec is written, a document is usually the wrong form. It started out as a document only because that form was most convenient for the author. But a document is not the most convenient form for the people who are reading or using the spec, and those people have the author outnumbered. Most of those readers/users want that spec to be a database instead of a document.
Thursday, 5 August 2004
Great Hacker != Great Hire
When great hackers are as fussy as Graham says they are, they're not worth the trouble. We want the super-productivity, and we want the innate love of software development, but we don't want all the extra baggage.
Monday, 3 November 2003
Single User Source Control
For any team of two or more people, I can credibly argue the benefits of a good source control tool. And as the team gets even larger, source control evolves from "beneficial" to "compelling" to "necessary" and finally to "you are a complete bozo if you don't use it".
Wednesday, 3 September 2003
F5
And then I realized that my lousy problem-solving skills are actually Visual Studio's fault.
Tuesday, 19 August 2003
Career Calculus
I submit that worrying about how others perceive your C value is a waste of time. The key to a great career is to focus on L, the first derivative of the equation. L is the rate at which your cluefulness is changing over time. The actual value of C at any given moment is usually a distraction. Only one question matters: With each day that goes by, are you getting more clueful, or less clueful? Or are you just stuck?
Thursday, 26 June 2003
Beyond CheckOut and CheckIn
Many people use only a small portion of the features of the version control system. If you use little more than checkout and checkin, you might actually be in the majority. A Vault user recently asked me to explain why anyone would use things like Share, Branch, Label, Cloak, and Merge Branch Into Trunk. I had fun writing my response, so I thought I would re-post it here. Beware, this writeup doesn't even attempt to be objective about which version control product is most neato. :-)
Friday, 9 May 2003
Small ISVs: You need Developers, not Programmers
For the purpose of this article, a "programmer" is someone who does nothing but code new features and [if you're lucky] fix bugs. They don't write specs. They don't write automated test scripts. They don't help keep the automated build system up to date. They don't help customers work out tough problems. They don't help write documentation. They don't help with testing. They don't even read code. All they do is write new code. In a small ISV, you don't want any of these people in your company.
Thursday, 8 May 2003
What is a Small ISV?
On this weblog I often use the term "small ISV". It's time to define what I mean.
Tuesday, 29 April 2003
Followups on The .NET Abstraction Pile
Near the bottom of my article on The .NET Abstraction Pile, I mention that we've had some bad experiences with Java here at SourceGear. Yesterday I was pleasantly surprised when Joel Spolsky linked my article (thanks Joel). Today my mailbox is filled with email from Java fans telling me my remarks were unfair and incorrect.
Monday, 28 April 2003
Iceberg Sneak-Ins
Good project managers are made entirely out of paranoia, but the truly extraordinary project managers have a streak of courage.
Tuesday, 22 April 2003
The .NET Abstraction Pile
This success stands as a testimony to how incredible .NET really is. We built a reasonably full-featured version control system in 14 months, and it works. Sure, we had some trouble. Layers 25, 37 and 40 didn't always behave like they should. But layer 11 was problem-free, quite unlike its Java counterpart. Considering the productivity gains we received, I never expected things to go so smoothly.
Sunday, 30 March 2003
Are Programmers Engineers?
Our universities call us engineers because there is no college where we fit. I don't blame them for that, but I have no desire to borrow the word engineer as an attempt to make myself sound more credible.