見出し画像

EA出品におけるサポートのあり方|EA-BANK編

EAをEA-BANKに出品し、審査に合格しました。
ご存知の方もいらっしゃるかと思いますが、EA-BANKは審査が厳しいことで知られており、それなりのフォワード実績と審査期間が必要になります。
審査に合格したということは、一定の評価をいただけたということの証明であり、その点は素直に嬉しく思っております。

が・・・!

最初のリリース版EAで、不具合を発生してしまいました

本記事では、出品したEAで不具合を出してしまった時に、開発者および出品者として「どのように対応すべきか」を、実体験を交えて考察していきます。

⏬この記事は、次のような方を対象にしています

✔ EAを開発されている方
✔ EAをEA-BANKに出品されている方
✔ EAを販売サイトに出品されている方

それでは、不具合を出してしまった場合の対応について、実体験ベースで説明していきます。

なお、本記事は、出品サイトが「EA-BANK」の場合を想定した記述となっております。
他の出品サイトをご利用の場合は、内容をご利用のサイト向けに適宜読みかえながら読み進めていただければと思います。


✅はじめに:EA-BANKの出品ページについて

EA-BANKの製品ダウンロードページは、WordPressで作成します

開発者は、EA-BANKとの間で出品者登録をし、出品するEAをEA-BANKに審査対象としてアップロードすると、製品ダウンロードページの編集が可能になります。

なお、EA-BANKでは、EA-BANKに紐付けられたIB口座での稼働ができることが大前提となっていますので、出品するEAのプログラムコード内にEA-BANK独自の認証処理を実装する必要があります

認証処理が実装されたEAを出品し

  • EA種別(通常EA/ナンピンEAなど)

  • マジックナンバー(EA-BANKでは、すでに出品されているEAで利用されているマジックナンバーを申請することはできません)

などの必要事項を登録したら、以下のような管理画面から、製品ダウンロードページへの遷移を行います。

EA-BANKの出品EA管理画面

製品ダウンロードページは、以下のようなイメージで、WordPressのページ編集の要領でページの編集が可能です

EA-BANKの出品EA製品ダウンロードページ編集画面

このページを用いて、出品したEAの製品説明などを記述することができます。

以降の説明では、このページにどのように記載するかを中心に、EA開発者が果たすべき行動について説明いたします。

✅0:不具合が確認された

EAの出品後に、開発時点や審査時点では確認できなかった不具合が、ユーザーからのフィードバックにより確認されることがあります。

EA-BANKの製品「BLESSING for GBPJPY (EA-BANK EDITION)」では、以下のような不具合が報告されました。

本EAを「GBPJPY.raw」などのサフィックス付き通貨ペアのチャートにセットすると、エラーダイアログが表示され、EAをセットすることができない。

https://ea-bank.com/handy-systems/ea15eb/

この不具合は、以下の開発時点での考慮不足が原因となっておりました。

EAの初期化処理において、「GBPJPY」以降に文字列が付加されるケースを想定されていない実装となっていたため。

https://ea-bank.com/handy-systems/ea15eb/

EA-BANKの利用口座では、同じ通貨ペアでも、ゼロ口座、スタンダード口座、マイクロ口座によって、チャート名が少しずつ違うことがあります。
この不具合は、利用口座によってチャート名が異なる場合があるということが充分に考慮されていなかったために発生したものです。

この不具合は、稼働口座の開発時点ではもちろんのこと、EA-BANKでの審査プロセスの中でも検出することができませんでした。

出品し、審査が通過したからと言って、それが不具合がないということの証明ではありません。
出品後も、審査通過後も、隠れた潜在的な不具合が明るみになることがあります。

以降の説明では「不具合が確認された」場合に、開発者としてどのように対応するのが適切であったのか、考察していきます。

✅1:不具合の事実を確認し、対策を検討する

今回の場合、EA-BANKからダウンロードしたEAが、サフィックス付きの口座で動作しないという現象が起こっており、そのことをユーザーからの問い合わせによって初めて認識しました。

それを受けて、開発者としてまず行ったことは、以下のことでした。

  • 不具合がどのようなものか、まず自身の目で確認する。

  • 不具合の原因を特定し、解消に向けての対策を講じる

  • 特定の口座などの環境特有の事象である場合、早急に動作確認のための環境を準備する

まずは、不具合が発生しているという事実を正確に真摯に受け止め、具体的な対策を講じることが必要と考えました。
それなしでは、次のアクションを起こすことができないからです。

💡不具合という事実に真摯に向き合い、まずは何をすべきか考えましょう。

✅2:ユーザーに連絡し、素直に陳謝する

状況が確認できたら、できる限り早くユーザーに連絡し、以下の内容を伝えました。

  • 不具合が発生したこと、ご迷惑をおかけしたことを、素直に陳謝する。

  • 不具合の原因がわかっていれば、原因を伝える(原因調査中の場合は、調査中であることをまずは伝える)

  • 不具合について、(予定ベースであっても)どのような対応を講じるかをまずは示す。

