Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Knative Eventing Onboarding Research Files and Close Related Issues #184

Open
wants to merge 12 commits into
base: main
Choose a base branch
from
107 changes: 107 additions & 0 deletions user-research/eventing-onboarding-research/Findings.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
## 5. Findings of the Research

This section presents a comprehensive analysis of the key findings derived from both interview insights and survey results. The identified pain points have been carefully categorized based on their source, and corresponding actionable items have been proposed. To prioritize these actions, an Eisenhower Matrix has been employed, organizing tasks based on their urgency and importance.

---

### 5.1. Combined Analysis of Pain Points and Actions

#### 5.1.1. Lack of Prior Serverless, Kubernetes, and Docker Experience
- **Source**: Identified in both interviews and survey responses.
- **Issue**: Users encountered difficulties with Knative Eventing due to a lack of prior experience with serverless technologies and Kubernetes.
- **Action**:
- Add a section in the documentation that clearly states the importance of Kubernetes and Docker knowledge.
- Provide links to existing Kubernetes learning resources to support the users' journey into Knative Eventing.

#### 5.1.2. Abstract and Complex Documentation
- **Source**: Identified in both interviews and survey responses.
- **Issue**: The complexity and abstract nature of the documentation made it challenging for users.
- **Action**:
- Simplify the language in the documentation.
- Provide clear explanations of basic concepts.
- Add a glossary of terms and frequently used jargon.

#### 5.1.3. Verification Difficulty
- **Source**: Identified in interviews.
- **Issue**: Difficulty verifying the correct setup of Knative Eventing after installation.
- **Action**:
- Create a simple example that installs a broker, a source, and an event display to verify the setup.
- Develop tools or scripts to help users verify installations.
- Include visual indicators or dashboards showing the status of components.

#### 5.1.4. Lack of Practical Examples
- **Source**: Identified in both interviews and survey responses.
- **Issue**: Users struggled with the absence of practical, real-life examples in the documentation.
- **Action**:
- Provide step-by-step tutorials and sample projects demonstrating the practical application of Knative Eventing.

#### 5.1.5. Overwhelming Number of Repositories and Resources
- **Source**: Identified in interviews.
- **Issue**: The large number of repositories (70+) in the Knative organization was overwhelming, especially for beginners.
- **Action**:
- Consolidate documentation and resources into a clear, structured path for beginners.

#### 5.1.6. Troubleshooting and Debugging Challenges
- **Source**: Identified in both interviews and survey responses.
- **Issue**: Insufficient guidance in documentation for troubleshooting common issues.
- **Action**:
- Enhance the troubleshooting section with detailed guides, common issues, and resolutions.
- Include examples of error messages with explanations and resolutions.

#### 5.1.7. Dependency on External Resources
- **Source**: Identified in both interviews and survey responses.
- **Issue**: Many users relied on external resources like YouTube or third-party guides.
- **Action**:
- Curate and showcase high-quality external resources that complement official documentation.

#### 5.1.8. Need for Mentorship and Community Support
- **Source**: Identified in both interviews and survey responses.
- **Issue**: Insufficient resources for self-guided learning.
- **Action**:
- Move Q&A discussions from Slack to GitHub Discussions for a more permanent and searchable platform.
- Encourage expert participation in answering beginner questions.

#### 5.1.9. Missing 'Why' and 'When' in Documentation
- **Source**: Identified in interviews.
- **Issue**: Documentation lacked clarity on 'why' and 'when' certain configurations are beneficial.
- **Action**:
- Include explanations of the reasoning behind different setups and configurations.
- Provide guidance on appropriate scenarios for specific approaches.

#### 5.1.10. Consistency and Structure
- **Source**: Identified in both interviews and survey responses.
- **Issue**: Inconsistent naming conventions and steps across resources.
- **Action**:
- Standardize documentation structure and naming conventions.
- Align the format with Kubernetes documentation for improved navigation.

---

### 5.2. Prioritization Using Eisenhower Matrix

The Eisenhower Matrix categorizes tasks based on urgency and importance:

#### High Urgency and Importance
1. Troubleshooting and Debugging Challenges
2. Lack of Practical Examples
3. Missing 'Why' and 'When' in Documentation
4. Lack of Prior Serverless, Kubernetes, and Docker Experience

#### High Importance but Low Urgency
1. Abstract and Complex Documentation
2. Dependency on External Resources
3. Understanding Event-Driven Architecture

#### High Urgency but Low Importance
1. Verification Difficulty

#### Low Urgency and Importance
1. Overwhelming Number of Repositories and Resources
2. Need for Mentorship and Community Support
3. Consistency and Structure
4. Offer Training and Workshops

This matrix provides a clear framework for prioritizing the actions needed to improve the Knative Eventing onboarding process, ensuring that the most critical pain points are addressed promptly, while less urgent issues are scheduled for later action.
![Eisenhower Matrix](./assets/Eisenhower-Matrix.png)

