We support Nesta's missions and our partners to design, validate and scale software solutions that meet people’s needs and have a positive social impact.
Our software developers and product specialists iteratively develop and scale digital products and services that help achieve Nesta’s mission goals.
Our software development experts support our mission goals in two main ways. Firstly, by guiding colleagues and partners through a strategic process of understanding a problem or issue from multiple perspectives and levels. This ensures we have identified the needs, behaviours and context of people affected by our work in order to improve the chances that interventions deliver the desired impact and avoid harm.
Secondly, we help reduce risk by designing, testing and scaling software solutions in an iterative way. We repeat this process many times until we have solutions that meet people’s needs and lead to the desired social impact in a feasible and sustainable way.
Examples of our work include a platform to connect people who are interested in heat pumps with hosts to ask questions or plan a visit, a heat pump cost estimator, a text messaging service for BBC’s Tiny Happy People and a digital service to boost parenting capabilities.
Our software development and product approaches work alongside our design approaches to understand problems and define opportunities then develop products that support Nesta to deliver social impact. We do this by working in the following ways:
We make clear the needs of users and stakeholders, and how the software we’re developing meets these needs. People who build software regularly participate in user testing and research, we define and monitor metrics related to needs and change things when they aren’t meeting needs.
We prioritise quickly delivering the simplest working software (using full-stack frameworks, low/no-code options and existing software where it makes sense) so we can check if we’re meeting the needs of users and stakeholders regularly, then iterate.
We design systems with the right level of scale in mind. We acknowledge when we’re designing a system with the aim of learning but that will be replaced, or one that needs to live in production for lots of users.
We are mindful of introducing additional code complexity with our technology choices and must justify this against our user and stakeholder needs. We consider the impact of our choices on different users and opt for progressive enhancement where we can.
We use shared standards, approaches and tools, including platforms as a service, to spend more time releasing working software than configuring infrastructure where it makes sense.
We default to sharing our work and learnings, unless there is a very good reason not to. This looks like making our code open, having good documentation, and sharing our learning through blogs and other forums.
If you’d like to find out more, share learning, or explore opportunities for collaboration, please get in touch by emailing [email protected].