Skip to content

Latest commit

 

History

History
68 lines (55 loc) · 4.88 KB

producttemplate.md

File metadata and controls

68 lines (55 loc) · 4.88 KB

Building a Useful, User-Friendly Project

So, you want to build a new open-source project. Great! Use this template (derived from this) to ensure that the project you build is as great as possible from a purpose, innovation, maintenance, and usability perspective.

Also recommended: check out Mozilla's Open Canvas, which presents a very similar approach in a nifty canvas format; and this Design Doc Template from Google.

1. PROJECT VISION

  • What is your vision for this project?
  • What defines “success” for this project?
  • What are the potential pitfalls (i.e. what keeps you up at night about this project)?
  • Do you actually need the open-source community to help you with this project?
  • Do you need more:
    • devs helping you to build features/functionality?
    • code review?
    • doc help?
    • product users?
  • What does your project MVP (minimum viable product) look like?

2. VALUE PROPOSITION

  • What problems are you solving for potential users?
  • What are the main “why you should use this” message points?
  • What are the most innovative features?

3. USERS: OVERVIEW

Use your own experience on this one to get started, then find more internally. Then go externally as you build the product vision.

  • Who are the different types of users? Could be:
    • Zalando users (examples): other teams, other departments within tech, other departments outside of tech, etc.
    • non-Zalando users (examples): startups, small companies, big companies, OAuth2 users, devs using a specific language/library/framework/etc., “site reliability engineers,” “front-end engineers working in a microservices environment,” etc.
  • Who are the primary target users?
    • Background?
    • Defining Attributes?
    • Use cases/recipes?

3a. USER RESEARCH

We strongly recommend that you conduct preliminary interviews with potential stakeholders and users to ensure that your project vision aligns with their needs.

User research helps you to avoid duplication/building something in a silo; technical debt, and poor craftsmanship; and to gain efficiency, maximum usability/adoption/maintenance, and excellent craftsmanship. We have these resources available internally and are working with product to make them available ASAP.

3b. USABILITY PROCESS & WORKFLOW

  • What is the current relationship between you/your project team and your potential users of your project?
  • How will you engage with your project’s potential users to tell them about the project and keep them informed of updates/new features/etc?
    • Examples: LinkedIn groups, direct contact with likely users (in personal networks), social media, meetups, conferences
  • What steps will you/your team take to increase engagement and build community?
  • Do you have a six-month maintenance plan for the project? Such a plan would address:
    • Your/your team's definition of what "maintainer" means, and what a maintainer is accountable for (role definition).
    • Total number of project maintainers, and assurance that they can/will fulfill the role.
    • The expected response time for PRs and issues. Within 48-72 hours is advisable; any longer, and we request that you note in your README that longer response times should be expected.
    • Reviewing PRs from outside your own team, and related processes.
    • Asking for PRs from outside your own team.
    • Labelling issues "Help Wanted" to drive contributions, and how you will achieve this.
    • How you will handle rejecting PRs you don’t want to use.

4. COMPETITOR ANALYSIS

  • What similar tools are in use today internally?
  • What similar tools are already developed and open-source?
  • What are their relative strengths/weaknesses?
  • How is this offering different?

Provide some evidence, such as online research results you conducted prior to developing the project, or survey feedback generated about your idea. Show that your work is unique and does not imitate an existing, actively maintained project. (Remaking someone else’s deprecated project is acceptable, as you are demonstrating that your project fulfills a once-served need.) Usually a one-paragraph summary/list of 3-4 bullet points defining your project’s innovative features and distinct advantages is sufficient.

5. KPI ANALYSIS AND SUCCESS INDICATORS

How will you be define and measure success in terms of gaining and keeping users?

6. FUTURE FEATURES

  • What are bad results for the user? (If an experience doesn’t go well, what happens?)
  • How will you communicate with and involve your users long-term to ensure you’re still serving their needs with this project?
  • What else do you think your users would want this project to do?