Distributed Co-Design

 

how can we bring collaborative experience design to open source software development?

 

Open Source Software (OSS)

is awesome . . .

 

. . . but it often has a problem . . .

 

. . . poor user experience

 

Why?

 

because designers are not involved in development and decision-making . . .

 

 

Why?

 

Because . . .

. . . OSS has traditionally been designed and built by and for developers

And . . .

. . . many other reasons

The goal

Apply open source design to OSS development

How?

First, let’s understand the problem-scape better

Stakeholders

  • Product owner(s)
  • Sponsors
  • Project managers

  • Developers

  • Designers

  • Users

Roles

  • Vision, maintenance

  • Investment

  • Management

  • Development

  • Design

  • Product use

Example OSS development model

* Example only, not a generalisation

Shortcomings (opportunity)

  • Dev-centred

  • Lacking design tools

  • Design is not distributed

  • Design process is not integrated

It’s time . . .

to enable all stakeholders to collaborate in the design and development of open (and closed) source projects.

Guiding values

  • Free and open source

  • All stakeholders have a voice (participatory design)

  • Shared knowledge (everyone on the same page)

  • Decisions based on user research and merit

  • Plays well with other tools (open, standard formats) - BYO Tools

  • Extensible

Sounds great, but how?

OSS needs a development process that:

  • Brings User Centred Design (UCD) to OSS

  • Enables new (and current) stakeholders to bring respective workflows together and inform the workflows of other stakeholders

  • Encourages crowd-sourcing and collaboration

  • Enables an open and meritocratic decision-making process

(It also needs more user research)

Let's call this paradigm

Distributed Co-Design

(DCD)

How do we practise DCD?

Among other things, perhaps DCD needs a platform that supports all stakeholders' needs (not just developers) for:

  • Version control

  • File sharing

  • Co-Design

  • Task delegation

  • Real time collaboration

  • Accountability

  • Discussion

  • Collaborative decision-making

Evolution

Process

Platform

Individual development

Collaborative development (social coding)

Distributed Co-Design and development

IDE

Integrated Development Environment

CDE

Collaborative Development Environment

CDDE

Collaborative Design & Development Environment

The future! (maybe)

Present

Past

CDDE model

* For illustration purposes only, not comprehensive!

The vision

Improve (OSS) design by rethinking dev creative collaboration tools so that all stakeholders can collaborate as first-class citizens


But what about . . .

GitHub, Phabricator, Google Drive, IRC, etc

 

Do current tools allow easy collaboration and equal voice for all stakeholders, both among people in the same role and between different roles?

Checklist

  1. Collaborative user research tool
  2. Collaborative design tool
  3. Collaborative coding tool
  4. Collaborative project management
  5. Collaborative decision-making tool
  6. Accountability in design and decision-making
  7. Open source

Current tools are fragmented, dev-centric, sometimes proprietary and lack features for some stakeholders.

In short, current tools discourage DCD, if not make it impossible.

Current tools

  • The motivations (hence behaviours) of stakeholders can be aligned through systems design of DCD to make DCD a productive process.

  • A CDDE promotes and improves the design of OSS and closed source software.

  • Stakeholders of open source projects would find enough compelling personal value in a CDDE to use it over current tools and contribute to its development.

  • An open source model is a viable and effective way to design and develop a CDDE.

  • An open source model offers the most social benefit through the greatest improvement in design.

  • A monetisation strategy increases the speed of development and effectiveness of a CDDE.

  • An open source model offers monetisation opportunities.

  • A CDDE would offer closed source organisations enough value that they would be willing to pay for the service.

Hypotheses

No

Does DCD just need the right tools?

I don't know, but here are some things to consider

So, what else does it need to succeed?

  • OSS begins as an itch that developers scratch
  • Developers hold the keys to the kingdom
  • Current platforms encourage distributed developer collaboration
  • Existing tools have traction and half solve the problem
  • Different projects use different workflows and tools
  • Code is textual, design is visual
  • Users, developers and designers are distributed
  • Attribution is harder for design
  • OSS faces competition and inspiration from commercial applications
  • Design requires holistic thinking vs code patching
  • Contributor burn-out

Systemic considerations

  • Stakeholder research (validate hypotheses)
  • Promote project and gauge contributor interest
  • Bootstrap a Collaborative Design and Development Environment using the principles of Distributed Co-Design
  • ???

Next steps

Talk to me (studiospring) on IRC at #opensourcedesign

Thanks!

Sean Loughman © 2017

Distributed Co-Design for Open Source Software Development

By studiospring

Distributed Co-Design for Open Source Software Development

How to bring collaborative experience design to open source software development

  • 4,735