Home > ethics > Dear Nonprofits: Software Needs Upkeep (Why we need better education about software development and professional ethics)

Dear Nonprofits: Software Needs Upkeep (Why we need better education about software development and professional ethics)

A friend who is president of a nonprofit came to see me last week with a problem: he doesn’t know how to maintain their mobile app. They worked hard to get a grant, and used the money to hire a web design firm to make them a mobile app. Seems like a nice idea, right? Except one problem: they don’t have ongoing funding for software updates and design changes. They had a one-time grant, and they spent it all on their first version. The first version is not bad–it works. But that’s kind of like saying “we made a version of Facebook that works years ago, so we’re done, right?” That doesn’t explain what all those employees in Mountain View are doing, working sixty-hour weeks.

Anyone who works in the software industry knows that software needs ongoing love and care. You’ll never get the functionality quite right–design has to evolve over time. And even if you do get it mostly right, there will be new releases of operating systems and new devices that break the old code. It will need to be updated.

Giving someone a first version of software and walking away is rather like selling them a horse knowing that they have no barn and no money for grooming or hay or vet bills. The upkeep is the issue, not the cost of the horse. The well-known web design firm that sold my friend a horse with no barn should be ashamed. Because they knew.

Nonprofits are particularly vulnerable when they have limited in-house technical capability. They are completely dependent on the vendor in every phase of the project. Dependent on the vendor’s honesty and forthrightness as well as the quality of the product they deliver.

This particular vendor just informed the nonprofit that they would not be able to support future software changes because “their business is going in a new direction.” Now there’s a line for you. They knew that supporting the nonprofit was a losing proposition, from a financial perspective. It’s the business equivalent of a one-night-stand: that was nice, but I don’t want to see you again.

For those of you running small organizations, please think hard about how you are going to maintain any software you buy. For those of you running web design firms, think hard about whether you are serving the best interests of your clients in the long run. I imagine the staff who sold my friend the app are thinking “we delivered what we agreed to,” and don’t see any issue. But you know better and need to hold yourselves to a higher standard.

This is not a new phenomenon. Cliff Lampe found the same thing in a study of three nonprofits. At the root of the problem is two shortcomings in education. So that more small businesses and nonprofits don’t keep making this mistake, we need education about the software development process as part of the standard high-school curriculum. There is no part of the working world that is not touched by software, and people need to know how it is created and maintained. Even if they have no intention of becoming a developer, they need to know how to be an informed software customer. Second, for the people at web design firms who keep taking advantage of customers, there seems to be a lack of adequate professional ethics education. I teach students in my Computers, Society, and Professionalism class that software engineers have a special ethical responsibility because the client may not understand the problem domain and is relying on the knowledge and honesty of the developer. More people need to get that message.

Responding to an earlier version of this post, Jill Dimond makes the excellent point that part of the problem is with funders of nonprofits. It’s more appealing to fund something new than to sustain something already funded.  Funders should take a lesson from Habitat for Humanity, who make sure to give people a house that they are financially able to maintain.  Most funders are acting more like reality television shows who give people a mansion they can’t afford. And then we all act surprised when the family loses the home in bankruptcy. Funders need to plan for the long-term, or else why bother at all?

Categories: ethics Tags: ,
  1. Jacob Thebault-Spieker
    March 30, 2015 at 9:50 am

    This is a ‘problem’ in citizen science efforts as well, via Andrea Wiggins’ work. Apparently most small citizen science projects just manage this by using offline processes for quality purposes, because they often don’t have money or full-time technologists to sustain their software.

  2. March 30, 2015 at 10:47 am

    I remember (years ago) when my college adapted the Tech Fund grant software requisition form to include: “Where will the money to maintain this software come from?” at the insistence from the CS department. It seems that even at a university, (expensive) software was being purchased and then 2-3 years later, the departments were requesting more money to update the software – something that hadn’t been planned for in the original grant.

    Second thought – you think that the contract for healthcare.gov has any maintenance clauses in it???

    Agreed that education about the software process must be required in high school – you know, that whole computational literacy thing we’re pushing for…

  3. March 30, 2015 at 10:56 am

    Once the education question is dealt with, there’s also the question of core competencies: should software maintenance be a “core competency” for nonprofits, or will it continue to be a dull headache? Should nonprofits have a “maintainer-in-chief”?

    We as researchers face similar issues in maintaining research software that has been of real use to people. I think about this a lot, especially for a health-focused system that (in theory) is providing real benefit to users. Should translating a “successful” research system to self-sustaining independence be a core competency of academic research, or do we hand the system off to a different team to administer routine care?

    Ironically, the best solution for the researcher version of this problem might itself be a nonprofit!

  4. March 30, 2015 at 4:34 pm

    This is a great argument for free software/open source, or at the very least purchasing the source code and copyrights

    Anyone paying for a custom app like this should insist that for their money they get a full copy of the source code. This should either be under a free license, or the purchaser should get the copyright (this somewhat implies that any libraries shared between clients are open source).

    If the client has the source code, and the right to modify it, they can shop elsewhere for modifications if the original vendor is not interested.

    If the vendor doesn’t disclose the source code, or does but insists the client has no right to modify it, they are indeed being unfair.

    Non-profits that ask for these conditions may have to pay more up front. But it’s a total cost of ownership issue. It’s not worth saving a little money up front, but being up a creek without a paddle later.

  5. Karrie
    March 30, 2015 at 9:07 pm

    Jim Hollan posed a similar question for the support of a university funded project that evolved into an excellent PhD thesis. Funding outlets to support research projects past the more novel research phase are scarce.

  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: