
デザイン主導によるオープンソースソフトウェア開発
皆さんこんにちは、Linoさんです。
Conference for Open Source Coders, Users and Promoters(COSCUP)は、2006年より台湾のオープンソースコミュニティ参加者によって毎年開催されているカンファレンスです。
昨年大好評だった「The Design We Open — Network Disruption Hackathon」ワークショップに続き、Superbloomは今年もデザイナー向けの専門ワークショップを開催します。今年のワークショップは、デザイナーがどのようにオープンソースプロジェクトに貢献できるかをより明確に示すための1日間のデザインワークショップです。
昨年、Eriol氏とAbhishek氏と共にこのイベントに参加できたことは大変光栄でした。昨年のイベントで発表された刺激的な議論と革新的なアイデアは、私を含む多くのデザイナーコミュニティに大きな期待とインスピレーションを与えました。多くのビジネス指向のワークショップに参加してきた経験から、今年の集まりで探求されるであろう刺激的なトピックを心待ちにしております。
オープンソース技術に対する深い関心から、開発者と協力してオープンソースプロジェクトに取り組む機会を積極的に追求してきました。この協働を通じて、複雑な課題を解決し、優れたユーザー体験を備えたオープンソース製品の開発に大きく貢献できるものと確信しております。
私がMediumで執筆したオリジナルの記事は、下記のリンクをご参照ください。
オープンソースプロジェクトにおけるデザイナーの重要性
デザイナーは、コラボレーションプロセスにおける重要なリンクとして、開発者の疑問を具体的なデザイン課題に変換する重要な役割を果たしています。開発者はしばしば、ユーザーのシナリオ、行動、動機に関する十分な文脈を欠いた簡潔なステートメントで問題を提示します。
これらの詳細は、デザイナーが問題を深く理解し、ユーザー視点に立ったデザインアプローチを取るために不可欠です!
直接ユーザーと対話できなくても、デザイナーはユーザーペルソナやユーザージャーニーマップなどのデザイン思考ツールと関連するケーススタディを活用することで、現実世界のユーザーシナリオをシミュレートすることができます。これにより、デザイナーは開発チームと共通の理解を築き、優れたユーザー体験を共同で創造することができるのです。

***
このワークショップでは、「ペルソナ・ノン・グラータ(Persona Non-Grata)」つまり悪意のあるユーザーの概念が紹介され、デザインの視野が大きく広がりました。この革新的な手法は、私たちに、オープンソースソフトウェアが攻撃されるリスクをより深く理解する機会を与えてくれました。
これらの潜在的な脅威を設計プロセスに組み込むことで、より徹底的なリスク評価を実施し、脆弱性を特定し、予防的な安全対策を実装することができます。この包括的な方法は、正当なユーザーのニーズを満たすだけでなく、悪意のある脅威からソフトウェアを強化し、その全体的なセキュリティと回復力を高めます。

***
今年のワークショップは昨年と異なり、Cofacts、Session、Cenoの3つの特定製品に焦点を絞っています。
私たちのチームはSessionを選び、データバックアップの課題に焦点を当てます。私たちが探求しているシナリオは、緊急時や危険な状況でアプリを削除する必要があるが、リカバリーフレーズを忘れてしまい、過去の会話の復元ができなくなるユーザーを支援する方法です。
Superbloomのアクセシビリティとユーザビリティのヒューリスティックレビューを参考に、私たちの評価では「Human language」と「Efficiency and just-in-time information」を優先しました。従来、ヒューリスティック評価は、デザインと開発チームがインターフェース内のユーザビリティとデザインの欠陥を特定するために使用されてきました。これらのヒューリスティックは、安全でユーザーフレンドリーなシステムを作成するためのベンチマークとして機能します。

複数の評価者が同じインターフェースを評価することで、効果的な評価を実施できます。ユーザーエクスペリエンスの専門知識は有益ですが、必須ではありません。「アウトサイダー(Outsiders)」からの新鮮な視点も、適用されるヒューリスティックを理解していれば、評価プロセスを大幅に強化することができます。
問題を徹底的に分析した結果、私たちのチームは包括的なユーザーペルソナと詳細なユーザージャーニーマップを作成し、データバックアッププロセスにおける重要な課題を特定しました。これらの課題に対処するために、以下の解決策を提案します:
初期設定の改善:リカバリーフレーズの保護の重要性を強調する分かりやすい利用開始プロセスを実装。
緊急連絡先とバックアップ:ユーザーが緊急連絡先を指定し、緊急時にワンクリックでバックアップを開始できるようにする。
柔軟なリカバリーオプション:緊急連絡先を通じてリカバリーフレーズを取得する機能を含む、失われたデータを回復するための複数の方法を提供。

