Open dApp Framework learning materials

Tevo Saks, Vanessa Cardui & Stephen Whitenstall

Open dApp Framework learning materials

saved from Canvas 17th May 2023

0) Overview: Introduction

Background

This Open dApp Framework course originated from a workshop facilitated by Tevo Saks in the summer of 2022.

The goal of this workshop was to learn who in the Project Catalyst community was using the Dework platform and how they were using it.

The full workshop video (100min) can be found here: https://www.youtube.com/watch?v=FX4LUCYBvVg And an overview video (5min), summarising what happened in the workshop, can be found here: https://www.youtube.com/watch?v=doEaLdIN6-E

A proposal was subsequently submitted to Project Catalyst (a Cardano Treasury fund) to support a series of workshops for Catalyst community members to enable us to conduct an analysis of how Project Catalyst members are using existing project management dApps. From this, we will derive a general, open-source framework for project management dApps, and document this framework as project-based learning modules here on Canvas. See here for further detail on how this will work.

Project Management

The project management of this proposal, the workshops and associated learning modules is maintained on this Miro board https://miro.com/app/board/uXjVOs6bN2M=/

1) Introductory research session

Overview

The Introductory Research Session was held on 16.11.2022

You can check how it was facilitated here: https://www.youtube.com/watch?v=YRZmZ0LYblE

The recap video can be found here if you are interested in the results: https://www.youtube.com/watch?v=5kRuWo1M45I

Miro Board will be expected to be used by participants who wish to engage in analysing the information provided.

Workshop Agenda

  1. Introduction to Project Management Framework Workshops

  2. What types of tasks and bounties are you currently creating?

  3. Introduction to task management, documentation, and communication

  4. Each participant selects a task or bounty where they are doing their best work

  5. Participants individually answer questions on how they document their chosen task

  6. Introduction to coordination management

  7. Participants individually answer questions on how they facilitate their chosen task

  8. Highlighting differences between different projects' approaches

Introduction to Project Management Framework Workshops

The decentralised project management dApp space is in need of a general framework to guide development and use. To address this gap, we will be conducting an analysis of existing dApps in this space.

Our goal is to create a comprehensive, open-source framework that can be used as a project-based learning resource. As part of this process, we will be hosting workshops with community nodes to gather data on their use cases and to identify commonalities and differences. Using this information, we will conduct a functional analysis and explore potential abstract models or design patterns that may be applicable in different contexts.

Types of Tasks and Bounties

In the first exercise, we brainstorm What tasks or bounties are you recording, or looking forward to recording, to manage project progress?

This could include everything from simple tasks like data entry or proofreading, to more complex tasks such as coding a new feature or designing a marketing campaign. The goal of brainstorming is to generate as many ideas as possible, without judgement or evaluation, in order to identify the best options for moving forward with the upcoming exercises.

When you have finished, you will find that the tasks generally fall into two categories: "Actions" and "Assets". "Actions" are activities that you simply do and which do not lead to a tangible product or output. "Assets" are the things that create an output - for example, a document, Miro board, or other product. These can be used for validation and can be sold.

Exercise questions

  • What tasks or bounties are you recording to manage project progress?

  • Which ones are actions, and which are assets?

Task Management, Documentation, and Communication

Task management, documentation, and communication activities refer to the processes and practices used to document and communicate progress and status on tasks within a project. This may involve establishing a transparent system for recording and tracking tasks; setting expectations for how and when team members will communicate with each other; and creating a structure for documenting and sharing information related to task progress.

The communication space is an essential aspect of task-management documentation and communication activities, as it refers to the place(s) where team members go to discuss tasks and collaborate on project work. This can include physical locations, such as in-person meetings or shared workspaces, or virtual locations, such as online project management tools or team chat platforms.

The documentation space refers to where task-related information and documentation will be stored and organised. This could be a physical location, such as a file cabinet or shared drive, or a digital location, such as a cloud-based document management system. Ensuring that documentation is organised and easily accessible is critical for maintaining efficient communication and progress on tasks. While a project may use several communication spaces, often there is only one documentation space to help things stay organised.

