S-Collection株式会社 システムについて

S-Collection株式会社のシステムサポート事業

普及しはじめた自動化!RPA開発の現場は実際どうなのか?

RPA開発の現場事情

以前紹介したRPA導入の現場事情につづき、今回は開発側の現場事情について紹介します。
既に開発を経験されている方には、共感していただける内容もあるかと思います。

これから開発をされる方、まだ開発はしていないが、どんなものなのか興味があるという方には、参考にしていただければと思います。

1.RPA開発側の課題

1.開発着手までの道のりが長い

通常の開発だと、「こんなシステムを開発してほしい」という明確な要望があり、それに向けてユーザーと開発側の双方の意識合わせをしていきます。
そのため、仕様の検討が比較的進みやすい傾向にあります。

一方、RPA開発の場合、明確な要望がなく、「上からRPAでなにかやれと言われているのだけれど、なにができますか」といったも少なくありません。
なかには、仕様検討の前の業務整理だけで数ヶ月かかる現場もあります。

2.開発手段がRPAツールに固執してしまう

業務整理をして、手順をヒアリングしてみると、実はExcelマクロだけで実現可能であったり、場合によってはむしろそのほうが開発も処理も早かったりすることがあります。
RPAという手段が目的になってしまっている依頼も実際にあります。

だからこそ、あくまで目的は業務の自動化、効率化だということを念頭において、マクロで実現可能な業務は、そちらを提案するということも開発側の仕事です。

3.まだまだ共有されているノウハウが少ない

従来の開発だと、実現したい機能や処理のノウハウがすでに一般に広まっているため、課題のほとんどをインターネットや書籍で調べることで解決できます。
しかし、RPAの場合、調べても「検索結果0件」であったり、欲しい情報が全然見つからなかったりということが珍しくありません。

ご自身で色々試してみたり、工夫したりしながら解決することがRPAの面白さのひとつでもあります。

2.開発側の対策

1.従来のプログラミング開発とは別物だと考える

RPAは開発のなかでは新しい分野ですので、従来の開発とは手法が異なります。

長くエンジニアをされている方は、体制や工程などといったさまざまな部分で従来の開発と比較して考えてしまう可能性があります。
しかし、RPAは別物ですので、「どうすればRPAでの開発が効率よく前進するか」を考えることこそが大切になってきます。

2.粘り強く取り組む

業務整理やヒアリング、開発時のノウハウの確立などを行うなかで、解決すべきことや、想定外のことが開発現場ではたくさん起こります。
ですので、それらをひとつひとつ乗り越えていくことを楽しめる力が、RPA開発の現場では必要になってきます。

また、試行錯誤の結果、新たな発見もあります。
ノウハウをチームに展開したり、インターネット上にあるRPA開発者向けのフォーラムに投稿したりして、業界全体の技術力向上に貢献することも効果的です。

今回は開発側の現場事情について紹介しました。
RPAツールについても、別の記事にて紹介したいと思います。

普及しはじめた自動化、RPA導入の現場は実際どうなのか?

RPA導入の現場事情

現在、大手企業が先陣を切って作業の自動化や効率化に力を入れています。
そのなかで活躍するツールがRPAです。

RPAとは「Robotic Process Automation /ロボティック・プロセス・オートメーション」の略で、ロボットによる業務自動化の取り組みです。
RPAは登場して間もないこともあり、これからの伸びしろが期待されていますが、実際に導入する側の現場事情を紹介します。

1.RPA導入側の課題

1.上司からRPAツールだけ渡される

会社の上司から「RPAツール導入したから、これで業務自動化して」といった、不明確な要望だけがおりてきて、実際なにをすればいいのかわからないまま手つかずになってしまうという状況が、導入する側によく見られる事象です。

2.RPAやITに対する知識

総務担当者が業務自動化を任されるケースもあります。
その場合、ITの知識があるとは限らないので、RPAがどういうものなのか、どこまでできるのかわからないという事象も見られます。

普及しはじめてまだ間もない分野なので、IT技術者でも知らない人がいるといった、RPAに対する認知度の低さなども課題です。

