GFA-DIU / OpenSource4Impact

Open source checklist
https://gfa-diu.github.io/OpenSource4Impact
Creative Commons Zero v1.0 Universal
2 stars 1 forks source link

Implementation Checklist #11

Open pcschreiber1 opened 9 months ago

pcschreiber1 commented 9 months ago

Since the implementation checklist requires more work to be finalised, we agreed to leave-out out of the scope of the MVP. Open questions are:

The original can be found here.

Here the markdown version

đź“‹ Project Implementation of Open Source Projects

  1. Project inception/ Set the project up for success

    1. The project development stages, requirements and tasks have been clarified with the client.
    2. Open source projects require the active participation of the client: Continuous involvement of clients and partners throughout all project stages and activities has been discussed
    3. A project development strategy and roadmap has been coordinated in a strategy workshop and shared with all partners. Dependencies and potential risks have been identified. Consider an agile delivery approach and clearly define roles and responsibilities among all partners.
  2. Developing for Impact

    1. If possible, actively involve clients and users in the definition, design and production of the solution. (material: human centered design and material from digital principles)
    2. When developing the structure design, involve technical counterparts. In addition, consider engaging with the development community of open source components for support and quick feedback.
    3. When elaborating the functionality design, involve the user. If the user does not want to be involved, it is usually a bad sign.
    4. When drafting the process design, involve the user
    5. Consider developing on the basis of a Proof of Concept strategy. Ensure that the PoC is minimal and share it with all relevant stakeholders
  3. Technical implementation

    1. For Hosting & System Setup, consider ...
    2. Ensure continuous testing of system modules and transparently report testing coverage.
    3. Carefully integrate any identified data and software standards for interoperability. Consider engaging with the respective community, to be aware of best practices and ongoing developments.
    4. Iteration/optimization of functionalities
    5. Ensure the sound documentation of your project. Agree on a documentation standard and coordinate automatic generation.
    6. When possible, start function and integration testing and transparently communicate results
    7. Test with users. If the users don’t give feedback, the project with will fail.
    8. Train future users and administrators early. Collect and address feedback from administrators systematically.
    9. For the “Golive”, consider ...
  4. Ensuring sustainability

    1. Establish a central collection of feedback and feature requests at the client organization (e.g. through a ticketing system)
    2. Consider different maintenance and support frameworks to offer and switch between
    3. Review the documentation with the partners
    4. Develop a handover-strategy with all stakeholders and determine transition benchmarks and appropriate mitigation policies

One word on Agility: Experience shows that custom software development must be flexibly responding to changing project requirements, design and technical feasibility. This flexibility is not always easy to achieve in publicly funded projects due to the often very inflexible contract framework. To the extent that it is possible, we recommend deviating from a top down fixed long-term workplans to a more iterative approach.