ユーザーに対しては、不具合によって迷惑をかけてしまったということを受け止め、しっかり陳謝して、誠実に対応することが、最低限の誠意として必要です。
そのうえで、可能であれば、ユーザーおよび開発者がどうアクションする必要があるかを伝えることが必要と考えました。
そのタイミングは、早いほうが好ましいです。
とにかく、ユーザーに対しては、誠意ある対応が必要不可欠です。

💡不具合で迷惑をかけてしまったユーザーには、素直に陳謝しましょう。

✅3:必要に応じ、動作確認環境を準備する

事実確認の結果、今回の不具合は、サフィックス付きの口座で発生するということが確認されていました。
しかしながら、開発環境、およびEA-BANKの審査環境は、サフィックス付きの口座でなかったため、不具合を現認することができませんでした。

これは、動作環境に対する知識が不足していたことによる、開発者の責任以外の何物でもありません。

ただ、この不具合が実際に解消されたことを確認するためには、EA-BANKで利用可能なサフィックス付きのリアル口座を実際に開設したうえで、その環境で動作させて問題がないことを正しく確認してからリリースしないと、検証が不十分な状態でリリースすることになってしまいます

そのため、事象が確認されてからできるだけ早く、リアル口座を開設し、証拠金を入金しました(EA-BANKの利用口座に必要な最低証拠金は100,000円であったため、入金額は100,000円のみですが)。

実際に行った作業プロセスは以下のとおりです。

  • EA-BANK経由で、ThreeTraderのゼロ口座(サフィックス付き口座)のリアル口座を開設した。

  • EA-BANKに利用口座として申請するために必要な証拠金を、ThreeTrader口座に入金した。

  • ThreeTraderに対して、EA-BANKとのIB紐付けを申請した。

  • EA-BANKとIB紐付けされたリアル口座を、EA-BANKに利用口座として申請した。

このプロセスに想定以上に時間がかかりました。
EA-BANKの利用口座として申請が承認されるまで、3日間かかりました。
環境構築にあたっては、環境が利用可能になるまで時間がかかる可能性がありますので、なるべく早めにアクションを起こすことをおすすめします。

💡リリース前に、適切な環境で確認を行ってからリリースしましょう。

✅4:不具合の事実を公開する

不具合が発生している事実は、可及的速やかにユーザーに公開しましょう
今回の場合、EA-BANKの製品ページに、環境構築と同時並行で以下の情報を開示しました。

  • 不具合が発生しているという「事実」

  • 不具合が発生しているバージョン

  • 不具合の原因

  • 不具合への対策

  • 不具合に対してのユーザーへのお願い

  • お詫び

このプロセスを踏まないと、新規にダウンロードしているユーザーに対して注意喚起できていないために問い合わせが止まらずにひっきりなしに対応する必要を迫られることと、開発者としての情報開示の責任が不充分であるととらえられかねないこととなり、開発者においてもユーザーにおいてもデメリットしかありません。
まずは、情報をありのままに開示すること、進展があった場合は逐次報告することが肝要と思われます。

💡不具合の事実をありのままに、速く広く情報を開示しましょう。

✅5:不具合をしっかり修正する

開発者としては、不具合は修正することはもちろんですが、品質の担保もしっかり行いましょう

今回の場合では、EA-BANKの利用口座として申請したリアル口座で動作すること、バックテストできることを確認したうえで更新版をリリースしました。
リリースまでに、動作確認用口座準備、認証チェック用口座申請、審査などのプロセスを踏んだため、リリースまでに3日ほどの時間がかかってしまいましたが、品質を担保することがまずは必要と考えました。

「動くだろう」という状態でリリースするのではなく、「動きます」という状態にしてからリリースしなければ、再リリースの意味がありません

💡ただ修正するのでなく、修正内容が本当に適切かチェックしましょう。

✅6:修正が完了したら、ユーザーに通知する

EA-BANKの場合、バージョンアップ版のEAを公開する前に、審査部にて再審査が行われます。
つまり、バージョンアップを申請してから、申請が承認されダウンロード可能になるまで、少しの間審査のための時間が発生します。

この間に、ユーザーに修正が完了したことを連絡しました

連絡の内容は以下のとおりです。

  • 修正が完了したこと

  • バージョンアップ申請が承認されしだいダウンロード可能になること

  • あらためてのお詫び

ユーザーファーストの立場から、修正が完了したら、まずはユーザーにお知らせすることが必要と考えました。
実際のバージョンアップ版がダウンロード可能になるタイミングは、EA-BANKからの「バージョンアップのお知らせ」メールで通知されますので、「ダウンロードが可能になりました」といった連絡は、実際のダウンロード可能タイミングとずれる可能性があるため、しないほうが無難でしょう。