またRPAについて、一部でこんな売り出し方がされています。

・プログラミングの知識は不要
・簡単に短期間で作成できる

このような言い方で売り出されたりしています。
確かに間違いではないですが、完全にその通りというわけでもありません。

従来の開発ほどはプログラミングの知識が不要で、必要な期間も短縮されました。
しかし、実現したい機能によっては多少プログラミングも必要ですし、期間も必要になります。
素晴らしいツールですが、過度な期待は禁物です。

3.RPAはAIではない

RPAとAIの認識が混在している、違いがよくわからないといった事象もあります。
2つの違いについては以前も紹介しました。
RPAはあらかじめ登録しておいた手順どおりの作業のみ行います。
そのため、機械に判断をゆだねるような業務、臨機応変さが求められる業務には向いていません。
参考:RPAにより広がる自動化の波!今後の働きかたの変化について

2.導入側の対策

1.定常作業、定型作業の洗い出し

自動化の選定には、普段行っている業務のなかで、定常作業や定型的な洗い出しが必要です。

入力場所がほぼ決まっている、押すボタンがほぼ決まっているなどの作業は自動化の対象になる可能性が大いにあります。
月に1度や日々の面倒な作業を自動化させて、効率化させましょう。

2.作業手順のフロー化

作業の洗い出しが終わったら、実際にどういった手順で行っているかをフロー化する必要があります。
これにより、自動化ができるかどうかの判断がしやすくなることと、開発に着手した際のスピード感がまったく違います。


今回は導入側の現場事情について紹介しました。
開発側の現場事情については、また別の記事にて紹介します。

あなたを守る認証の基礎知識②

認証の具体例

前回の「あなたを守る認証の基礎知識①」では、情報セキュリティや認証について簡単にお伝えしました。

普段はあまり意識することが少ないかもしれませんが、情報をやり取りする際に、認証の作業はさまざまなところで行われています。
今回は、代表的な認証の方式などについてお伝えしていきます。

 

f:id:s-collection_system:20190508090840j:plain


3つの認証方式

認証には大きく3つの認証方式があります。
そして各方式にさまざまな認証の方法や技術が存在します。

 

①知識認証

知識認証とは、本人だけが知っている知識を使用して行う認証の方式です。
パスワードや秘密の質問とその答えなどが例としてあげられます。

導入が簡単で、変更も容易に可能であり、もっとも広く使用されている認証方式といえます。
ただし、認証情報を忘れてしまったり、他者への流出に気をつけたりする必要があります。

 

②所有物認証

所有物認証とは、本人だけが所有しているものを使用して行う認証の方式です。
ICカード、磁気カードまたはUSBキー(USB内に鍵となる情報が入っている)などがあげられます。
こちらも、さまざまなところで使用されています。

自分の勤務する会社へ入退出するときに使用するセキュリティカードや、銀行のキャッシュカードなども所有物認証のひとつです。
知識認証のように、忘れて使用できなくなるということがありません。
しかし、その代わりに、認証となる所有物そのものの紛失、盗難、またはスキミングなどに気をつける必要があります。

 

③生体認証

生体認証とは、本人の身体的情報を使用して行う認証の方式です。
代表的なものに指紋認証、静脈認証、顔認証、網膜認証などがあります。
忘れたり、紛失したりすることがなく、なりすましをすることがとてもむずかしい認証方式です。

身近なところでは、銀行でパスワードの代わりに静脈認証を採用していたり、スマートフォン指紋認証や顔認証などに使用されたりしています。

利点の多い生体認証ですが、認証の許容度を下げると、本人を正しく認識することが難しく、認証が通りにくくなります。
逆に認証の許容度を上げると、他人を誤って通してしまうため、認証精度についての問題があります。
また、もし認証の生体情報が流出すると認証として機能しなくなります。
そして、一生使用できなくなってしまうので、認証情報の管理がとても大事になります。

 

二段階認証と二要素認証とは

鍵のかかっている扉が1枚あるよりも、2枚あるほうが侵入は難しいことと同様に、複数認証を行うことで、認証の強度を上げることができます。
認証を2つ行うものに、二段階認証と二要素認証とがあります。

