エンジニアと非エンジニアが5時間でやってのけた！SPIRALver.1でフォーム分岐を爆速実装した話

https://www.pi-pe.co.jp/regist/is?SMPFORM=man-lanerf-2473a633d82734eb22aa64cad426ae23&utm_source=pup-qiita&utm_medium=contentlink&utm_campaign=/SPIRAL_internship/items/92b3cb824e1dbd43bfc8&utm_content=link-top&f000099824=https://qiita.com/SPIRAL_internship/items/92b3cb824e1dbd43bfc8

---

## はじめに
この記事では、エンジニアと非エンジニアが連携し、SPIRALver.1上でアンケートフォームの回答分岐機能を5時間で追加した案件について、私が注意したポイントを紹介します。
特に、非エンジニアとの連携経験が浅いエンジニアの方に向けて、認識合わせやコミュニケーションの工夫、具体的な確認方法を分かりやすく解説します。
本記事が、コミュニケーションの参考になれば幸いです☺️


## 何をやったのか？
今回、営業部門からのアサインを受け、既存のアンケートフォームに「回答内容に応じた質問の分岐機能」を実装しました。  
この機能により、ユーザーの回答に応じて次に表示される質問が動的に変化する仕組みを実現し、より的確な情報収集と顧客ニーズの把握が可能になります。

## どのように進めたのか？
全体の進行はTeamsでの通話やチャットでの打ち合わせを中心に進めました。

- **初期打ち合わせ:**  
    仕様書は非エンジニアの方が作成した内容でしたが、実際の利用場面を想定して詳細を確認し、双方の認識をすり合わせました。
    
- **実装:**  
    **SPIRALver.1上での実装であったため、フォームは自動生成されるテンプレートを活用でき、DB構造も把握しやすかったことから、スムーズに機能追加が可能でした。**
    今回の変更はフォームの動的処理のみの追加で、**JavaScriptで追加記述するだけ**で完了しました。[実装面で参考にしたサイト:SPIRALナレッジサイト[フォームカスタマイズvol.5]JavaScriptで項目の表示非表示を切り替える](https://knowledge.spirers.jp/article/development/detail/1086)
    
- **短時間での対応:**  
    初期ミーティング含め全工程を5時間で完了できたのは、疑問点や仕様の不明瞭な点を即時に解消できたため、**手戻りの防止**につながりました。

---
▼ちなみに使っている**SPIRAL ver.1**はココから体験できます！

https://www.pi-pe.co.jp/regist/is?SMPFORM=man-lanerf-2473a633d82734eb22aa64cad426ae23&utm_source=pup-qiita&utm_medium=contentlink&utm_campaign=/SPIRAL_internship/items/92b3cb824e1dbd43bfc8&utm_content=link-middle&f000099824=https://qiita.com/SPIRAL_internship/items/92b3cb824e1dbd43bfc8

---

## 気をつけたポイント
- **フォームの回答必須項目の明確化:**  
    仕様書上で回答必須項目の記載が無かったため、実装前にどの入力項目が必須であるかを確認しました。
    
- **実際の利用シーンを想定した認識の擦り合わせ:**  
    アンケートフォームがどんな状況で使われるか、利用者の導線や利用環境を営業部門と共有しながら話し合いました。
お互いのイメージをそろえることで、仕様のズレをなくし、スムーズな実装につながったと感じています。
    
- **疑問点の即時解消:**  
    開発と営業の間で疑問点がある場合は、すぐに打ち合わせやチャットで解消することで、後の**手直しや修正のリスクを低減**できると思います。

:::note
**🗣️Tips: 認識合わせに使える表現まとめ**

実際の業務で認識のすり合わせを行う際に私がよく使用している表現をまとめました👍

- **「〇〇の認識であっていますか？」**  
    → _例：「こちらのフォーム設計、ユーザーが一目で必須項目と認識できるという認識であっていますか？」_  
    
    ◉認識の確認を行い、相手の理解が自分の想定と一致しているかどうかを明示的に尋ねる表現です。
- **「この部分は〇〇という意味ですか？」**  
    → _例：「このコメント欄の挙動ですが、入力がない場合はエラーとするという意味ですか？」_  
    
    ◉曖昧な点や仕様の詳細を確認する際に、具体的な意味や意図を質問する際に有用です。
    
- **「つまり、〇〇ということでよろしいでしょうか？」**  
    → _例：「つまり、ユーザーが途中で入力をキャンセルした場合は一度保存されずに再入力を促すということでよろしいでしょうか？」_  
    
    ◉複数の要素を纏めた上で、相手に確認を取る表現です。特に、**通話でのミーティングは話が飛びやすい**です。そこで、ミーティングの終盤で決定事項をまとめて再確認しておいた方が認識を合わせることができます。
    
- **「ご確認させていただきたいのですが、〇〇は〇〇という意味で理解してよいでしょうか？」**  
    → _例：「この仕様書の『分岐』という表記は、ユーザーがリアルタイムで質問が変わるという意味で理解してよいでしょうか？」_  
    
    ◉相手が使っている単語でも複数の意味がある場合は、確認しておいた方が良いです。~~(私はこれで何回か失敗してます😭)~~
    
これらの表現を活用することで、エンジニアと非エンジニアとの間で、あいまいになりがちな仕様の確認をスムーズに進めることができ、トラブルの元となる誤解や手戻りのリスクを軽減できると思います。
:::

## まとめ
今回のプロジェクトを通じて、営業部門と開発側がスムーズにコミュニケーションを取ることの大切さを改めて感じました。
特に、仕様書にあいまいな点があった場合にその場で質問して認識をすり合わせていくことで、短時間で機能追加を終えられたのが大きな収穫です。
今後も、実際の利用シーンをしっかり意識しながら、お互いの意見を尊重して連携を深めていきたいと思います。

---
私がインターンしているスパイラル株式会社は、ローコードプラットフォーム、SPIRAL ver.1の**トライアルアカウント**を**無償提供**しています。このアカウントの記事でも紹介するように、たくさんの機能ございます。
 
▶︎ フォーム
▶︎ 認証エリア
▶︎ ログイン
▶︎ メール送信
▶︎ カスタムプログラム
 
などの作成できますので、ぜひ試してみてください!!
 
https://www.pi-pe.co.jp/regist/is?SMPFORM=man-lanerf-2473a633d82734eb22aa64cad426ae23&utm_source=pup-qiita&utm_medium=contentlink&utm_campaign=/SPIRAL_internship/items/92b3cb824e1dbd43bfc8&utm_content=link-bottom&f000099824=https://qiita.com/SPIRAL_internship/items/92b3cb824e1dbd43bfc8
 
そして、今チームでトライアル登録者向けに、オンボーディングコンテンツを作成しています。**SPIRAL ver.1**にご興味のある方、ぜひこちらもご覧ください👇
 
https://knowledge.spirers.jp/special/detail/11680