🔥

第5回:ユーザーと作るアプリ 〜アジャイル開発のススメ〜 VBA 一人情シス

に公開

Excel VBAで業務効率爆上げ!一人情シスが語る「真の使えるアプリ」の作り方

第5回:ユーザーと作るアプリ 〜アジャイル開発のススメ〜

1. 徹底したヒアリング: ユーザーの真の課題を掴む

VBAでの業務アプリ開発において、最も重要だと気づいたこと。それは、ユーザーを開発プロセスの初期から巻き込むことです。前回の記事で「動けばOK」の罠について触れましたが、これは往々にして開発者側の思い込みや独りよがりな設計から生まれます。
「こんなアプリがあれば、きっと喜んでくれるだろう」という思い込みは、しばしば危険な結果を招きます。ユーザーが本当に困っていること、日々の業務で非効率だと感じている「真の課題」は、彼ら自身が一番よく知っています。だからこそ、開発に着手する前に、徹底的にヒアリングを行うことが不可欠です。
例えば、「この作業、何が一番面倒ですか?」「何分くらいかかっていますか?」「どんな時にミスが起こりやすいですか?」といった具体的な質問を投げかけ、彼らの言葉に耳を傾けましょう。時には、ユーザー自身も気づいていない潜在的な課題が見えてくることもあります。


2. 迅速なプロトタイピング: 早期フィードバックと改善サイクル

ヒアリングで得た課題をもとに、VBAの強みを活かして**「迅速なプロトタイピング」を行います。Webアプリのように、複雑な設計書を何枚も書いたり、数ヶ月かけて作り込んだりするのではなく、まずは必要最低限の機能を持った「動くもの」を素早く形にするのです。
特にExcel VBAは、普段使っているシートに直接機能を組み込めるため、まさに「動く設計書」として活用できます。例えば、前々回触れた分析資料の件です。私は当初、全ての分析機能をWebアプリに組み込もうと考えていましたが、ユーザーがピボットテーブルや関数でデータを再加工していた事実に気づきました。そこで、Webアプリで基本的なデータを集計・出力する部分だけを担い、そのデータをExcelに取り込んだ後、VBAでユーザーが
「ピボットテーブルや関数で自由に加工できる余地を残したテンプレート」**を作成して提供しました。
これにより、ユーザーはすぐに自分の手でデータを触りながらフィードバックをくれるようになり、改善サイクルが格段に加速しました。「この項目は最初から欲しい」「ここの計算は自動でやってほしいけど、その先は自分でグラフを作りたい」といった、具体的な要望を早期にキャッチでき、アプリがより現場にフィットするように進化していきました。


3. ユーザーテスト実践: 現場での使い勝手を確認

プロトタイプが完成したら、すぐにユーザーに実際に使ってもらいましょう。これは非常に重要です。開発環境で完璧に動いても、実際の業務フローに組み込んだ時に初めて見えてくる課題が山ほどあります。
ユーザーテストは、大々的なものでなくても構いません。少数の代表的なユーザーに、彼らの実際の業務環境で、普段の業務と同じように使ってもらうのです。そして、彼らがどこで戸惑うか、どんな操作をしているか、どんな表情をしているかなど、細かく観察します。
「ここ、クリックするんですか?」「このデータはどこから入力すればいいですか?」といった疑問は、開発者には当たり前でも、ユーザーにとっては大きなハードルだったりします。彼らの「つぶやき」や「迷い」が、アプリ改善のヒントになります。


4. 柔軟な変更対応: 計画よりも適応を重視する

アジャイル開発の原則の一つに「計画よりも適応を」という言葉があります。VBA開発においても、この考え方は非常に有効です。事前に全てを完璧に計画しようとするのではなく、ユーザーからのフィードバックや、実際に運用する中で見えてきた課題に対して、柔軟に、そして迅速に対応していく姿勢が求められます。
特にVBAは、コードの修正が容易で、再デプロイの必要もほとんどないため、この「柔軟な変更対応」に非常に適しています。ユーザーからの「明日までにここを直してほしい」といった要望にも、PythonやWebアプリでは難しかった即座の対応が可能になります。このスピード感が、ユーザーの満足度を高め、アプリへの信頼感を築きます。


5. ユーザーを「開発者」にする: 簡単な修正方法の伝授

最終的に目指すのは、ユーザーが**「自分たちのアプリ」だと感じ、簡単な修正であれば自分たちでできる**ようになることです。もちろん、VBAの全てのコードを理解してもらう必要はありません。しかし、例えば「ここに入力する項目名を変更したい」「この計算式の一部だけを変えたい」といった、比較的簡単な修正方法を教えてあげることで、ユーザーはアプリへの愛着を持つようになります。
「ここを直せば、自分で対応できるんだ!」という経験は、ユーザーの主体性を引き出し、システムの維持管理コストを減らすことにも繋がります。これは一人情シスにとって、まさに夢のような状況です。ユーザーがシステムを「使う側」から「一緒に育てる側」へと変化する瞬間です。


今日の言いたいこと: ユーザーを巻き込み、共に「育てる」開発こそが最強。

Discussion