二段階認証とは、その名のとおり、2つの方法によって用う認証のことです。
認証の方法が異なっていれば、認証の方式は同じでも異なっていても構いません。

一方、二要素認証とは、異なった認証方式を用いて2通りの認証方式によって行う認証のことです。
身近なところでいうと、銀行でATMを使用する際に行うキャッシュカードと静脈認証(所有物認証と生体認証)や、IDとパスワードでサイトにログインを行った際に登録しているスマートフォンにSMSで認証コードが送られ、そのコードを使用して認証を得るSMS認証(所有物認証と知識認証)などがあげられます。
つまり、二要素認証は二段階認証の一部といえます。

今回、紹介した認証の方法以外にも、さまざまな認証の方法があります。
不正アクセスやなりすましを防ぐために、新しい認証の方法が開発されています。
認証の方法を難しく、より複雑にすればするほど、なりすましによる認証の突破をより困難にできます。
しかし、その代わりに認証作業が煩わしくなるため、ユーザーの使い勝手が悪くなることが課題といえます。
ユーザーはそれらの認証技術に頼りきるのではなく、一人ひとりがセキュリティに関しての意識を持って行動することも、とても重要といえます。

S-Collection株式会社では、情報セキュリティをしっかりと守りつつ、皆様の要望に合わせた最適なシステム構築をすることで、企業様へ貢献し続けていきます。

あなたを守る認証の基礎知識①

認証の必要性とは!

いまやICT(情報通信技術)が広まり、情報が溢れかえっている時代です。
そして、PCやスマートフォンなどの端末でインターネットへアクセスすれば、さまざまな情報を得ることができるようになりました。

その反面、他者に知られたくない重要な情報も多く存在します。
そのため情報セキュリティを守ることがとても重要視されており、それは企業間だけでなく、個人でもとても大事になっています。

f:id:s-collection_system:20190503224020j:plain


情報セキュリティを知る

情報セキュリティを守る前に、まずは言葉の意味を知りましょう。

情報セキュリティという言葉について「JIS Q 27001:2006」では、以下のように定義しています。
「情報の機密性、完全性および可用性を維持すること。さらに、真正性、責任追跡性、否認防止および信頼性のような特性を維持することを含めてもよい。」

つまりどういうことかというと、以下のようになります。
「情報に関して、許可のない人には非公開にし、許可のある人にはアクセスを可能にして正確な情報を提供すること。さらに、その情報が本物であることやアクセスしたユーザーとそのユーザーの動作が一意にわかること。変更などの操作を行ったことをあとになって否認されないように証明できること。また、要求した機能をしっかり果たせることなどの特性を維持することを含めてもよい。」

このように、情報を守ることは現代社会で重要な課題項目のひとつにあげられます。
そして、この情報セキュリティを守る方法のひとつとして、認証という作業はとても重要です。

 

認証とは本人確認

認証とは、利用者が本人であることの正当性や真正性の確認することです。
つまり、なにかしらの方法によって自分であることを証明することといえます。
普段の生活では、自分の身分を証すときは運転免許証などの身分証明書によって本人確認を行っているでしょう。

しかし、インターネットなどのITの世界では、実際に会って確認を行えないため、なにかしらの方法を取る必要があります。
その方法を認証といいます。

 

認証は必要か

自分の大事な情報を不正に他人へ見られたり、使用されたりしたくないということは、誰でも同じです。
他人の名前、IDまたはアカウントなどを勝手に使用して活動することを「なりすまし」などと呼びます。
個人情報保護が重視されている現代では、不正アクセスやなりすましによる情報侵害が、情報セキュリティとして大きな問題になります。

そんな不正アクセスやなりすましができないように、本人であることを確認するためには認証が必要となります。
そして、本人であることを証明する認証の手段や方法は、現在では多数存在します。
さらに、認証の方法は使用する環境やセキュリティレベルなどに応じて、適切な選択をする必要があります。