💡修正が完了したら、まずはユーザーに連絡しましょう。

✅6:不具合の解消を報告する

不具合が解消したら、不具合が解消したことをなるべく早く製品ページで開示しましょう
今回の場合は、EA-BANKの製品ページで、不具合が解消したことを報告させていただきました。

本記事のステップ4で不具合が起こっていることを開示していると思いますが、不具合が解消したことを告知しないと、

  • ダウンロード済みユーザーは、不具合が解消されたという記載がないと、不安で更新版をダウンロードできない。

  • 未ダウンロードのユーザーは、不具合がまだあると解釈するため、やはり不安でダウンロードできない。

と、更新版のダウンロードという行動につながりません。

💡更新版が用意できたら、開示済み情報も合わせて更新しましょう。

✅7:不具合の内容をFAQにする

同じような問い合わせを減少させるため、既知の不具合は、よくある質問(FAQ)として記載することをおすすめします
FAQをあらかじめ準備することで、以下のメリットがあります。

  • ユーザーは、不具合があることがわかっていれば、問い合わせしなくても問題を解決できる

  • 開発者は、問い合わせは減るため、サポート対応に必要以上の手をかける必要がなくなる

今回の場合は、EA-BANKの製品ページで、「よくある質問(FAQ)」の章を新規作成させていただきました。

💡既知の不具合は、FAQにしておきましょう。

✅8:プライバシーポリシーを制定、公開する

EA-BANKの場合、問い合わせは製品ページからできますが、開発者からの折り返しの返信のために、メールアドレスを記載する必要があります

この仕様は、お問い合わせしようとしているユーザーにとっては
「メールアドレスを公開してしまったけど大丈夫かな・・・」
と、不安に感じされる方も一定数いらっしゃると想像します。

開発者としては、安心して問い合わせていただきたいですし、真っ当な開発者であれば、メールアドレスをサポート対応以外には利用しないというのが常識という考えだとは思います。

とはいえ「メールアドレスをサポート対応以外には利用しない」のが約束されているかと問われれば、約束まではできていない開発者も多いのではないでしょうか

今回の件で、多くの方からメールにてお問い合わせをいただきました。
そのため、ユーザーの皆様のメールアドレスは、こちらでお預かりしていることになっております。

それを目的外に利用しないことを約束するため、EA-BANKの製品ページに、プライバシーポリシーを明記するようにいたしました

この対応によって、ユーザーの皆様が、安心してお問い合わせやご意見などをお寄せいただくことが可能になったと考えます。

💡個人情報保護の点から、プライバシーポリシーの記載をおすすめします。

✅まとめ

長くなりましたが、不具合が発生してしまった場合に、開発者が対応すべき行動は以下のとおりだと考えています。

  • 不具合を真摯に受け止め、ユーザーに誠実に陳謝する

  • 不具合の原因を正確にとらえ、確実に解消する

  • 必要な情報開示を適時に実施する

これらの行動は、なるべく早く、かつ誠実に行うことが重要です。

逆説的には、やってはいけないことは、以下のような行動です。

  • 不具合という事態から目をそむける

  • ユーザーへの対応が誠実に行われていない

  • 必要な情報提供がなされていない

不具合を発生させてしまうのは、ある意味「やらかしてしまった」ということになるでしょう。
やらかしたことを正当化するつもりは毛頭ありませんが、開発は人の手で行っている以上は、不具合が混入する可能性はゼロではありません。

問題は「不具合という事態にどう対応するか」だと思います。

ここで適切な対応を行えば、不具合という開発者としての汚名を返上できるチャンスにできるかもしれません。
しかし、不適切な対応を行ってしまうと、開発者としての信頼は完全に失墜するでしょう。

今回、私たちが取った対応は「ユーザーファーストで物事を考える」という価値観からとった行動でした。
この行動が間違っていなかったと信じたいです。

失敗はしてしまいましたが、本件を通じて、とても価値のある重要なことを学ぶきっかけとなりました。
この経験を糧に成長し、より良い価値のある製品づくりを目指してまいる所存でございます。

EA開発やソフトウェア開発に限らず、
「失敗から学ぶ」
というプロセスは、とても重要であることだとあらためて実感しました。

あらためまして、ユーザーの皆様におかれましては、本件の不具合でご迷惑、ご心配をおかけしましたことを陳謝いたします。
引き続き、ご愛顧のほど、よろしくお願いいたします。

この記事が、EA開発者の皆様の助けになりましたら幸いです。

最後までお読みいただき、ありがとうございました

スキ・コメント・フォローなどいただけけましたら嬉しいです。

✅作者ホームページ

#FX #EA #MT4 #MT5 #メタトレーダー #EA開発 #FX自動売買 #EA開発者 #不具合 #サポート


この記事が気に入ったらサポートをしてみませんか?