Exercise questions

  • Where does your team communicate? Where do you collect documentation?

Coordination Management

Coordination management refers to the process of coordinating the activities and efforts of team members in order to achieve a common goal or objective. This can include planning, scheduling, and communicating with team members to ensure that tasks are completed efficiently and effectively.

The exercise of coordination management typically involves several steps:

  1. Preparation: gathering the necessary information and resources, setting goals and objectives, and establishing a plan for achieving them.

  2. Coordination: working together to complete tasks according to the established plan. This may involve communication, monitoring activities and collaboration, as well as coordinating resources and schedules.

  3. Feedback and evaluation: Once tasks have been completed, a feedback assessment can evaluate the effectiveness of the coordination process and identify areas for improvement. Feedback methods may include team debriefings, surveys, or performance evaluations. Feedback might also include sharing your learning with your wider community-of-practice.

Overall, coordination management is an ongoing process that helps ensure that team members are working effectively and efficiently towards common goals.

Exercise questions

You may need coordination in the following areas:

  • Onboarding

  • Progress reporting

  • Project oversight

  • Quality assurance

Choose one or several of these, and ask yourself: Do you need to prepare, coordinate or evaluate anything in this area?

Keep in mind that not all projects need to do all of these: sometimes, it's better not to over-complicate.

A worked example: Onboarding\

A project is aiming to onboard participants for a training course. Depending on the details of their project, they might need to do some or all of the following:

  • Preparation:

    • (setting goals and objectives) Decide how many participants they are aiming for, whether there is a maximum number, and whether there is a closing date; agree on how "success" in the task will be measured (for example, is it only about numbers signing up, or also about onboarding a diverse range of people, or reaching a particular target group?)

    • (gather the necessary tools and resources) Decide what platforms they will use to reach people; gather together a contact list of people or groups they want to approach personally; decide on what they will use to invite people (flyers? social media posts? a shared doc? a slide, for use in a meeting? speaking to promote it in a Twitter space; etc.), and design or script these things; decide where and how they will record signups; decide what they will send to people signing up (an email? a DM?); decide how they will amend their communications if the maximum number is reached (e.g., a waiting list? A "Closed" message?)

    • (establish a plan) - allocate the work amongst the team, set deadlines, decide how and where people will record their work; decide where the team will discuss any questions or changes to the plan; decide how the work will be paid and what evidence is expected; decide where any monitoring information on the progress of the task will be collected

  • Coordination:

    • Monitor and record the progress of the task as agreed; share any changes and amend the plan if needed; record any problems that arise

  • Evaluation:

    • (assessment) Assess how well the objectives were reached

    • (areas for improvement) Note any problems; discuss and decide what the problems teach you and what your learning points are for next time; amend your process as needed (for example, ensure that next time you do an onboarding task, you incorporate your learning points from this task at the planning stage).

    • (sharing) Decide whether you want to share your learning with the wider community, and if so, how you will do this.

As you can see, the "preparation" and "evaluation" stages are often the bulk of coordination management. If work is well-planned, then the actual execution and coordination should go more smoothly; and if it is evaluated thoughtfully and the learning from it is incorporated into future work, the whole process should be easier next time.

2) Project Management Tools and Introduction to Task Management Session

Overview

The PM Tools and Introduction to Task Management Framework Session was held on 07.03.2023 You can check how it was facilitated here: https://www.youtube.com/watch?v=lJkbR5P9kFA

The recap video can be found here if you are interested in the results: https://youtu.be/Xr1iKjZ0ulc

Miro Board will be expected to be used by participants who wish to analyse the information provided.

Workshop Agenda ~ 90min

  • 5 min - Proposal introduction. What happened last time?

  • 8min - What tools have you been using for project management?

  • 20min - What does the tool do for you?

  • 20min - How do the tools you use to shape your work culture?

  • 15 min - Demo: SingularityNet Translation Task Process

  • 15 min - Closing topics

    • What tasks do you think will be fun and valuable to map next?

    • What would you like to discuss next session?

    • What's coming next

    • Session Feedback

