This is based off a conversation that I had with my older sibling in the morning in one of our walks:
The gist of impact-driven development - as a philosophy - is to focus on maximizing the positive impact of a project on its users and the world and emphasizing the importance of measuring and improving the impact of a project, rather than just focusing on its technical features and functionality - which many people default to. Thinking about impact co-erces you to prioritize tasks and features that will have the greatest impact and have meaningful collaborations to understand the users’ needs [and goals].
This begs the question: how do you measure impact? One way to go about this is: identifying the key stakeholders or beneficiaries of a project, as well as the specific metrics or indicators that will be used to assess the project’s impact. For example, for Genenenetwork2, the stakeholders are biologists and students taking genetics. The metrics include: how fast it takes to complete features, how fast it takes to run some computations, data upload by a data curator after an experiment and how flexible it is etc.
Once the stakeholders and metrics have been identified, the next logical step is to focus on the most impactful things. In my case, that would mean prioritising the task as an “A” task as outlined in this system, and when feasible, sharing that data and progress openly with the right people.
Overall, I reckon impact-driven development is a valuable approach to software development [and other facets of life too] that can help ensure that projects are having the greatest possible positive impact on their users and the world. By measuring and improving impact, developers can make sure that their work is making a real difference, and that they are using their skills and expertise to help solve the most pressing problems.