Open source software development is collaboration on a massive scale. Although this way of thinking may be unknown to product designers it offers huge opportunities for real innovation
What is open source software development?
Open source software (OSS) products are developed in an open, collaborative way, often with much faster innovation cycles than traditional products. The open-source community is driven by everyone and anyone in the community who can help inspect, modify, learn from and share code.
This highly collaborative way of working allows resources to be distributed at a scale beyond a single company and thus, leverage the talents of a larger group that might not usually collaborate. That is why at VMware we closely collaborate on OSS projects like Knative, Harbor, Concourse CI, Octant, and Carvel, along with technologists from Google, Red Hat and IBM.
Notable software packages that are open source are:
- WordPress a content management system used by more than 40% of the top million websites. (Who hasn’t attempted to make a website with WordPress?)
- Linux the most prolific open source project and an example of free software collaboration. In total, 90% of cloud infrastructure software is run on Linux.
- Netscape Navigator — the code of which became the basis of Mozilla and Mozilla Firefox web browsers.
Open source product teams at VMware:
- Harbor — a trusted, self-hosted and extensible content storage solution for cloud-native applications used by teams at VMware and used globally across industries.
- Concourse — a CI/CD orchestration tool created at Pivotal. It’s now the workhorse CI (Continuous Integrations)for VMware development teams.
- Knative — a project that allows serverless containers to be run on Kubernetes. Knative takes care of eventing and serving functions details of networking and autoscaling.
- Octant — a developer-centric view into a Kubernetes cluster.
- Carvel — a project that allows developers to deploy their cloud-native applications to Kubernetes via a composable tool suite.
So, what is it like to be a part of an open source project?
The designers in these complex new domains often have no existing user patterns to reference, and not a lot of existing product examples to leverage for their problem-solving. As a result, they have to rely on core design principles and user research data to uncover insights and risks and drive their products toward success.
In my experience working on an open source product team, I have observed three core ways of working that I see as key to designers' success.
1. Hypothesis-driven design. At VMware, we use the scientific method. Starting with our assumptions, we then formulate a hypothesis that is the basis for user testing. From the user tests, we learn and iterate and start the process again. This structured hypothesis-driven approach to problem-solving and iterative cycle of ‘build, measure, learn’ is how we find solutions and eliminate ambiguity.
2. Feedback channels. Creating feedback channels within the community helps identify new opportunities and user problems to solve and help separate the signals from the noise. A product designer on an open source team is successful when they are comfortable working with ambiguity and opinionated on where the product team should focus their attention based on research data.
3. Co-creation of products with these communities is the path to being truly innovative in complex technology spaces. An individual designer cannot work alone and be successful in this space. Transparent communication with the community usually takes the format of RFC’s (request for comments). These articulated contribution proposals help form a dialogue with other community members to collaborate, vote, and give feedback on your proposed design changes to the product.
What do teams look for in a product designer?
- User advocates! It is all about community engagement and feedback on OSS products. These teams want designers who research and synthesize user needs to help conceive, define, test and evolve solutions for users across a range of mediums and experiences.
- Designers that see the forest for the trees. OSS communities can be very vocal in their feedback, and some members are “louder” than others. Successful designers discern trends and root causes across a wide range of inputs.
- Designers that bring a systems-thinking lense to the conversation.
- Designers that will verify and improve both low and high-fidelity designs through reviews, validations, and formal usability testing with end-users in the community.
We need designers like you! Several OSS teams at VMware have full-time product designers…and we are looking for more. These projects include:
Octant is a developer-centric view into a Kubernetes cluster that lets users inspect Kubernetes clusters where applications live. This tool helps developers to understand and visualize how their Kubernetes workloads are operating in a cluster and has a plugin platform, and ecosystem, which allows teams to create unique views. Octant provides a browser-based interface that shows cluster objects, how they relate to one another, and insights on how to fix problems, increasing robustness for developers to operate more efficiently.
Knative is a project that allows developers to run serverless containers on Kubernetes. Knative takes care of the details of networking, autoscaling (even to zero), and revision tracking. The Knative project provides building blocks that are relevant to realizing these outcomes envisioned for users.
These teams need designers like you to bring the value of design thinking to the community. If this sounds like you* then consider an OSS product. Apply here today.
*you do not need to already be familiar with these tools and technologies to be a designer at VMware ;)