Project Management Tools

In the first two exercises, we looked into:

  • What tools do participants use for project management?

  • What does the tool do for them?

We learned that project management tools play a significant role in managing projects effectively. They are used to capture and demonstrate value; aggregate and organise project data; define tasks, and visualise work as bite-sized objects; measure and track progress, and support auditability and accountability; support our planning and help us visualise the trajectory of a project; provide insights into what is going badly in a project so that we can try to improve it; connect different projects together to give us insights across all our work; and connect different tools to improve project management.

While there is no universal agreement on the features a project management tool should have, it's worthwhile to try frameworks for setting boundaries and organising task management.

It is also essential to note that the tools used to manage a project shape the culture of the group (see the next section, "Tools for Your Culture", for details).

We noted that

  • Methods can also be considered as tools in project management. Methods are the strategies and processes used to manage a project, while tools are the instruments used to implement those methods.

  • Learning a new tool demands an overhead of time and sometimes money.

  • There is a difference between "products" and "platforms". Some tools are very customizable platforms; they demand even more time and energy to learn but may be more useful in the long-term. Other tools are simply products that can only be used as-is; this makes them quicker to adopt initially but can mean they force a certain way of working and thinking.

  • Some people may experience particular tools as barriers to contributing, for reasons which range from not having time to learn to the tool not working with their work culture.

While we were brainstorming on tools, we let people categorise the tools they use into 4 different categories:

  • Open source

  • Custom-made / self-made

  • Paid services or products

  • Complicated / Other

Google Sheet - Session 2 Analysis

It was interesting to note that in a community which thrives on building open source technology, not many open source tools are used. There is a heavy emphasis on the use of Zoom, Google and Microsoft tools to collaborate with the community.

Learning activity

  1. List the tools that you use in your work. You could do this on a Miro board, using one sticky note for each tool, to make it easier to organise them.

  2. Identify what you use each one for - what tasks do you do with it? Is there any duplication or overlap (two tools that you use for the same thing)? Are there any dependencies (a tool that cannot be used without another tool)?

  3. Now identify what benefits each tool offers you - what does it make easier? What does it enable you to achieve that you could not otherwise do? And are there any downsides? Again, look for duplication and dependencies.

  4. Try colour-coding or grouping the tools into the broad areas of work that you use them in. Are there some tools that you use in multiple areas of your work? Are there some aspects of your work that lack enough tools? Can you see anything that you need that is not offered by any of your chosen tools?

  5. Finally, categorise your tools into

    • Open source

    • Custom-made / self-made

    • Paid services or products

    • Complicated / Other

From this, you should be able to get a sense of what your tools are doing for you, and whether they are the right tools for you.

Afterthoughts

Are there any other categories or groups we should try to find for tools?

Products for Your Culture

Tools are an essential aspect of project management, but they can also significantly impact culture and relationships.

Types of tools and work cultures The tools used should reflect the group's values, attitudes, and behaviours; but sometimes, it's the other way round, and the tool itself ends up determining how people interact and communicate. For example, if a group uses a tool that emphasises hierarchy and control, it may create a "top-down" culture; conversely, a tool that promotes collaboration and transparency may foster a culture of openness and collaboration. Some tools can create distance and isolation, while others can facilitate collaboration and connection. For example, using a tool that encourages individual work and competition may create a sense of isolation and disconnection among team members; whereas using a tool that facilitates communication and collaboration may foster a sense of community and teamwork.

Interacting with some tools may change who you are. For example, if you use a tool that promotes an authoritarian leadership style, you may become more controlling and less collaborative over time. Additionally, some tools may create an unhealthy work-life balance, leading to burnout and other negative effects. Therefore, it is essential to be aware of the impact of tools on your behaviour and well-being.

