Live data from Hacker News

Software Maintenance by Skeleton Crew Is an Anti-Pattern

18f.gsa.gov

11–20 of 41 posts

Re: Software Maintenance by Skeleton Crew Is an Anti-Pattern

#11
This could be applied to any software that is developed as a product (in the sense of a piece of software to sell to multiple players in a market).

The article talks about the demand/market for the software increasing after the release, until it reaches a peak, then tails off.

Agile uses the term 'Product Owner', but if you're developing an intranet for Acme Inc, is it really a product? Once the new intranet site is released, is Acme Inc suddenly going to hire a lot more people, increasing the "market"? Will new features generate more "profit" for the intranet?

I wouldn't describe this as Gov vs Private Industry, but as software products vs bespoke software development. And for bespoke software development, private industry often has the same approach to maintenance: once it's done, it's time to wind down the team.

Re: Software Maintenance by Skeleton Crew Is an Anti-Pattern

#12
post #6
post #2

This title is misleading, should be closer to "Government frequently adopts anti-patterns when maintaining software" Something more constrained to what the article is actually about rather that the global catch all "software maintenance".

I agree that the title is misleading, but I'd clarify it to "Software development as typically practiced in industry is an anti-pattern." (Maybe it also applies to government; I don't know.) It seems fairly typical in my experience for the old thing to be continually patched over instead of fixed, awaiting replacement by the new thing that is never quite ready.

In general, "the new thing" doesn't solve problems that patches fix. For a web platform especially, it sounds like expecting a new engine from a new coat of paint.

Re: Software Maintenance by Skeleton Crew Is an Anti-Pattern

#13
post #2

This title is misleading, should be closer to "Government frequently adopts anti-patterns when maintaining software" Something more constrained to what the article is actually about rather that the global catch all "software maintenance".

I spent over 20 years in the software industry and I've never seen anyone describe software as in "maintenance" except when staffed by a skeleton crew who does not do user research or anything forward thinking. That's ok, I guess, in industry, not ok in government when a fixed size market is not a business indicator, but a fact-of-life.

Re: Software Maintenance by Skeleton Crew Is an Anti-Pattern

#14
post #6
post #2

This title is misleading, should be closer to "Government frequently adopts anti-patterns when maintaining software" Something more constrained to what the article is actually about rather that the global catch all "software maintenance".

I agree that the title is misleading, but I'd clarify it to "Software development as typically practiced in industry is an anti-pattern." (Maybe it also applies to government; I don't know.) It seems fairly typical in my experience for the old thing to be continually patched over instead of fixed, awaiting replacement by the new thing that is never quite ready.

A lot of it is that consistently people design things on the assumption that 80% of labor will be in the first release, rather than the 80% going into maintaiance which is what happens most of the time.

This is closely linked to the idea that least cost development is a matter of doing every individual action 'cheaply' and pretending you are not going to screw things up. If you want least cost actually least risk is a good approximation.

Re: Software Maintenance by Skeleton Crew Is an Anti-Pattern

#15
post #4

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 r…

> ... 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.

Re: Software Maintenance by Skeleton Crew Is an Anti-Pattern

#16
post #15
post #4

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 r…

> ... 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.

Re: Software Maintenance by Skeleton Crew Is an Anti-Pattern

#18
post #9

This seems to assume that all "private industry" does things in a way different than how government does. Different kinds of projects have different needs for upfront design. One can quickly ship and iterate on an online dating app. One cannot launch a new space shuttle every two weeks and keep trying until the crew survives the mission.

>This seems to assume that all "private industry" does things in a way different than how government does.

It does. A skeleton crew would be abandonware.

Re: Software Maintenance by Skeleton Crew Is an Anti-Pattern

#19
post #11

This could be applied to any software that is developed as a product (in the sense of a piece of software to sell to multiple players in a market). The article talks about the demand/market for the software increasing after the release, until it reaches a peak, then tails off. Agile uses the term 'Product Owner', but if you're developing an intranet for Acme Inc, is it really a product? Once the new intranet site is…

> Agile uses the term 'Product Owner', but if you're developing an intranet for Acme Inc, is it really a product?

Approaching this from a purely semantic perspective: yes, a product is something that is produced as a result of a process. Not "in the sense of a piece of software to sell to multiple players in a market", but that's a completely arbitrary distinction that you drew yourself, so it isn't really an argument against calling someone a "product owner" of a single customer product.

> Once the new intranet site is released, is Acme Inc suddenly going to hire a lot more people, increasing the "market"? Will new features generate more "profit" for the intranet?

Maybe Acme Inc find that the product that they have paid for have benefits to productivity, but are willing to pay for continued development to refine it further?

Having worked on a lot of "one-off" type projects I think that it is important to maintain software gracefully. Existing customers will ask us to roll out new features on short notice, and having built the product in a way that lets us adjust and add to it easily enables us to sign deals at competitive prices.

That's not to say that this always happens, but I am less suspicious of this as an ideal.

Re: Software Maintenance by Skeleton Crew Is an Anti-Pattern

#20
post #9

This seems to assume that all "private industry" does things in a way different than how government does. Different kinds of projects have different needs for upfront design. One can quickly ship and iterate on an online dating app. One cannot launch a new space shuttle every two weeks and keep trying until the crew survives the mission.

>This seems to assume that all "private industry" does things in a way different than how government does. It does. A skeleton crew would be abandonware.

Or a startup.
Post reply on HN