Salesforceの導入から33ヶ月が経った導入担当CIO視点の話

   

前回の話:Salesforceの導入から26ヶ月が経った導入担当CIO視点の話

Salesforce関連のpostはこちらを参照

前回は期末が締まって新年度がスタートした段階の話でした。間もなく運用を検討してから3年が経つ感じですのでその辺について。

開発者向けのトレーニングを受講してきた

SalesforceはGUIで出来ることの範囲がどんどん増えてはいるものの、痒い所に手をのばすためにはプログラミングが必要になってきます。前回までの更新ではほぼGUIで出来ることについて話してきているのですが、今回からはApexやらVisualforceページについての話題に触れられるようになりました。

Salesforceでは様々なトレーニングプログラムを提供しています

決して安くはないのですが、体系的に学ぶことが出来ますし、何から始めたら良いのかさっぱり分からないという場合にまずは講習を受けておくと、その先でなにが必要になってくるのかが分かるのでおすすめできます。

僕自身についてはプログラマではないし(数十万のパッケージに参加しました)、プログラミングはかじった程度で業務でバリバリ使うという感じで仕事をしている訳ではなかったのですが、そんなレベルでも参加出来ると思います。

なにが良いって、こんな時にはこんなふうなコードを書きましょうっていうsolutionファイルがもらえるので、やりたいことと照らし合わせてそれらを活用出来るのが良い部分だと思います。

なんで開発者じゃないのに開発者トレーニング受けてるの?

前回、テラスカイさんに開発をお願いしたって書いたのですが、それなりに大きな開発案件はプロにお願いするとしても、本当にちょっとしたことみたいなものっていちいち頼むと時間もお金もかかってしまってつらいなあ…みたいなことってありません?僕はあります。

そんな訳で、簡単なことなら自分でやれるようになったほうがスピード感あがるしコスパも良いだろうという事で行ってきました。結果的にはペイしてると思います。

セールスフォースを導入して3期目になったことの効果とは

リバネスは期末が4月なので3期目も3Qが始まったタイミングという感じですが、年末ですし過去三年分の動きをまとめて発表してみました。

三年前に「プロジェクトの進化」というテーマを掲げて走ってきた弊社なのですが、データをまとめて見てみると進化は進んだと言えるだろうと感じられるような結果につながっていて良かったなとほっと胸をなでおろしています。結論としては売上が上がりました。

取引先別に売上をまとめるためのバッチ処理を書いた

これはセールスフォースの初期の使い方によるのかもしれません。

弊社では最初にデベロッパーに提案された内容にしたがって、取引先のレコードの登録を同じ会社であっても部門が違えば別のレコードとして登録をしてあります。

取引先には親取引先という連携項目がデフォルトで設定されているのですが、実はこいつは何にもしてくれません。

階層化してくれるならその中で積み上げ集計してくれよとか思うじゃないですか。出来ないんですよね何故か。現状階層化というのは、クリックして視覚的にどのレコードがつながっているのかを確認するということにしか使えません。取引先ページからワンクリック必要ですし、あまり使わないなあという印象。

そこで、先ほどの講習によってよちよち歩きながらもApexやらバッチ処理やらをどうやって書くのかみたいな部分を理解し、開発者コンソールを使ってコードを書くことが出来るようになった僕は、ついにバッチ処理を書くという事が出来るようになったという訳です。

取引先のカスタム項目で年度毎の売上金額や提案金額等を積み上げ集計しておき、それを階層化されたIDでグループ化してsumする。取引先にはグループ全体の売上金額といったカスタム項目を追加しておいて、バッチ処理でそこに数字を流し込む。みたいなことをやりました。週に一度の処理をスケジュールして実行しています。

こうすることで、きちんと取引先をグループ化しておけば、どの組織から年間でどの程度の取引が生まれているということが把握できるようになるという訳です。

3年分の履歴を辿ってみると、自分たちがどのように変化してきたのかという事が分かりますし、過去取引のあった組織でご無沙汰している組織が明白になるのでとても便利になった気がします。

紙の処理を電子化しようと思った

弊社では月末になるとその月の有給休暇や休日出勤、振替休暇について紙に記入して判子押して申請をすると、バックオフィスがそれを見て休日の処理をしていく…みたいなフローがあります。月初になると、あれ書いたのー?っていう声がちらほらと聞こえてくるという感じです。

休日の処理というのは意外と面倒で、有給休暇には付与日から何日で消滅するよみたいな取り決めがあるようですし、それをいちいち手作業で処理していくというのは骨が折れます。社員数が50名程度ですらひーひー言っているのですから、これがもっと増えた時にどうなるかという感じですね。この辺の処理に特化したようなウェブサービスが現れるわけだと思いました。