Even the design of a tool, and its look-and-feel, can affect the type of thinking that it produces. For example, if a tool that uses grids to structure tasks, it visually makes us think that tasks have to be consecutive; that there is no overlap or concurrence; and that tasks are very discrete and separate. This might not be how people are working in practice.

Therefore, it is essential to choose tools that align with the desired culture of the group and ensure that they are used appropriately. Ideally, the culture and practice will come first, and then the tool to fit it.

Culture first, tool second Note that customisable, flexible tools can be adapted to fit a group's culture; but tools which are not very customisable (and these are often the free or cheaper tools, and the ones that require less time to learn) cannot. Inflexible or less-responsive tools are more likely to impose a working style; they force the group to conform to the tool, not the other way round. But sometimes being aware of this, and understanding what working style a tool is trying to create and being conscious of how that might clash with your own style, can mitigate the problem.

How tools can support your work culture Despite the potential dangers of tools, they can also provide opportunities to create friendships. Collaborating on a project using a tool that promotes teamwork and communication can help build relationships and develop a sense of community. Additionally, shared experiences using a tool can create bonds and connections that extend beyond the project.

Learning activity:

  • Have the tools you are using shaped your working culture? In what ways? Or do they clash with your values in any way? Or have they supported or adapted to your existing work culture?

  • Do you add project data to any of the tools you use? If yes, why have you chosen to use this tool, and what are the good points of how the tool works with your data? And what are the downsides? For example - does the tool allow you to add all the data you need? Or do you have to omit some of your data because the tool cannot use it, so that you end up discarding valuable insight in order to get the other benefits of the tool? Is the balance of these "pros" and "cons" the right balance for you?

Discuss in the Forum.

Process Template for Dework: an example

Task Process Mapping is a visual representation of the steps involved in a process, including the actions and transformations that take place between them.

Process Maps are used for visualising a process and its key components. It makes it easier to identify the areas where abstract models or design patterns can be applied, and to evaluate their effectiveness in achieving the desired outcomes.

Our first mapping was done for the task of translation, using Dework. Because Dework forces a Kanban style, we have included 5 lanes in the framework.

  • Open Space lane - list of activities that are required to initialise the task

  • To Do lane, - describes the birth of a task and the handover to the person who will execute it

  • In Progress lane, - describes all the steps required to complete a task or change status

  • In Review lane - final documentation for handing over the task to treasury managers

  • Done lane - the output

The sticky notes are colour-coded according to the role of who should be working on the task. The connector lines are used to demonstrate sequence or task state change, and to connect different tasks together.

Source: Translation Task Process Mapping

Learning activity

  • Look at the example task-mapping that we created.

  • Now select a task that you do regularly, and try mapping it in a similar way.

  • Does this reveal anything about the task, or how you could do it better? Discuss in the Forum.

3) Products, Platforms and Culture session

Overview

The Products, Platforms and Culture Session was held on 29.05.2023.

You can check how it was facilitated here: https://youtu.be/tutz0DTJTlM

The recap video can be found here if you are interested in the results: https://youtu.be/OyMBxlF5Pos

Miro Board will be expected to be used by participants who wish to analyse the information provided.

Workshop Agendas ~ 90min

  • 5min - Overview

    • Agenda

    • Introduction to Proposal

  • 13min - Strategies for choosing platforms and products

    • 5min - How do you define your processes and methods?

    • 5min - The Tools you use, shape the culture of your group

    • 3min - What are the differences between Products and Platforms?

  • 30min - How do communities collaborate?

    • What have you seen in the community?

  • 27min - What products or platforms have shaped your process the most?

    • How do you engage with existing communities?

  • 10min - Closing topics

    • What's coming next

    • Session Feedback

Strategies for choosing platforms and products

They key questions when choosing a platform or product are:

  • Assess the team’s capacity.

It is crucial to determine whether the team has the necessary time to effectively manage the implementation of the chosen platform or product.

Guiding questions:

What other projects or tasks are team members currently involved in?

