Tech Project Specifications and Social Change Efforts

This article will help people working on social change efforts understand what they need to know before undertaking a technology project and how to communicate that to internal technology related staff or a potential external developer/consultant hire. This document was created with the input of several colleagues, including Tin Geber, Jon Camfield, and Lucy Chambers. We have also been greatly informed by Aspiration’s Request for Proposal (RFP) Template.

FabRiders has helped dozens of advocacy and rights organisations plan and implement tech projects that range from improving websites, implementing data projects, to creating graphics and visualisations. Most individuals that are involved in creating social change have very different processes than those that are focused on creating technologies (though these two communities are merging more than ever these days). This can also mean that social change organisations have a clear idea of what they would like to create using tech, but are fuzzy on how to get there:

  • What information does a techie or developer need from me in order to get their job done?
  • What can I expect from a tech service provider? What shouldn’t I expect?
  • How can I make sure that my vision for the impact of the final product is the same as the service provider’s vision?


Fundamentals for Using Technology

Read: Fundamentals for Using Technology

  1. Develop a vision of success for the project. Understand how the project contributes to the overall change you are seeking to create. How does this support your Theory of Change? Where does the project fit within the organisational strategy? If you haven’t done any of this work see this chapter on The Tech Strategy, in the guide we authored Fundamentals for Using Technology.
  2. Identify who in your own organisation should oversee the project. You may need to assign a team, depending on how it will be integrated into your work, but make sure you have one person who is assigned responsibility to make sure everything will run ontime and within budget.
  3. Get potential users involved right away, before you do any work on the project. You should understand how this will engage your audience. What value will your user actually find when using the output of your project? You will likely need to spend the greatest amount of time and effort in this area. See: hacking user centred design for social change.
  4. Research and learn from the efforts of others who have applied technology to social change efforts. While FabRiders has a lot of experience in this area, we’d be amiss if we didn’t point to Aspiration, as a source of an incredible wealth of knowledge in this area, along with our colleagues at the engine room. It’s also worth having a good read of the following:
    1. Principles for Digital Development: Nine principles that will save you time, money and assure you are not undermining your own social change effort;
    2. Jon Camfield’s Stop doing Technology for Good So Badly;
    3. 10 Tips for Successful ICT4D Interventions
    4. The Trials, Tribulations, Triumphs of Choosing an M&E Platform
  5. Know your ‘minimum viable product.’ What is the minimum amount of functionality and features needed for your users to start interacting with your technology project so that you can effectively learn and get feedback from them.

And a disclaimer: we are not suggesting that you should build from scratch. There are plenty of solutions already built that you should consider before you even think about building your own. The specification is meant as a guide for selecting and possibly modifying an existing tool.

Creating the specification document

A specification document will act as the anchor for your tech project. It will be critical for clearly articulating your needs to a developer or consultant so that they can give you an estimate of time and budget. You should include it as part of a formal process to identify a developer or consultant in a ‘request for proposal’ call. This should illuminate your expectations as much as possible. It will need to include:

An Overview

  • What your organisation does and what it is trying to achieve.
  • How this project fits into the overall vision of success for the organisation.
  • Your goals and objectives for this project. What is the impact you are expecting this project to have? How will it engage stakeholders?
  • Is this meant to be a solution to a problem? If so, how is the current problem being solved and what is the problem with that solution? What will this do for users that they couldn’t previously do?
  • An articulation of your ‘minimum viable product.’

User and User Experience (UX) Specifications

  • Information about your users that you developed from hacking user centred design for social change.
    • User profiles. Demographics, their contexts and what value they will get out of the project outputs. Make sure you address things like literacy levels and cultural implications.
    • User stories. What they are doing when they engage with your project.
  • Navigation and information architecture. How will people get to the information they are looking for? You might include wireframes that show how the navigation and interface might look. (see this link for how to create wire frames).
  • Look and feel. What sort of response do you want people to have when they see it? Should it’s look be dictated by organisational or project branding?
  • Localisation and Translation: How many languages will you need to support? How many different countries will this be used in? Will there be content differences based on the contexts of the locations of the users?
  • Admin user profiles and user stories. What will your team need to do to properly administer the project.  What will they need to do when they interact with the admin side of the project.

Technology requirements.

  • Browser and device support (though this has become more diriguer of late, it’s still important to articulate, particularly if you have identified key browsers and devices in your user research).
  • Formats. Do you need to provide PDF’s for people that will want to print out information? Will you need a data visualisation? Will you need to provide a spreadsheet for those that will want to interact with the data on their own?
  • Coexistence. Will this be fitting into your organisational digital ecosystem? How? What are the requirements based on that.
  • Security requirements. Are you collecting data? How will you protect it? How will you protect the people that will access your website and assure their activity can’t be tracked?
  • Accessibility requirements. Are there any special needs of the users that will need to be addressed?
  • Localisation requirements. Specifics on language and how content will be different based on location.
  • Bandwidth requirements. Will users be accessing your in low-bandwidth requirements?
  • Required/preferred programming/stacks/cms. (e.g, WordPress, Drupal, Python, Rails, PHP, etc)
  • Hosting Requirements. Where will this live on the internet? Is it going to be part of your own domain?
  • License requirements. We can not stress how critical it is to use free and open source licensing, along with Creative Commons for your content. Be assured that your investment can be of benefit to others and that your data will not be locked into a platform. Make sure any potential consultant has the same values and priorities.

Project Plan Details

  • Timeline. What are other project milestones that are reliant on the finalisation of the project? What are other deadlines that will be impacted by delays in this project?
  • User testing. What user testing will you need to occur before launch? Who should be involved in the testing?
  • User training. Are the users going to get any specific training on using this system before using it?
  • Long term maintenance and development. How will it be maintained and further developed after launch? How will you incorporate what you learn after launch into future development?
  • A budget. How much money will you actually need? (Don’t forget to factor in long term maintenance and development!)

Next Steps

And also feel free to get in touch with us!