---
76 changes: 76 additions & 0 deletions user-research/eventing-onboarding-research/Future-Work.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
## 6. Next Steps and Future Sections

The completion of this research marks a significant step towards enhancing the Knative Eventing onboarding experience. However, the journey doesn't end here. To provide a more comprehensive understanding and address all facets of this project, the following sections will be developed and included in the final report:

---

### 6.1. Literature Review

A detailed examination of existing research and documentation related to user onboarding in cloud-native environments, with a focus on serverless technologies, Kubernetes, and Knative.

This section will:
- Compare Knative's current onboarding process with industry best practices.
- Identify areas where Knative aligns or diverges from these practices.
- Highlight opportunities for further alignment with best practices to improve onboarding effectiveness.

---

### 6.2. Challenges Encountered During User Research

A reflective analysis of the obstacles faced during the research process, including:
- Difficulties in participant recruitment.
- Limitations of the survey and interview methodologies.
- Issues encountered during usability testing.

Understanding these challenges is crucial for interpreting the research findings and improving future research efforts. This section will provide transparency into the research process, ensuring stakeholders can build upon lessons learned.

---

### 6.3. Recommendations

Building on the findings of this report, the following implementation plans are suggested to enhance documentation, foster community support, and address key pain points identified through user feedback. These actionable strategies aim to ensure improvements are effectively executed while aligning with the broader goals of the Knative Eventing community.

#### Enhancing Documentation
- **Action Item**: Utilize the existing GitHub project board to track specific enhancements to documentation.
- **Implementation**:
- Divide documentation improvements into prioritized sprints or phases.
- Assign tasks to contributors with set deadlines and validate updates during weekly Knative Eventing user group meetings.
- Establish a “Documentation Champion” role to oversee content accuracy, align updates with user feedback, and maintain resource quality.

#### Fostering Community Support
- **Action Item**: Improve visibility and access to community support channels, particularly on GitHub Discussions.
- **Implementation**:
- Create a checklist for recurring topics that require community support.
- Designate experienced members to respond to beginner queries within set response-time guidelines.
- Maintain a categorized FAQ linked to these discussions to streamline access to essential information.
- Introduce a “Mentorship Pathway” to provide structured short-term mentoring for new contributors.

#### Addressing Key Pain Points Through Training and Practical Examples
- **Action Item**: Enhance training efforts through curated live sessions or webinars addressing practical examples and common challenges.
- **Implementation**:
- Plan and schedule thematic training sessions using the project board.
- Focus on challenges like “Verification Difficulty” and “Understanding Event-Driven Architecture.”
- Record sessions for future reference to create sustainable learning resources.
- Develop an interactive “Learning Pathway” guide to help users navigate training materials based on experience level and interests.

#### Continuous Improvement Through Targeted Feedback Collection
- **Action Item**: Schedule feedback sessions following significant documentation updates and training events.
- **Implementation**:
- Conduct bi-monthly focused feedback rounds to gather user input on recent changes.
- Use feedback forms and GitHub Issues to structure and track responses.
- Host community “Feedback Hours” for real-time discussions to rapidly iterate on arising issues.

By adopting these strategies, the Knative community can enhance the onboarding process and establish an ongoing feedback loop, fostering a more inclusive and supportive environment. This will empower users to better engage with Knative Eventing and its ecosystem.

---

### 6.4. References

A comprehensive list of all sources cited in the report, including:
- Academic literature.
- Online resources.
- Tools used during the research.

Proper citation of these references will be presented here and ensure the report is academically rigorous and provides a solid foundation for the recommendations made.

---
94 changes: 94 additions & 0 deletions user-research/eventing-onboarding-research/Introduction.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
# Introduction

This document introduces the **Knative Eventing Onboarding Research** project, conducted as part of the **LFX Mentorship Program**. It outlines the research objectives, challenges, and key findings aimed at improving the onboarding experience for new users of Knative Eventing.

---

## 1. Executive Summary

The aim of this research project is to enhance the onboarding experience for new users of **Knative Eventing**, a vital component of the Knative project that enables **event-driven architecture (EDA)** in cloud-native environments. Despite its powerful features, Knative Eventing poses challenges for newcomers due to its complexity and the learning curve associated with Kubernetes and event-driven systems.

The primary objective is to identify the main barriers that new users face during their initial interactions with Knative Eventing. By understanding these pain points, the project seeks to develop improved documentation, practical onboarding materials, and streamlined processes to make the learning journey smoother for beginners.

To achieve these goals, the research combines **surveys**, **interviews**, and **usability testing**. Engaging directly with the Knative community and recent users ensures that the findings are grounded in real-world experiences and needs.