How much time can the team realistically dedicate to trying a new platform or product?

Who has the bandwidth to handle the potential challenges and workload associated with implementing a new platform?

What budget constraints does the team have?

  • Assess the team’s skills.

This is essential to selecting a platform or product that aligns with the team's capabilities. It ensures that the team can effectively leverage their existing expertise, and minimises the learning curve associated with adopting new tools. It also helps identify any skill gaps that need to be addressed through training or recruitment.

Guiding questions:

What skills do team members want to leverage in your project?

What skills do team members want to learn in your project?

What skills do team members have that could be relevant to the platform or product selection?

  • Assess familiarity of the tools and methods.

It is important to evaluate the team's familiarity with the tools and methods associated with different platforms and products, to determine how quickly they will be able to adapt to using them. Familiarity can significantly impact the implementation timeline and the team's overall productivity during and after transition..

Guiding questions:

What products and platforms have members used?

What are the tools good at?

Are team members familiar with particular project management approaches, such as agile methodologies?

  • Assess project plan and roadmap.

This is critical to ensure that the platform or product selection aligns with the organisation's strategic goals and timelines. It helps identify any dependencies, constraints, or potential conflicts that may arise during the implementation process.

Guiding questions:

What are the key milestones and timelines for the project roadmap?

How does the platform or product selection fit with the organisation's long-term strategic objectives?

  • Try to minimise the management overhead.

This is important to ensure that the team can focus on the core tasks, without being burdened by excessive administrative or bureaucratic processes. Streamlining management overhead allows for more efficient decision-making and implementation.

Guiding questions:

How will the team collect and share data?

What tools or automation can be leveraged to streamline routine tasks?

What tools are used for communication and collaboration between team members and stakeholders?

How can products and platforms shape your processes?

The key insights to consider with any platform or product are:

  • Leveraging best practices for product development

Some platforms represent best practices for product development and are widely used by other teams, so using them may change or reform your practices.

  • Time and resource overhead in platform integration

Some platforms need a lot more development capability and time to integrate new features and products, which will cause unplanned overhead.

  • Resource usage and enhanced productivity

Some products or platform features raise up the usefulness of all your resources. For example, AI tools may change your previous routines and research processes, and greatly reduce the time needed to come up with a strategy or solution.

What are the differences between products and platforms?

The table below differentiates products and platforms using the information gathered from the workshop. There were cases where the differences were flipped, but we have gone with the majority opinion.

In general, we found that products are something you use “out of the box”, which may only do one or two tasks, while platforms offer a more comprehensive and adaptable solution, but need to be configured to your needs. Sometimes people don't have time to do this configuring, so they go for a ready-made product; but if they have prior info on what effects that product can have, they will be ready for it, and will still to some extent be able to shape how they use it to fit their culture.

Product

Platform

easier to adopt

takes time to learn

doesn't require full understanding of all its elements

needs firm understanding of all of its capabilities

usually cheaper

usually higher upfront cost

wide variety of usage and payment methods

generally a subscription model

generally purpose-built or use-case-specific

solutioning must fit the platform's paradigms

may require significant adaptation of practices to fit the product

can allow creatively-made new capabilities

often small scope

usually multi-purpose

low ability to influence its capabilities if used as intended - although often, people will adapt the tool and/or use it in combination with other tools in ways not intended, since they can't afford a platform. “Tool bricolage” - a creative process

intended to be open to customization, although this will usually require time and specific technical skills

usually relatively easy to adopt and use

more barriers to adoption and use

slow feedback process for enhancing performance (does this mean performance of the tool? the organisation? or the ecosystem?)

can often integrate with external ecosystems more efficiently

low integration capability is common

cultivates human interactions

can be used for AI

