The disconnect between software development and government contracting.

There’s a big disconnect between modern software development practices and government contracting. It can seem intractable, but there is a solution. It’s the job of contracting officers to get government the best value for their money. That means being sure that they’ll get precisely what they need, within budget and on time. Normally, the best …

Never contract for story points.

When contracting for Agile software development services, sometimes contracting officers make “story points” the thing that they’re buying. This is an enormous mistake, on a couple of levels, and nobody should ever do it. Let’s talk about why. First, let’s define “story points.” Agile development teams need to figure out what they’re going to work …

Reduce bids by reducing uncertainty.

When government agencies procure custom software, the price tag is often driven up because the agencies are unwilling or unable to reduce the complexity prior to beginning the acquisition process. The complexity and associated uncertainty is obvious to vendors, so when asked to provide a firm fixed price bid, they’re going to price it for …

Government should procure custom software as open source.

Government software becomes vastly better when it’s procured as open source. Normally, government buys closed-source custom software. Government never looks at the source code. The public can’t inspect it. Is it any good? No, it is not. There is no incentive to make it good. In fact, there’s a perverse incentive: hard to maintain means …

Make sure your UI modernization plan includes an open source clause.

Tens of millions of Americans have lost their jobs this year. Overall, over 35 million people have made unemployment benefit claims since the crisis began. State unemployment systems are crumbling under the load, and they’re desperate to modernize. The CARES Act, passed March 27th, expands benefits for those who lost work due to the pandemic, …

How to stop failures of major custom software procurements.

When government pays companies to build big custom software programs for them, they succeed just 13% of the time. Here is why failure is so common, and about the simple change that turns those outcomes on their head. Major government software projects fail because government has learned, over many years, to do exactly the wrong …

Truth, earned credibility, and a publisher’s responsibility.

I spent much of the ’00s as a political blogger. I wrote here, mostly about state politics. When I decided to start writing about state politics, in 2003, I sought out other political blogs in Virginia. There weren’t many, maybe a half-dozen. I added them all to my blogroll, made a point of reading those …

How to get started with continuous integration.

I’ve put off learning to use continuous integration tools for a few years now. There’s never a good time to complicate my development process. But today I finally did it. It works differently than I thought, and was easier than I expected, so it’s worth documenting the process for others. I have a non-trivial number of GitHub …

“Accidental APIs”: Naming a design pattern.

Like many open data developers, I’m sick of scraping. Writing yet another script to extract data from thousands of pages of HTML is exhausting, made worse by the sneaking sense that I’m enabling the continuation of terrible information-sharing practices by government. Luckily, it’s becoming more common for government websites to create a sort of an …