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
-
Collaborative user research tool
-
Collaborative design tool
-
Collaborative coding tool
-
Collaborative project management
-
Collaborative decision-making tool
-
Accountability in design and decision-making
-
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
- 5,035