Ultimately, the project aims to produce resources that reduce the time it takes for new users to achieve competency and enhance their overall satisfaction with the onboarding process. Success can be measured through key performance indicators such as:
- **User satisfaction scores**
- **Onboarding completion rates**
- **Time to reach basic competency**

This initiative is part of the **LFX Mentorship Program** and reflects a commitment to fostering an inclusive and supportive environment for new contributors to the open-source community. By improving the onboarding experience for Knative Eventing’s end-user, we aim to empower more developers to leverage its capabilities effectively and contribute to the growth of the Knative ecosystem.

Upon completion of the research, the deliverables will be shared with the wider **CNCF community**, alongside the execution details of the project, to support other projects facing similar challenges.


### 1.1. Key Takeaways

To provide a quick overview of the research outcomes, this section summarizes the most critical challenges and actionable insights identified during the study. These findings highlight key barriers faced by new Knative Eventing users and offer a foundation for targeted improvements to the onboarding process.

- **Documentation Challenges**: Users struggled with abstract language, lack of practical examples, and insufficient troubleshooting guidance.
- **Knowledge Gaps**: Many users lacked prior experience with Kubernetes, serverless technologies, or event-driven architecture, increasing onboarding complexity.
- **Verification Issues**: A clear process to verify Knative Eventing installation is missing.
- **Overwhelming Resources**: The Knative repository structure is difficult to navigate for beginners.
- **Need for Community Support**: Beginners relied on external resources or informal mentoring due to gaps in official materials.
- **Improved Training Needs**: Real-life examples, recorded training sessions, and consistent naming conventions are crucial for easing the onboarding process.

---

## 2. Research Overview and Goals

### 2.1. Scope Definition

The scope of this research project encompasses the entire onboarding experience for new users of Knative Eventing. The focus is on identifying and addressing the main challenges that users face during their initial interactions, improving the documentation, and enhancing the overall user experience. This includes:

#### Focus Areas

1. **User Research**:
Conducting surveys and interviews to gather insights from current and past users is vital for understanding their experiences and challenges with Knative Eventing onboarding. Surveys will collect quantitative data on user satisfaction and common issues, while in-depth interviews with a subset of users will provide qualitative insights. This approach helps identify specific pain points and gather comprehensive feedback, ensuring a thorough understanding of the onboarding experience.

2. **Usability Testing**:
Observing new users as they engage with onboarding materials will highlight where they struggle. By creating realistic scenarios and monitoring their interactions, we can identify confusing instructions or difficult setup steps. Real-time communication with participants and recording sessions will provide valuable data to address the most critical issues in the onboarding process.

3. **Documentation Improvement**:
Enhancing documentation is key to making the onboarding process more accessible. A thorough review of existing materials, combined with user feedback and usability testing results, will identify areas needing clarity and completeness. Revisions will improve accuracy and usability, while new resources such as step-by-step guides, video tutorials, and interactive demos will cater to different learning preferences. These improvements aim to simplify the learning curve for new users.

4. **Community Engagement**:
Active participation in community forums, Slack channels, discussions on GitHub, and other platforms is essential for gathering continuous feedback and building support. Engaging with the Knative community ensures that improvements align with user needs and expectations. This collaborative approach fosters a sense of ownership and encourages ongoing contributions to enhance the onboarding experience.

---

### 2.2. Limitations and Exclusions

- **Exclusions**: This research will not cover advanced Knative Eventing features used by experienced users, nor will it delve into unrelated components of the Knative ecosystem. It will also exclude development changes to the Knative Eventing codebase itself, focusing instead on user-facing aspects.
- **Limitations**: The study is limited to the 12-week timeframe of the LFX Mentorship program, which may restrict the depth of certain analyses and the scope of iterative testing cycles.

---

### 2.3. Identification of the Current Challenges

Understanding the existing challenges is crucial for improving the onboarding experience. The research aims to:

1. **Identify Common Pain Points**:
Determining the typical hurdles that new users face, such as difficulty understanding concepts, setting up environments, or navigating documentation, will demonstrate the points that need to be addressed within the context of this research.

2. **User Feedback Collection**:
Using surveys and interviews to gather detailed feedback from users who have recently undergone the onboarding process will form the backbone of the improvement strategy.

3. **Analyze Usability Issues**:
Observing where users struggle during usability testing and documenting specific instances of confusion or frustration will help to pinpoint critical pain points.

---

### 2.4. Research Findings

Effective documentation is critical to improving the accessibility and user experience of Knative Eventing's onboarding process. This initial insight serves as a foundation for enhancing the documentation structure, content clarity, and usability. Identified areas of improvement include:
- Addressing complex jargon.
- Adding real-world examples.
- Enhancing troubleshooting sections.
- Consolidating resources.

These areas will be explored in detail in subsequent sections, with actionable strategies linked to specific pain points raised by users.


---

Loading