設計の考え方
ひとつのテンプレートで、10枚を比べられるようにする
課題を並べただけでは、どれから手をつけるかを決められません。 このサイトのカードは全て同じ7ブロックで書かれており、 根拠の強さ(オープンデータ/議会/市民の声が揃っているか)と 実現度(データ充足度・実装難易度)で横並びに比較できます。 足りないデータの欄は、そのまま市への公開要望の原案になります。
テンプレートの7ブロック
| ブロック | データ上のキー | 書き方の決めごと | |
|---|---|---|---|
| 1 | だれの、どの場面か | persona / pain | ペルソナ(属性と状況)と、困りごとを「いつ・どこで・何に・今はどうしているか」の4点に分解する。想像で埋めず、根拠のある範囲だけ書く。 |
| 2 | 困っている場面 | scene.panels (3) | 3コマ固定。①いまの状況 ②ぶつかる壁 ③こうしたい。全カードで同じ骨格にして、アイコンと1文だけを差し替える。比較できることを優先する。 |
| 3 | ユーザーストーリー | stories[] | 〈だれとして / 何がしたい / なぜなら〉の3点セット。1カードに1〜3本。行政側の担当者を主語にしたストーリーを最低1本入れる。 |
| 4 | 根拠 | evidence.opendata / council / voice | 3系統に必ず分ける。オープンデータは実際に中身を読んで件数と列を書く。議会は会議録のテーマと年、市民の声は自由記述を原文のまま。 |
| 5 | オープンデータ活用のかたち | solution | 「使うデータ → つくるもの → 届く人」の3段で書く。機能は3〜5項目。誰が運用するかまで書く。 |
| 6 | どう測るか | kpi[] | オープンデータで測れる指標を優先する。測れないものは、そのことを書く。 |
| 7 | 実現度と足りないデータ | feasibility | データ充足度と実装難易度を5段階で。足りないデータの列挙が、市への公開要望のたたき台になる。ここが本テンプレートの実用上の要。 |
3コマ図の作法
困っている場面は、すべて同じ3幕でそろえます。アイコンは共通のシンボル集から選ぶだけで、絵を都度描き起こしません。
上は「免許を返した日から、通院が遠くなる」の例。1コマ目で当事者を出し、2コマ目で壁を1つだけに絞り、3コマ目でデータが効く形を示します。
elderparentchildpeoplebusbusstopbasketshophomebuildingschoolhospitalheartfloodsheltertrashcalendarclockmapcoindocphonesearchquestionalertwallchartparkbicyclecar
データ構造
全カードは data/issues.json の1レコードです。スキーマは schema/issue.schema.json。
ページは build.py が生成します。カードを増やすときはJSONに1件足すだけです。
{
"id": "N-01",
"slug": "bus-blank-area",
"title": "免許を返した日から、通院が遠くなる",
"catch": "市内を150mメッシュで区切ると、45.6%のマスが最寄りのバス停まで500m以上ある。75歳以上は15年で2.1倍になった。",
"theme": "移動・交通"
}
...
{
"feasibility": {
"data": 4,
"difficulty": 3,
"missing": [
"町丁字別の年齢別人口(市のオープンデータは年齢別が全市集計のみ、町丁字別は男女別のみ)",
"停留所別の乗降人数",
"民間バス路線(東武バスなど)のGTFS"
]
}
}