認証とは鍵のようなものといってもいいでしょう。
自分の大事なものを守るために鍵をかけて保管しておくように、認証によって自分の大事な情報を守ります。

次回は、3つの認証について、具体的な方法などを含めてお伝えします。

RPAにより広がる自動化の波!今後の働きかたの変化について

RPAで人間の作業がなくなるって本当?

最近、AIや無人のレジなど、人に替わって仕事をする機械の具体的なイメージが世間一般でも浸透してきたように思えます。
なかでも、RPAは、大手の製造業や通信業が導入しはじめたことで注目を集めています。
はじめて聞くかたも、聞いたことがあるかたもいるかと思いますが、RPAとはどういうものなのかを紹介していきます。

1.RPAとは?

Robotic Process Automation(ロボティック・プロセス・オートメーション)の略です。
パソコンにしてほしい作業をあらかじめ登録しておくことで、ユーザーの好きなタイミングで自動的に作業をさせることができます。
AIとマクロの間に位置づけされるイメージです。

2.AIやマクロとどう違うの?

AIは過去の事例から学習し、自分で判断する力を持っています。
なので、使えば使うほど、事例(データ)が多いほど精度が上がっていくのが特徴です。
マクロは、あらかじめ登録した処理(プログラミング)を実行してくれますが、Excel内のみでの処理に限られるなど、行動範囲が制限されています。
RPAは、あらかじめ登録した処理を実行してくれるところはマクロに似ていますが、ExcelやWordの操作、メール送受信、Webページ操作、ファイル操作、など、みなさんがパソコンでおこなっている処理は大抵可能です。
ただし、AIとは違い、あらかじめ登録しておいたとおりの処理しかおこないません。

3.RPAの目的

以下のような業務にRPAを導入することで、作業の効率化、作業ミスの削減、人件費の削減などが期待されます。
・1日がかりの月例手作業
・1回あたりの作業時間は少ないが、頻度の高い定常作業
・量が多く、面倒な単純作業

これまで事務作業をおこなわれていたかたは、急に仕事がなくなってしまうのではないかと思われたかもしれませんが、そうとも限りません。
業務効率化の推進係として、RPAについて勉強し、自動化できる社内業務の洗い出しや、自動化の提案をしてみてはいかがでしょうか。
ご自身が一番面倒だと思っている作業を自動化させれることができれば、ご自身にとっても会社にとっても有益なはずです。

さらに、従来の事務作業の大半をRPAに任せ、人間の労力を企画や営業などの機械では難しい業務に集中することができれば、より一層の生産性の向上につながります。

今回は、RPAの概要について紹介しました。
開発や導入のリアルな現場事情やRPAツールについては、次回以降紹介いたします。

【プログラミング】変数とメソッドの命名法を紹介!適切な名前は仲間への思いやり!!

可読性に直結!変数とメソッドの命名方法!

プログラミングをしていて、変数とメソッドの名前をどうつけるか悩む方も多いのではないでしょうか。
プログラミングの入門書では「a」や「i」などのアルファベット1文字で名前を付けている場合をよく見かけます。

今回は、プログラミングで悩むことが多い変数とメソッドの命名方法について紹介します。
変数名とメソッド名を適切につけることができれば、コードの可読性も高まり、とても重要性が高いと思われます。

 

1.代表的な2つの変数とメソッドの命名方法!

まず、変数とメソッド名の命名方法にどんなものがあるかを紹介します。
代表的な記法としてはキャメル記法とスネーク記法があります。

キャメル記法

キャメル記法は各単語の先頭文字を大文字にする記法です。
キャメル記法とそうでないものを例に出して比較してみましょう。

例①:username
例②:userName
例③:UserName

例①はキャメル記法を使用せずに書いたものです。
例②③はキャメル記法を用いて命名した変数名です。

キャメル記法のなかでも、例②のように2単語目の先頭文字から大文字で表現する記法をローワーキャメルケース、例③のように1単語目の先頭文字から大文字で表現するアッパーキャメルケース(パスカルケースとも)と呼ばれています。

