Technology Toolkit

This section of the toolkit is focused on activities that will help you with planning how to establish, stabilize, and evolve sustainable technology for your program. It is designed to help you structure discussions and gain consensus about next steps for sustainable technology for your OSS program. It is not a toolkit for day-to-day software development.

Click here to download a PDF of ALL Technology activities.

Click to read the Facet Description and Getting Started tips

Facet Description

The core of each of the programs served by It Takes a Village is open source software or systems serving cultural and scientific heritage organizations. There are parallels with proprietary software development processes, but working within the open source world brings its own challenges around community, resources, and governance that affect the software development process.

Getting Started

Review the activities and goals below to select ones you want to use for sustainability planning. These activities are designed to help you move from one phase to the next and can be used in any order. You can use any or all of them.

Click on the icons below to download a DOC or PDF version of each Activity.

Click on the Activity name or more button () for additional resources.

Use the "contact" page to ask questions.

ITAV Sustainability Technology Graphic
Technology Phase 1: Laying the Groundwork

Turn an idea for an application into a viable product that serves the needs of the community.

Return to top

Click here to download a PDF of all Phase 1 activities.

Goals: Identify and prioritize the community's technology stakeholders; Create a high-level map of the technology stakeholder's characteristics; and Identify the program's goal for high-priority stakeholder groups
Related Objective: Understand core community needs

Goal: Create an inventory of what technical skills are required for technical staff, contributors, and users to develop, support, and maintain the platform
Related Objective: Understand core community needs

Goals: Learn how to bring contributors onto your project using tools called "personas" and "pathways"; Help your program plan and test how you'll interact with new contributors; and Imagine what is really involved for new contributors to succeed
Related Objective: Understand core community needs

Goal: Understand where your program fits in the technology landscape; and Use results to innovate, make decisions, identify opportunities for collaboration, and/or increase your program's usefulness or effectiveness
Related Objective: Understand core community needs

Goals: Help users prioritize among a list of pre-defined (but not yet developed) features; and Promote cooperation among end users
Related Objective: Continue to gather data

Goals: Review program's current QA practices and evaluate whether they are structured in a manner that can be supported by the community; Identify places for improvement; and Conduct a successful round of Community QA
Related Objective: Continue to gather data

Goal: Understand how usable your current documentation is via friction logging with documentation users
Related Objective: Continue to gather data

Technology Phase 2: Expanding and Integrating

Refine the application: identify and strengthen areas that are working well, identify gaps that can be filled with new features and functionality, and phase out elements that are not working.

Return to top

Click here to download a PDF of all Phase 2 activities.

Goals: Gain insight about users’ jobs, pains, and gains; Learn about users’ day-to-day work in a real-life setting; and Incorporate end-users’ experiences into program planning
Related Objective: Engage the community

Goals: Understand how the program currently recognizes contributions, Understand the kind of recognition that is most appreciated/motivating to each kind of contributor, and Discover how the program can improve in this area
Related Objective: Engage the community

Goals: Create a value proposition for a new program position (e.g. community manager, technical lead) to help articulate significance of allocating resources to program leadership; and optionally, Create a job description for a new program position
Related Objective: Engage the community

Goals: Identify what documentation your program has that supports growing a successful community; and Prioritize missing documentation and develop a plan for its development
Related Objective: Grow thoughtfully

Goals: Identify functional requirements or feature requests that may be solved by integration; and Identify and assess potential integration solutions to satisfy functional requirements or feature requests
Related Objective: Consider integration over new development

Goals: Identify elements of the platform that can be retired; Develop a plan for communicating retirement plans with the community; and Communicate the retirement decision to the community
Related Objective: Consider integration over new development

Technology Phase 3: Preparing for Change

Determine how the core application's technology stack and functionality will serve the future needs of the community; plan ahead for expansion, integration, re-architecture, or retirement.

Return to top

Click here to download a PDF of all Phase 3 activities.

Goals: Re-identify and re-prioritize the community’s technology stakeholders; Create a high-level map of the technology stakeholder’s characteristics; and Support program team’s work developing strategies to advance technology sustainability
Related Objective: Reassess community needs

Goals: Understand how the program’s current technical staff, stack, and roadmap work with unexpected issues (catastrophes); and Help programs identify how resilient their staff, stack, and long-range technical strategy are
Related Objective: Reassess community needs

Goals: Articulate what future directions your core application could take; Assess skills and technology requirements for future directions; and Plan for and prioritize professional development opportunities for program stakeholders (staff, contributors, trainers, etc.)
Related Objective: Reassess community needs

Goal: Turn the issues identified in Part 1 of Catastrophizing into actionable plans
Related Objective: Plan for evolution

Goals: Update your program’s inventory of what technical skills are needed for technical staff, contributors, and users to develop, support, and maintain the platform; and Identify new skills that your program will need to acquire or old skills that can be phased out as the program advances
Related Objective: Plan for evolution

Goal: Develop plan to communicate end-of-life decisions with community
Related Objective: Document an exit strategy

Goals: Decide when a project or program is no longer useful; Understand how to disengage from a project or program; and Determine what to do about code, repositories, websites, wikis, and other project or program assets
Related Objective: Document an exit strategy