前回の記事でGoogleカレンダーのスケジュールをSalesforceに同期するスクリプトを書いたのですが、これによって弊社のセールスフォースには全社員のカレンダーデータが活動(Event)レコードに同期しています。

休日出勤、有給休暇、振替休暇といったキーワードでカレンダーに登録すると、それを自動的に拾い上げるみたいなことはApexでセレクト分かけば簡単に出来るわけです。

これとは別に、有給休暇の付与の為にカスタムオブジェクトを追加。付与日と付与日数と付与対象を決めておけば、残有給休暇数を手で計算する必要がなくなります。これらを元に、実際に使った有給休暇を自分で承認するようなフローを組んで計算してあげれば、今現在自分に残された有給休暇日数等はリアルタイムに把握することが出来るようになります。

ちょうどバックオフィスの女性が産休に入り、バックオフィスの事務作業を減らしたいというニーズがあったので、そのタイミングで作り込むことが出来て良かった気がします。

スケジュールが同期されていると実は結構便利で、それらのレコードを元にデータを加工して表示するようなことが簡単にできるのです。外出にどの程度の時間を投じているのか。社内会議にどの程度使われているのか。もちろんカレンダー通りに進行しているということも無いでしょうから正確なデータとは言い難いかもしれませんが、大雑把な傾向は把握できるのではないかと思っています。

開発してもらった部分に手を入れられるようになった

三年前の導入時に、帳票発行の仕組みをデベロッパーにお願いしたのですが、これらについてもちょっとずつ手を入れたいというニーズが生まれます。これまではVisualforceページを改修するようなことしか出来なかったのですが、Apexが分かるようになってきたので、どこでなにをやっているのかが理解できるようになりました。

初期には無かったようなワークフローやら、プロセスビルダーで作った処理やらが絡み合って、テストコードが通らなくなっていたりもしたのですがこちらについても現状に合わせることが出来ました。ベースを外注して作ってもらって保守運用を自分でやるというのはコスパが良さそうに思います。

Slackとの連携をより良くした:webhook

前回まではSalesforceからSlackへメールを飛ばしてSlack側で受けるみたいな感じで処理していたのですが、これだと良い部分とそうではない部分があります。メールはワンクリックして開かないといけないので一覧性があまり良くないんですね。

やりかたはこちら:Salesforce → Slackに通知を送る(プロセスビルダー & Apex)

実はこれまでは商談の変化をリアルタイムで追うというのが苦手でした。 週に一度マネージャーでミーティングをしているのですが、なにが変化してこうなっているのか?というのが分からないということがたまに起きます。特にslack側がメール通知で受けていると、メールが同時に飛ぶとエラーが出るのかきちんと処理されないみたいなことが起こったりするんですね。

ということでwebhook連携に変えてみました。

社員面談用の資料が自動で作られるようになった

前回の記事の文末にそんなこと出来たら良いなみたいなことを書いたのですが、出来ました。

データ自体は既にセールスフォースに入っていたし、それまでは各種レポートを駆使して面談時の資料として閲覧するみたいなことをやっていたのですが、そうするとどうしても一枚のページに情報が収まらないのです。

オペレーションは僕がやるのですが、めちゃくちゃ疲れるわけ。ほんとに。

今回は見たい情報を一枚にまとめてその場で閲覧出来るようにしました。オペレーションがめちゃくちゃ楽になったからでしょうか、一日に同じだけ面談をしても感じる疲労感が格段に低減している事が分かりました。これはやってよかった!次回は2月に面談があるのですが、グレードアップしようと思います。

総括

7ヶ月で出来ることが増えました。それによって見ることが出来る景色も変わってきたように思います。

弊社では、本当に多くのプロジェクトが走っており、固定化された商品みたいなものはあまりありません。それ故、見積を立てるのが難しかったりするのですが、やりたいことと出せるコストが顧客との間で固まってきた時に、それをやるべきかどうかというデシジョンをしなければならないのですが、これが簡単にできるようになりました。

11月からはWaveanalyticsを1アカウント導入してみたので、現在はデータを蓄積して、どうやって解析すべきなのかを検討している段階です。

未来のための打ち手になるようなデータは、今あるデータセットを上手に可視化してあげればもっと出せるような気がしています。

次は、スタッフの働き方の改善についての提案などが出来るようになってくると良いなと思っています。

これまでのシリーズ

おすすめ記事一覧

 - Salesforce