QaC
sta.iconアンケートを相当ゴリゴリする人じゃない限り、要らんと思う
これら手作業や管理がしんどい場合に、QaCならソフトウェア的に自動化&共有化&バージョン管理するかもねって話
main.ymlから始める
ここにセクションとパーツを並べる
レイアウト、ウィジェット……うまく概念化したい
sta.icon実際に書きながらやってみないと見えてこないところがある
シンプルな例から広げてみよう
こんなアンケートを想定する
title:アンケートてすと
あなたの好きな食べ物はなんですか?
りんご
バナナ
!タイプ指定して値を並べる、パーツ化もできる、値なしを並べる(テンプレ)、テンプレに値書いたファイル。並び替えたい、構成を変えたい、abテストしたい、分担したい。値に制約もたせる。
直書き
code:main.yaml
kind: questionaire
title: アンケートその1
items:
- type: selection
title: あなたの好きな食べ物は?
selections:
- りんご
- バナナ
ファイルでパーツ化
code:main.yaml
kind: questionaire
title: アンケートその1
items:
- fromfile: your_favorite_food
code:your_favorite_food.yaml
kind: part
type: selection
title: あなたの好きな食べ物は?
selections:
- りんご
- バナナ
単位を整理
questionaire アンケート
section セクション
part パーツ
type 種類
title タイトル
固有のkeyvalue
sta.iconうん、頑張ればできそうな気はするが
QaCエンジンつくってOSSにしてみるのもアリだろう
アンケートサービスを参考にする
brast1
inspired by
仕事で社内改善部隊しててアンケート準備している
箇条書き同時編集でバリバリやっていたが役不足
属性が多いため役不足
1項目には「提供形態」「選択肢」「この質問をする意図」なども必要
箇条書きに全部書くのはしんどい
結局Excelになった
Excelに書くのしんどすぎる
何とかならんか?
イメージ
データは3種類くらいに分かれるか
生データ……具体的な質問項目や選択肢といった文章
これは共有できない
機密情報になることもある
レイアウト……アンケートの枠
全部でn問あって、ここには自由回答系、ここらへんに選択肢系、最後に要望欄置いて…… ← こういうレイアウトを設計する部分
ウィジェット……一項目のテンプレート
「選択肢(単一)」「選択肢(複数)」「自由記述」などパーツを定義したもの
ウィジェットに指定できるパラメーターの案
どんなパーツを使うか
そのパーツのオプション
これどっちが良いんだろう
オプション有にする
選択肢 with オプションとして単一or複数
自由記述 with オプションとして単一行or複数行
オプション無にする
選択肢(単一)、選択肢(複数)、自由記述(単一行)、自由記述(複数行)
sta.icon直感的にはこっち
小さなパーツ without オプション、をたくさん用意する
粗いパーツ with オプション、を上手いこと使いまわせ、ではなくて
各データの関係
ウィジェット + 生データ = アンケート項目
アンケート項目の集まり + レイアウト = アンケート
YAMLを読み込んでアンケートページをデプロイするシステム
何が嬉しい?
アンケートつくる≒YAML書く、に帰着される
プレーンテキストでガシガシ書ける
YAMLなので属性も色々書ける
バージョン管理できる
sta.iconまあ再現性や再利用性といったありがたみはないのだが
アンケートデータを標準化できる
たとえばOSSとして公開する
何十何百何千という組織のデータが使える未来
素敵やん
sta.iconsta.iconこの観点は重要だと思ってる
今って各自が頑張ってアンケ項目考えてる感じやん
もっとオープンにできない?共有できない?
できる気がする
甘い?
アンケ項目は千差万別?
いや千差万別は生データ部分だけ
ウィジェットとレイアウトはできるはず
というか既にマーケの分野では確立されてそう
別の言い方をすると「ソフトウェアエンジニアがかんがえたさいきょうのあんけーと」
「訪問者の個人情報ストアからAとBを拝借します」←これも欲しいよな
いちいち「所属を問う項目」とかつくりたくない
各自の個人情報ストアに入れてる所属情報を引っ張り出してそのまま回答にしたい
もちろん無許可はあかんので「このアンケートではあなたのストアのうちAとBを提出します」的な許可にする
Firefoxのアドオン入れるときもあるやつ
なんていう?