これらの提案されたソリューションは、データ損失のリスクを軽減し、ユーザーが自身の情報をより適切に管理できるようにすることで、全体的なユーザー体験の向上を目指しています。
デザインチームとエンジニアリングチームのシームレスな連携を促進するため、このワークショップではGitHubやGitLabなどのプロジェクト管理ツールの採用を推奨しました。デザイナーは、従来の成果物に加えて、デザインの根拠やプロジェクトの目標も含めることで、プロジェクトの方向性を形作る重要な役割を果たしました。このアプローチは、共有された所有権と反復的な開発というオープンソースの精神に沿うものでした。
このワークショップは貴重な知見を提供しましたが、これらのツールやワークフローを既存のデザインプロセスに統合するには、協調的な取り組みが必要となります。より技術中心のアプローチに適応し、初期の学習曲線を乗り越えることが、この協働モデルの利点を最大限に活かすために不可欠となるでしょう。
エンジニアとデザイナーを繋ぐ架け橋
このイベントにおいて、私はオープンソースツール開発に固有の課題を深く理解するため、複数のデザイナーへのインタビュー調査を実施しました。一般的な商用製品の開発プロセスと比較すると、オープンソースプロジェクトには大きな違いが見られます。具体的には、エンジニアとデザイナーの効果的な協働を支える基盤となるリソースやインフラストラクチャが十分に整っていないことが多いのです。
このような協働関係は、高品質なオープンソース製品を生み出すために極めて重要な役割を担っています。そのため、これらの基盤要素が不足していることで、プロジェクトの成功が著しく阻害される可能性があるのです。
私たちの議論に基づき、以下の主要な課題が特定されました:
コミュニケーションの課題:エンジニアとデザイナーの間での効果的な協働を妨げる要因として、視点やコミュニケーションスタイルの違いが挙げられます。エンジニアは技術的な実現可能性と効率性を重視する傾向にある一方で、デザイナーはユーザー体験と美的要素に焦点を当てています。このような優先順位とアプローチの違いが、相互理解とプロジェクトの方向性の一致を困難にすることがあります。
技術的な複雑さ:エンジニアとデザイナーの技術的専門知識の差異により、効果的な協働が難しくなることがしばしばあります。デザイナーはオープンソースツールに対する親密度が低いことが多く、そのため技術的な制約に沿ったデザインを作ることが困難になります。この状況は、期待値の不一致やプロジェクトの遅延につながる可能性があります。
視点の不一致:エンジニアとデザイナーの効果的な協働における主要な障壁は、優先事項の相違から生じています。一般的にエンジニアは機能の実装を重視する一方で、デザイナーは製品の美的要素と使いやすさの向上に注力します。さらに、エンジニアが技術的進歩を重視し、デザイナーがユーザー中心の成果を優先するという価値観の違いが、これらの課題をより一層深刻化させる可能性があります。
オープンソースプロジェクトは従来の製品開発と類似点を持ちながらも、独特の課題を抱えています。オープンソースツールの専門的な性質により、エンジニアリングとデザインの専門分野間にサイロ化が生じる可能性があります。さらに、ユーザーからの直接的なフィードバックが得られないことで、デザイナーがユーザーニーズを正確に把握することが困難になる場合があります。
これらのギャップを埋めるためには、効果的な協働が最も重要となります。オープンなコミュニケーションを促進し、プロジェクトの目的を一致させ、適切なツールとプロセスを導入することで、開発ライフサイクルを最適化し、優れたオープンソース製品を提供することができます。
終わり

本記事は以上となります!この記事の内容について、ご意見やご感想をお聞かせください。
このワークショップへの参加を通じて、オープンソースツールがもたらす変革の可能性についての理解が深まりました。私は、デザインとエンジニアリングがシームレスに融合し、業界標準を再定義する新世代の優れたオープンソース製品が生まれる未来を構想しています。この展望を実現するためには、デザイナーとエンジニア間のオープンなコミュニケーション、相互尊重、知識の共有を促進する協働的なエコシステムを育むことが不可欠です。
複雑な技術的な詳細をわかりやすく解説し、デザイナーがオープンソースの原則をより深く理解できるようにすることで、イノベーションが育つ相乗的な環境を作り出すことができます。この協働的なアプローチは、部門間の壁を取り除くだけでなく、共通の目的意識を生み出し、機能的であると同時に美しく、ユーザー中心のオープンソースソリューションの創造へと私たちを導きます。
継続的な探求と実験を通じて、オープンソース技術の可能性を最大限に引き出し、ソフトウェア開発の新しいパラダイムを確立できると私は確信しています。
最後まで読んでいただき、ありがとうございました!
それでは、また次回お会いしましょう。