Hacker News new | ask | show | jobs
by xigency 3760 days ago
Without any concrete evidence or cases, the general description of a problem in this article is not very convincing. Software maintenance itself is not an anti-pattern. Instead, what is described is a situation of product/project mismanagement.

    > ... software is not considered complete when it's first released.
I don't know where this assumption comes from.

    > Governments often use two anti-patterns... (2) moving to reduce 
    sustaining staff too early;
This seems like a complete description of the problem, which doesn't sound like a pattern but an issue of conflating deadlines, releases, and project completion.

    > To keep teams from constantly plugging leaks while missing 
    the reason the boat is sinking, we need to apply the
    principles of agile development and user centered design
Honestly, this sounds like the waterfall model is preferred to agile development in this case. Agile development can more easily lead a team into constantly plugging leaks than other, more traditional development models.

But I think this article is really addressing public facing web platforms instead of all "software," which the US government has only really experimented with during the last administration, so some of the sentiments of this article, in the context of government, may be true even though it reads false.

Beginning with the analogy to building construction: A skyscraper isn't complete when just the floors and frame are put in place, and the building team doesn't let the builders go at that point. When it is opened up, the maintenance staff have their own job, but it's nothing like what renovators might have to do years later.

3 comments

> ... software is not considered complete when it's first released.

I don't know where this assumption comes from.

My anecdata, doing IT support for about 1,000 small-business sites: it's customary to only adopt new Microsoft releases after SP1 has been released. Our customers sometimes even explicitly instruct us so.

While this is changing, in game development the finished product ships on read-only media and without patches or online support, that is all the customer is going to get.

Now there's a prevalence of day one patches but it's pretty lame to see developers waiting till the weeks between pressing the disc and it appearing on shelves to fix standing issues.

In the case of M$ software that's a security or support issue not the absence of core features.

Already in 2013 92% of PC game sales involved no physical media [http://gamerant.com/pc-digital-physical-sales-comparison-201...]. This enables the day-1-habit, of course, but it also mitigates the problems - there aren't any shelves on which unpatched versions of the game keep sitting after launch.
Console is lagging behind for this.
In fact, the reason Server 2003 got an extra year of support is that they waited until after Vista SP1 to do Server 2008.
"... software is not considered complete when it's first released."

The author was probably meaning "finished" instead of "complete", which gives a different meaning more in line with the article.

Indeed, what is "complete" anyway? Is it the opposite of "incomplete" (all requirements are met)? Or does it mean "not requiring further extension" (no new requirements will emerge)?