キャメル記法のメリットは単語と単語の間に区切り文字がないので、名前を短くしやすいことです。
デメリットは区切り文字がない分、単語と単語の区切りがわかりにくいことが挙げられます。

スネーク記法

次にスネーク記法を紹介します。
スネーク記法とは、単語と単語の間に"_" (アンダースコア)を挟む記法です。
こちらも例を見ながら紹介します。

例④:user_name
例④のようなスネーク記法のメリットは、アンダースコアで区切っているので単語と単語の区切りがわかりやすいことです。
デメリットは、アンダースコアなどの区切り文字が入るため、名前が長くなりやすいことです。

ここでは、代表的な記法であるキャメル記法とスネーク記法を紹介しました。
コードを書くときはどんな記法を採用してもよいですが、2つの記法を混ぜないように、ひとつの記法に統一することが重要です。

 

2.ネーミング辞書「codic」でネーミングが苦手な人でも安心!

ここまで命名方法や、適切な名前による可読性向上のメリットについて紹介しました。
しかし、適切な名前をつけることはむずかしいと感じている方も多いのではないでしょうか。
そんな方は「codic」というツールを使ってみてはいかがでしょうか。
https://codic.jp/engine

このサービスでは、変数やメソッドとして宣言したい日本語を入力すると、自動でその候補を表示してくれます。
単なる翻訳サイトというわけではなく、IDE(Integrated Development Environment、統合開発環境)への対応、キャメル記法やスネーク記法などの命名方法選択、個人辞書登録、チームへの辞書展開などさまざまな機能があります。
こういったツールのサービスを使いコードの品質を高めてもよいでしょう。

プログラムの開発はチームで行うことがほとんどです。
そのため、可読性が高いコードを書くことはとても重要です。
可読性が上がると保守性も高まります。

自分が作成したプログラムを自分以外の人が修正することになったときに、意味が推測しやすく、適切な名前の付いた可読性が高いコードであれば修正のしやすさも向上します。
可読性高いコードであるだけで開発時間短縮につながりますし、コードの再利用もしやすくなります。
つまり、コードの品質を上げることは仲間への思いやりにもなります。

S-Collection株式会社では要望に合わせた最適なシステム構築をすることで、企業様へ貢献し続けていきます。

意外と知らない??システムエンジニアのイメージと実態②

システムエンジニアの楽しいところ・いいところ

前回はシステムエンジニアのイメージ像とその実情について解説しました。労働環境はひと昔前とかなり違いますし、仕事の仕方はチームで行うためコミュニケーション能力が重要になります。システムエンジニアとしての働き方も幅広いですが、楽しいところや身につくスキルには共通点もあります。今回はシステムエンジニアのやりがいについて3つ紹介します。

1.論理的思考が身につく

システム開発には論理的思考が欠かせません。コンピュータが理解できるようにプログラミングすることはもちろん、ユーザーが実際にシステムを使ったときのことを考えて必要なものはなにか、予想外のでき事にはどう対応するのかを考えるため、論理的思考が身につきます。

2.自分の開発したプログラムが想定どおりに動いたときの喜び

新人のころに先輩に教えてもらいながら、はじめてプログラムが実行されたときはものすごくうれしいものです。プログラムは目に見えない部分があるので動かしてみてわかる部分があります。プログラミングの工程よりテストの工程が長いのも、考慮の漏れがないかを確かめるためです。

3.リリースをしたときの達成感

システム開発で山場となる部分はリリース前です。万が一も許されないので最終チェックには気を使いますし、納期との戦いでもあります。苦労はありますが、その分達成感がありますし、自分たちが作ったものが世の中で活躍するのは感動があります。
システムエンジニアの仕事はでたいへんなこともありますが、その分やりがいのある仕事でもあります。もちろん自分の健康も大切です。しっかり健康を保ちながら、自分の仕事に全力で取り組むことが理想と言えます。

 

前回と今回の2回にわたりシステムエンジニアの実態と良さについて紹介しました。時代ともに働き方は変わりますし、システムエンジニアが扱うものも変わっていきます。まだ世の中にないものを産みだすシステムエンジニアの魅力が伝われば幸いです。