はじめに
産業技術大学院大学(産技大、AIIT)人間中心デザインOB/OG Advent Calendar 2018の、19日目の記事です。
ソフトウェアエンジニアが人間中心設計を学んでみて思うことなどを書きます。
職場で人間中心設計(HCD)導入を考えているみなさまには、ソフトウェアエンジニア系のペルソナはこんなことを考えてるのか~と参考になれば幸いです。
なお、多少、組込みソフト分野に内容が寄っているのと、思いつくまま書いてますので網羅性はありません。ご了承ください。。
背景
人間中心設計
- AIIT_HCDを2017年に受講しました。内容の詳細はこちらになります。
ソフトウェア設計方法論
- CMU Software Architecture講座の内容共有を2009年ごろに受けました。概要はこちらの本に載っています。ざっくりいうとACDMやATAM(Architecture Tradeoff Analysis Method)という手法になります。主に組込みソフト向けで活用される手法ですが、興味ある方はどうぞ。
- オブジェクト指向分析設計の講師をやっていました。
プロセス
細かいプロセスは違いますが「価値を可視化して解決策を作って評価する」のは変わらないので親近感がありました。
ACDMの場合はステージ4が”評価”になります。細かいのですが「実証実験」のところは現実的にはハードウェアが絡んでくる場合が多いです。
人間中心設計プロセス | アーキテクチャ中心設計プロセス(ACDM) |
---|---|
※HCDのプロセスは、安藤先生の「UXの教科書」からの抜粋です。
分析方法
UXデザインでは、観察やインタビューから事象を出したり、重要な行為目標を分析したり、本質的なニーズを見出したり、またそれらの関係を分析すると思います。例えば上位下位関係分析やUXコンセプトツリーなどを活用して。その際、視座の移動だったりグルーピングしたりいろいろと試行錯誤すると思うのですが、ACDMのアーキテクチャドライバ発見やオブジェクト指向分析設計での抽象化と具象化をいったり来たりする思考に似ていて、大事なところはやっぱり他の分野でも大事なんだなと思いました。
人間中心設計 | オブジェクト指向分析設計 |
---|---|
上位下位関係分析 | 抽象化・具象化 |
|
可視化
ファシリテーションの手法になるかもしれませんが、細かいことは置いておいて、HCD授業のなかで、グラフィックレコーディングに始めて触れさせていただきました。「情報の可視化や構造化により議論を整理できる」がひとつのメリットかと思いますが、ソフトウェア設計の分野でも同じことが言えまして、ソースコードしかないときにアーキテクチャのトレードオフ判断ができにくい問題があります。そのときに「静的構造分析」したり、実行させたログから「動的構造分析」したり、デバイス配置から「物理構造分析」をしたり、いわゆるリバースエンジニアリング的な手法でソフトウェアを”可視化”して議論を活性化したりします。
ちなみに、ソフトウェアエンジニアには絵心がある人はほとんど居ませんが(笑)
それぞれの手法の目的や役割
だいたい課題意識は一緒なのではないかと思います。
UXデザイン:アイデアやサービスのヒット打率3割を平均して目指す
ACDM: 奇跡や天才に依存しないでヒット打率を上げる、失敗を少なくする、無駄をなくす
もやもや感の受け止め方が違う
こちら、結構慣れるまでが大変でした。エンジニア人種が一番混乱する部分ではないかと。
HCDの場合、これは定性的な感じで申し訳ないんですが、KJ法などで価値分析していると、もやもや感がどんどん出てきたりしますが、そこからアイデアが出てくる感覚がありました。
一方、ソフトウェア設計の場合は曖昧性を極力無くす方向になります。そりゃまあそうですね、骨組みがふにゃふにゃしててほしくない。利用する局面が違うのでそれはそうなんだと思いますが。
なかなか頭の切り替えが難しいのですが、ものすごく学びになりました。
まとめ
ぜんぜんまとまらないのですが、やっぱり本質的な部分はどの分野でも大事で、複数の視座をもったり抽象と具象を行ったり来たりしてアイデアが生み出されていくのだなーと感じました。
あと、どっちも学んでいて楽しかったです!