can be used with AI (Are these 2 meant to be the same, or is it suggesting a difference between “for” and “with”?

need to be able to integrate with your other tools, otherwise problems will ensue

promotes the adoption of products

usually proprietary

more open-source platforms can be found

efficient, concrete result

platforms often offer additional services or functionality that can amplify their value

an individual product is less likely to shape your community’s culture, as it is a small part of your activities (although an overall approach of using products in general, as opposed to a platform, might shape your culture significantly)

more likely to shape your community's culture to itself, as you start to use it for everything and work in the way the platform determines

-

The people are the product

usually need a custom tool to bridge the gap between products

AI helps to bridge the gap between platforms

Community collaboration

Each individual has a unique approach. With Cardano Improvement Proposals, metadata standards, platforms, and products, we have several tools to come together and connect our ideas. We are seeing changes and breaking the mould of existing Web2 solutions that are proprietary and closed-source.\

All communities eventually need the same things:

  • Project management

  • Treasury management

  • Knowledge management (data > information > knowledge > wisdom)

  • Governance

although the implementation of each of these elements is unique for each community, as is the ways all these solutions are integrated with each other.

The emphasis on CIPs in Cardano's early community provided a way to build what is planned, which then unlocked new capabilities.

With new capabilities (for example NFTs), the Cardano community has integrated new types of communities. The increase of ADA tokens has also attracted a wider range of people.

In the bear market, many social dynamics change; we seem to return to the development stage and push CIP discussions back to the top again. The Dreamer and Community-building communities have been neglected due to the push for development teams, and there are not many links between these sets of groups.

Cardano community growth

  1. Standardisation and planning

    1. Emphasis on Cardano Improvement Proposals (CIPs)

    2. Establishing standards

    3. Planning for project management, treasury management, and governance

    4. Addressing the technical and implementation aspects unique to each community

  2. Connecting ideas and tools

    1. Using platforms and products to connect community members and their ideas

    2. Breaking away from the proprietary and closed-source systems of Web 2.0

    3. Encouraging collaboration and sharing of unique approaches

  3. Community expansion

    1. Growth of the Cardano community in size and diversity

    2. Increased interest and participation driven by new capabilities and price appreciation

    3. Expansion of the community's skill sets and expertise

  4. Strengthening community builders

    1. Recognizing the importance of community builders alongside development teams

    2. Identifying potential neglect of community builders during the development-focused phase

    3. Creating stronger links and collaboration between different groups of community builders

    4. Creating stronger links between community-builders and developers

  5. Integration of solutions

    1. Exploring the integration of various community solutions, including project management, treasury management, and governance

    2. Finding ways to harmonise and connect these solutions effectively

    3. Enhancing the overall functionality and coherence of the community ecosystem

  6. Decentralisation and empowerment

    1. Promoting decentralisation within the community structure

    2. Empowering community members to take ownership and responsibility

    3. Enabling self-governance and decision-making processes at the community level

  7. Continuous improvement and adaptation

    1. Recognizing that the community growth cycle is iterative and evolving

    2. Encouraging continuous improvement of processes, tools, and collaboration methods

    3. Embracing adaptability and flexibility to meet the changing needs and dynamics of the community

The question of power

Communities with more resources and more power have their ways of working, and these might influence how other communities want to collaborate with each other. Barriers to engagement exist, and might determine how far communities are recognized and how far they are able to take part. Those who have particular kinds of skills can also dictate the engagement requirements and stifle community growth.

The question of tools

Sometimes tools divide communities between those who can use the tool, and those who are seeing it for the first time and have never been given any guidance or tips on using it. There is also a chance the tools will change the culture and destabilise engagement in communities.

The question of cohesion

Finding ways to engage and express value takes time, and for many people consistent time and learning requires financial resources.

It is often not easy to know where the groups are who share your values and use the engagement methods you want to learn and practise.

It can be hard to adopt the principles you believe in, because there are a lot of people who want to win, stay ahead and in control.

There has to be a lot of ways to lose power in open source ethos communities.

There is also often a need to embrace chaos rather than fearing it.

Some questions to build community standards:

How to be included?

How to do things?

How are people recognized?

Where do you go to collaborate?

How to share community values?

Retrospective and Course Review

coming soon

Last updated