Skip to content

Commit 4f4c6ae

Browse files
authored
Persona Library 1.0
This merge includes: - reference library of articles, books, tools, and videos about persona development - persona library system for a schema-based persona definition and basic tooling - personas for the DevRel Foundation as an example persona set - getting started guide - guide to using personas for content - glossary - contribution guide
2 parents 399f187 + 5483404 commit 4f4c6ae

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

80 files changed

+4352
-159
lines changed

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
# Build
2+
build/
3+
14
# Logs
25
logs
36
*.log

CONTRIBUTING.md

Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
2+
# Contributing to the Persona Library
3+
4+
We're glad to have you here and reading this because our efforts are supported by volunteers. Thank you for taking the time to contribute your expertise to the DevRel Foundation Persona Library project.
5+
6+
This document describes some contribution guidelines for the project.
7+
8+
> [!IMPORTANT]
9+
> Before you start contributing, you must read and abide by our
10+
> **[Code of Conduct](./CODE_OF_CONDUCT.md)**.
11+
12+
You should also join the working group by subscribing here:
13+
https://lists.dev-rel.org/g/wg-resource-aggregation
14+
15+
You'll find it easier to make contributions if you already have a GitHub account.
16+
17+
## Types of Contributions
18+
19+
Contribution can take several forms.
20+
21+
**Discuss**. Joining our working group calls and sharing your opinions and expertise is a form of contribution. It keeps our group engaging and making forward progress to hear thoughts from others.
22+
23+
**Shoutouts**. Let us know that you found resources here helpful and we'll include your show of appreciation in our testimonials.
24+
25+
**Feedback**. Have a suggestion, let us know how to improve.
26+
27+
**References**. If you know of a reference item (article, course, book, video, etc.) we will include it in the collection. This can be provided by creating an issue, sending an email to the working group owners, or best case is to fork the repos and submit a PR for review.
28+
29+
**Persona**. If you've developed personas using the Persona Library System schema and are willing to share anything that is not a trade secret, the examples and user / buyer / developer insights will be appreciated by all. You can identify them as a persona set, or it might be an addition or update to a persona from the general collection. Submit an issue, send an email to the working group owners, or best case is to fork the repos and submit a PR for review.
30+
31+
**Schema and Tools**. The schema and tools provide value to all. If you have suggestions on how to improve the schema, add additional tooling, or want to contribute an integration to a visualization or other system of record those would be welcome.
32+
33+
## How-to Make a Contribution
34+
35+
Choose the approach that is easiest for you.
36+
37+
1. Send an email to wg-resource-aggregation + owner AT lists.dev-rel.org to reach the managers who can take action on your suggestions.
38+
2. Start a **New Discussion** in the [GitHub Discussions](https://github.com/DevRel-Foundation/wg-resource-aggregation/discussions). There is a category for feedback and one for the Persona Library more specifically. This is a great place to ask a question if unsure.
39+
3. Create an **Issue** in the [GitHub Issues](https://github.com/DevRel-Foundation/wg-resource-aggregation/issues?q=is%3Aissue%20state%3Aopen%20label%3Aresource%3Apersonas) for the project with the `resource:personas` label.
40+
4. Assign an **Issue** to yourself or put in a PR using typical GitHub workflows for change requests.
41+
42+
## What Should You Contribute
43+
44+
Review the [Open GitHub Issues](https://github.com/DevRel-Foundation/wg-resource-aggregation/issues?q=is%3Aissue%20state%3Aopen%20label%3Aresource%3Apersonas) with the label `resource:personas` for some ideas. If there are tags with `good-first-issue` this helps identify smaller projects that have fewer dependencies so somebody new to the working group can pitch in.
45+
46+
## How-to Get Help Contributing
47+
48+
Use GitHub Discussions, Discord, or join one of our monthly working group calls to brainstorm and ask questions about how to contribute.
49+
50+
# Orientation
51+
52+
This section includes some additional details to help orient new contributors.
53+
54+
## Build Environment
55+
56+
The tools are currently JavaScript / Node.
57+
58+
## File Structure
59+
60+
### `/bin`
61+
62+
This folder contains shell scripts to execute tool commands. The logic of the commands will typically be under `/src` but this is something you might include in your `$PATH`.
63+
64+
### `/data`
65+
66+
This folder contains the JSON configuration data that defines personas and references.
67+
68+
- `/data/personas` is the general collection
69+
- `/data/reference` holds reference material from third-party sources
70+
- `/data/sets` are persona sets for different organizations / projects
71+
72+
### `/docs`
73+
74+
This folder contains documentation about the persona library.
75+
76+
- `/docs/guides` are the tutorials
77+
- `/docs/reference` are built from the reference data
78+
- `/docs/traits` define various traits to support the schema definition descriptions
79+
80+
### `/src`
81+
82+
This folder contains the source code and schemas.
83+
84+
## Review Process
85+
86+
Our review process is informal so we'll add guidelines here as we learn. We maintain the right to refuse accepting any content deemed inappropriate by a two-thirds working group manager vote.
87+
88+
### 1. Promotional Materials
89+
90+
We want content that adds educational value to our audience. If it is deemed promotional in nature and requires purchase of a product or service then a submission may not be accepted.
91+
92+
### 2. Paywalled Materials
93+
94+
We want content that is accessible in the library. If access to a resource requires disclosing personal information or consuming advertisements as a condition for access then it may not be accepted.
95+
96+
# Thank You!!
97+
98+
We really do appreciate our contributors. We'll identify participants here who have made a significant contribution to this library.
99+
100+
- Jayson DeLancey ([@j12y](https://github.com/j12y)) for contributing to the original design, schema, and resources of the Persona Library System.
101+
- *Your name could be here next.*
102+
103+
https://github.com/DevRel-Foundation/persona-library/graphs/contributors
104+

README.md

Lines changed: 62 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,76 @@
11
# Persona Library
22

3-
A **persona** represents the type of user that may or may not engage with a product or service. The value of a persona comes from using it to align a business around expectations for current and potential buyers or customers.
3+
The **Persona Library** is a [DevRel Foundation](https://github.com/DevRel-Foundation) (DRF) initiative to collect resources related to the development of personas. A **persona** represents the type of user that may engage with a product, service, project or organization. The value of defining personas comes from using them to align an organization around expectations of current and potential consumers and plan a strategy for their tactics.
4+
5+
Through the use of personas, as DevRel practioners, we can accelerate day-to-day decision-making for common operational activities.
46

57
* [Requirements and Use Cases](https://github.com/DevRel-Foundation/wg-resource-aggregation/discussions/46)
8+
* [Glossary](./docs/reference/glossary.md) ([src](./data/reference/glossary.json))
9+
10+
## Persona Reference Library
11+
12+
The reference library contains links to third-party resources that may help in a deeper study of the process of creating and managing personas.
13+
14+
- [articles](./docs/reference/articles.md) ([src](./data/reference/articles.json))
15+
- [books](./docs/reference/books.md) ([src](./data/reference/books.json))
16+
- [tools](./docs/reference/tools.md) ([src](./data/reference/tools.json))
17+
- [video](./docs/reference/videos.md) ([src](./data/reference/videos.json))
18+
19+
Run `./bin/pls-json-to-md --build docs/reference --data ./data/reference/*.json` to regenerate markdown files from the source data. Run `./bin/pls-validate --data data/reference/*.json --schema ./src/schemas/reference.json` to confirm the source data is valid.
20+
21+
## DevRel Foundation Persona Library System
22+
23+
The **Developer Relation Foundation Persona Library System (DEVREL-PLS)** is outlined in this section. It is an opinionated configuration framework for defining personas using a structured language (JSON) that adheres to an agreed upon standard schema.
24+
25+
By defining personas in this way, we can establish tooling to validate, restructure, inherit, format, and exchange personas between organizations and departments.
26+
27+
### Learning the DEVREL-PLS
28+
29+
The following guides explain how to build and extend a custom persona set for your organization and then how to apply them to solve common operational tasks to the Developer Relations and related roles.
30+
31+
Developing your personas:
32+
* [Getting Started with the DevRel Foundation Persona System](./docs/guides/getting-started.md)
33+
* How-to Run a Persona Alignment Workshop (_TODO_)
34+
* How-to Present Personas to Your Organization (_TODO_)
35+
36+
Using your personas:
37+
* [How-to Use Personas for Content Strategy](./docs/guides/content-strategy.md)
38+
* How-to Use Personas for Community Management (_TODO_)
39+
* How-to Use Personas for Event Strategy (_TODO_)
40+
* How-to Use Personas for Product Advocacy (_TODO_)
41+
* How-to Use Personas for Sales Enablement (_TODO_)
42+
* How-to Use Personas for Growth Marketing (_TODO_)
43+
* How-to Use Personas for the SDLC and Developer Experience (_TODO_)
44+
* How-to Use Personas for Developer Education (_TODO_)
45+
46+
### DEVREL-PLS Persona Sets
47+
48+
Example sets of personas created by organizations for their use and shared as reference.
49+
50+
- [General Collection](./data/personas)
51+
- [DevRel Foundation Persona Set](./data/sets/dev-rel.org/README.md)
52+
- OpenSSF Persona Set (_TODO_)
53+
54+
Run `./bin/pls-validate --data data/personas/*.json --schema ./src/schemas/persona.json` to confirm the source persona data is valid.
55+
56+
### DEVREL-PLS Tools
57+
58+
Ease of use tools such as LLMs, user-interfaces, etc. are not currently within the scope of v1.0 of this project, but will be a valuable addition to allow for more user-friendly and less technical methods of working with persona and related reference resources.
59+
60+
- [pls-validate](./bin/pls-validate): used to validate one or more personas (JSON data) with a given schema.
61+
- [pls-json-to-md](./bin/pls-json-to-md): used to format reference library entries into a renderable markdown file.
662

7-
## How-to Use the Persona Library
63+
## License
864

9-
Details on how to use the resources of the persona library.
65+
All material contributed to the DRF Resources and Asset Aggregation Work Group is under [CC-BY-4.0 Licensing](https://creativecommons.org/licenses/by/4.0/deed.en).
1066

11-
* ...
67+
See the [License and Intellectual Property](https://github.com/DevRel-Foundation/.github/blob/main/profile/README.md#license-and-intellectual-property) statement for instructions on how to reuse and adapt content from this repository, discussions, and issues with proper attribution to the Developer Relations Foundation.
1268

1369
## About the Persona Library
1470

15-
This repository is maintained with support of the [Resource and Asset Aggregation Working Group](https://github.com/DevRel-Foundation/wg-resource-aggregation) and Developer Relations Foundation.
71+
This project repository is maintained with support of the [Resource and Asset Aggregation Working Group](https://github.com/DevRel-Foundation/wg-resource-aggregation) and Developer Relations Foundation.
1672

17-
* [Contributing]()
73+
* [Contributing](./CONTRIBUTING.md)
1874
* [Report Issues](https://github.com/DevRel-Foundation/wg-resource-aggregation/issues)
1975
* [Questions & Feedback](https://github.com/DevRel-Foundation/wg-resource-aggregation/discussions/categories/persona-library)
2076
* [Project Roadmap](https://github.com/orgs/DevRel-Foundation/projects/12)

bin/pls-json-to-md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
#!/bin/sh
2+
npx node $(dirname "$0")/../src/scripts/json-to-md.js "$@"

bin/pls-report

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
#!/bin/sh
2+
npx node $(dirname "$0")/../src/scripts/report.js "$@"

bin/pls-validate

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
#!/bin/sh
2+
npx node $(dirname "$0")/../src/scripts/validate.js "$@"

data/personas/ai-dev.json

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
{
2+
"id": "ai-dev",
3+
"parent": ["dev"],
4+
"label": "AI Alex",
5+
"segment": "*",
6+
"organization": {
7+
"maturity": "*",
8+
"gtm": "*"
9+
},
10+
"role": {
11+
"function": "dev",
12+
"level": "*",
13+
"responsibilities": ["coding", "reviewing"],
14+
"titles": [
15+
"ML Engineer"
16+
],
17+
"tools": ["drf-ide", "drf-scm", "drf-cicd", "drf-ticketing", "drf-comms", "drf-test", "drf-build"],
18+
"technologies": {
19+
"languages": [ ],
20+
"environments": [ ],
21+
"skills": [ ]
22+
}
23+
},
24+
"awareness": {
25+
"channels": [
26+
{"format": "social", "url": "https://news.ycombinator.com"},
27+
{"format": "social", "url": "https://stackoverflow.com"}
28+
],
29+
"events": [ ]
30+
},
31+
"adoption": {
32+
"curve": "*",
33+
"modality": []
34+
},
35+
"motivations": {
36+
"x-likes": [],
37+
"x-dislikes": [
38+
]
39+
},
40+
"strategies": {
41+
"design": [],
42+
"product": [],
43+
"education": [],
44+
"communications": [],
45+
"sales": [],
46+
"marketing": []
47+
}
48+
}

data/personas/art.json

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
{
2+
"id": "art",
3+
"label": "UX Designer",
4+
"narrative": "Somebody who leans more on creativity than technical skill has a strong sense for aesthetics and user experience. They often will work paired up with development oriented teams to execute on a vision, with the ability to express the desired end state to reach a creative design vision.",
5+
"organization": {
6+
"gtm": "*",
7+
"maturity": "*"
8+
},
9+
"role": {
10+
"function": "art",
11+
"level": "*",
12+
"experience": "*",
13+
"responsibilities": ["design", "writing"],
14+
"titles": [
15+
"UX Engineer",
16+
"Creative Technologist",
17+
"UI Developer",
18+
"Front-end Developer",
19+
"Interaction Designer"
20+
],
21+
"tools": ["drf-creative", "drf-cms", "drf-ticketing", "drf-comms"]
22+
},
23+
"awareness": {
24+
"channels": [
25+
{"format": "blog", "url": "https://css-tricks.com"},
26+
{"format": "social", "url": "https://reddit.com/r/UXDesign"}
27+
],
28+
"events": ["drf-config.figma.com", "drf-sigchi.org"]
29+
},
30+
"motivations": {
31+
"likes": [
32+
"Wants to see visualizations, mockups, and designs to better understand concepts rather than text.",
33+
"Iterative processes and gradual improvement.",
34+
"Wants a better understanding of user goals",
35+
"Will pick up on and appreciate moments of delight you add to your user interfaces."
36+
],
37+
"dislikes": [
38+
"Despises working within design constraints and brand guidelines that limit creative influence.",
39+
"Bad design execution, expects form prioritized over function.",
40+
"Wants to achieve a balance creative objectives with technical constraints even when mutually exclusive.",
41+
"Products that have not taken accessibility into consideration"
42+
]
43+
},
44+
"strategies": {
45+
"design": [
46+
"Design products or services that are more free-form and flexible.",
47+
"Provide open access to brand guidelines and design systems."
48+
],
49+
"product": [
50+
"Play close attention to precision in fonts, colors, and other design elements."
51+
],
52+
"education": [
53+
"Provide open-ended inspirational examples in tutorials or creative experiential learning.",
54+
"Include graphics and pictures of user interfaces that complement source code or textual descriptions."
55+
],
56+
"communications": [
57+
"Use visual communicaton such as infographics and guides."
58+
],
59+
"sales": [
60+
"Reference customers and examples that show how well designed solutions look when complete."
61+
],
62+
"marketing": [
63+
"Provide gallery of inspiration from finished products."
64+
]
65+
}
66+
}

data/personas/biz-finance.json

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
{
2+
"id": "biz-finance",
3+
"label": "Vendor Val",
4+
"narrative": "This persona has a Finance background but is required for sign-off of any purchase. Typical for larger enterprises there is separation with this role and the champion who makes the decision on which solution.",
5+
"organization": {
6+
"gtm": "*",
7+
"maturity": "*"
8+
},
9+
"role": {
10+
"function": "biz",
11+
"level": "*",
12+
"experience": "*",
13+
"responsibilities": ["finance"],
14+
"titles": [
15+
"Chief Finance Officer (CFO)",
16+
"Manager, Accounts Payable",
17+
"Operations Manager",
18+
"Purchasing Manager",
19+
"Procurement Manager",
20+
"Vendor Manager",
21+
"Supply Chain Manager"
22+
],
23+
"tools": ["drf-comms"]
24+
},
25+
"awareness": {
26+
"channels": [
27+
],
28+
"events": []
29+
},
30+
"motivations": {
31+
"likes": [
32+
"Wants a clear understanding of why something is valuable or interesting.",
33+
"Decisions that are clear about value and risk.",
34+
"Believes in the statement nobody ever got fired for buying IBM (or Salesforce, or...)"
35+
],
36+
"dislikes": [
37+
]
38+
},
39+
"strategies": {
40+
"design": [
41+
],
42+
"product": [
43+
],
44+
"education": [
45+
"Educate on the cost savings impact in other ways after purchase to justify a return on investment."
46+
],
47+
"communications": [
48+
],
49+
"sales": [
50+
"Provide a champion with a fact sheet they can share with purchaser to expedite the justification of an expense."
51+
],
52+
"marketing": [
53+
"Build a marketing page that provides all of the compliance, financial reporting (W-9) and other details that are necessary to close."
54+
]
55+
}
56+
}

0 commit comments

Comments
 (0)