Skip to main content
Website & Technology

Defining Software Requirements

Author: Tatiana Morand
June 3, 2011
🕑 3 min read

Do You Need Custom Software?

This is a mantra of any consultant worth his or her salt: Before you select a system, define your requirements. This is true with membership management software. Many non-profits make an earnest attempt to do this… and end up with a lot of wasted time and effort. Why? Because most such lists fall prey to three common mistakes:

  1. Inconsistent level of detail. Some needs are very high-level (“we need prospective members to apply online”) while others are way too detailed (“and the system should have a button on event registration that, when clicked, should bring up this window…”).
  2. Gaps. Failure to include really important needs can often result from not consulting with all the necessary stakeholders who will be using or depending on the system.
  3. Focus on mechanics. Requirements that do not define the problem being solved in detail, but instead focus on requiring a specific interface or way to do a task.

The truth is, to create a good requirements document you really need to hire a professional analyst who will thoroughly interview all stakeholders, research and document all the requirements, and coordinate the process to review, discuss, and finalize them with all the decision makers. Sounds complex and expensive? You bet!

Here’s the good news: You’d probably only need to create such detailed functional requirements for your organization in two cases:

  1. If you are looking to have custom software designed and built for you. (Yes, this will be expensive – no way around it. And this is outside of the scope of this guide: packaged software.)
  2. If you are absolutely sure that your organization’s needs are totally unique. (This is much rarer than most people think!)

Here’s how we suggest you go about it:

Create a high-level list of needs. We have created a feature comparison matrix with a number of common needs that you can use as a starting point – find the link at

For each item, rank how critical it is to have it right within the same software package.
Be realistic: Of course you want everything in one place and perfectly integrated – but distinguish between “must have”, “nice to have”, and “desirable”.

Example: Having your member list (aka database) integrated with your website is probably a very important requirement (so that new members are automatically granted access, while inactive/suspended members are automatically restricted from accessing your member-only area).

On the other hand, having an integrated survey tool is probably less of an issue, as you can easily use a third-party tool like with very little manual work.

Once you have this list, do a “reality check” with the key people in your organization. Does it make sense to them? Have you missed anything important? You may be surprised what things come up.

Later on you will use this list to evaluate a shortlist of candidates.

Create initial list of candidates

How do you go about it?

Ask around. Ask people in similar organizations what software they are using, and what they like or dislike about it.

Do a Google search – for example, on “membership management software” – and browse through first 20-30 results to see if anything looks interesting.

Check a software directory, for example

All in all, we’d suggest selecting about 10 initial candidates.

The Membership Growth Report:

Benchmarks & Insights for Growing Revenue and Constituents

Get the report now!