サービス理念
SIサービス
SIサービスとは?
お客様(様々な企業や団体や個人)が達成したいことをソフトウェアを利用してお手伝いすることです。
達成したいことは問題解決であったり、新たなビジネスを始めることであったりと内容は多岐に渡ります。
ソフトウェアを作ることはゴールではありません。ソフトウェアを利用してお客様の目標達成を助けられて初めてゴールとなります。
難しさとやりがい
SIサービスとは一言で言えば、前述の通り「ソフトウェアを作りお客様の目標達成を手伝う」ということになりますが、実際に実施するのはとても難しく、様々な点を常に考えながらその都度最適な方法、行動をとって初めてゴールに到達することが出来ます。考えなければならないことは無数にありますが、代表的なものは以下のようなものになります。
-
-
理解力
- お客様は解決したい問題や実施しようとしていることのスペシャリストですが、私達はお客様の分野については理解が浅い段階でお客様とお話をし、お客様の問題を正しく理解してそれを解決する手段を探す必要があります。つまり、素早い理解力が必要となります。
-
コミュニケーション力
- お客様は当然ながら人間ですので、色々なタイプの人がいます。どのような人であってもうまく話をし、やりたいことを聞き出したりする必要があります。また、当然ながら初めは初対面から始まりますので、上手く壁を壊していく能力も必要となります。
-
開発手法に関するノウハウ
- はじめに作るべきソフトウェアの機能をドキュメントで定義してから作って欲しいというお客様もいれば、ドキュメントは作らなくてもいいから柔軟に作って欲しいというお客様もいます。お客様の要望を満たす最適な開発手法を選択することで目標達成に一歩近づくことになります。
開発手法にはウォーターフォール、アジャイル(スクラム)、XPといった体系だったものがありますが、得てしてその中間となることが多く、単にアジャイルのやり方を知っているだけではなく、実際に利用して自分のやり方として昇華させておくことで色々な場面に適用することが出来ます。
- はじめに作るべきソフトウェアの機能をドキュメントで定義してから作って欲しいというお客様もいれば、ドキュメントは作らなくてもいいから柔軟に作って欲しいというお客様もいます。お客様の要望を満たす最適な開発手法を選択することで目標達成に一歩近づくことになります。
-
ソフトウェアの設計
- 「○○が行えるソフトウェア」と言っても、
● とにかくスピードが速いものがいい
● デザインが綺麗なものがいい
● 大量のデータを扱えることが大切
● 3ヶ月で完成していなければならない
というように、重視すべきポイントが様々です。
重視すべきポイントを達成するために、
● 言語は何にするか
● サーバーはクラウドにするか、オンプレミスにするか
といった判断をしていく必要があり、多くの経験と知識を必要とします。
- 「○○が行えるソフトウェア」と言っても、
-
実装
- 最も基本的なパターンが動作するものを作るのはそれほど難しくありません。ですが、想定していないような状況になった場合もおかしな動きをしないように作るのは簡単ではありません。他には、
コンピューターの内部の動きを理解していないとスピードが遅くなってしまったりすることもあり、ここでも様々な知識が必要となります。
また、最近は一から全て作るということはあまり多くありません。数多くのライブラリやフレームワークの中から最適なものを選択し、組み合わせて使用していきます。ライブラリは機能が十分でなかったりスピードが遅かったりと千差万別です。適切なライブラリを選択するために常に最新情報をウォッチして実際に試してみることが重要です。
- 最も基本的なパターンが動作するものを作るのはそれほど難しくありません。ですが、想定していないような状況になった場合もおかしな動きをしないように作るのは簡単ではありません。他には、
コンピューターの内部の動きを理解していないとスピードが遅くなってしまったりすることもあり、ここでも様々な知識が必要となります。
-
チームビルディング
- 最ソフトウェアに関する知識は膨大にあり、1人で全ての知識を得ることは不可能です。ですが、良いソフトウェアを作るには様々な知識が必要となります。これを解決するには、それぞれの分野に精通している人を集めてチームを作りソフトウェアを作れば良いということになりますが、集まった人の能力をフルに発揮させることは簡単ではありません。
そのため、チームを率いるリーダーが必要となります。考え方、バックグラウンド、持っている知識などがバラバラな人を束ねることは簡単ではありませんが、ソフトウェアを作るには必須といっても過言でなく、メンバーが最大パフォーマンスを出せるような仕組みを作り、そして改善し続けることが大切です。
- 最ソフトウェアに関する知識は膨大にあり、1人で全ての知識を得ることは不可能です。ですが、良いソフトウェアを作るには様々な知識が必要となります。これを解決するには、それぞれの分野に精通している人を集めてチームを作りソフトウェアを作れば良いということになりますが、集まった人の能力をフルに発揮させることは簡単ではありません。
-
R&D
R&Dとは?
R&Dでは、自分たちが世の中に必要と思われるサービスを自分で考え、そして作ります。サービスの完成はスタート地点でしかなく、そのサービスが世の中に受け入れられて初めて成功と言えます。
難しさとやりがい
前述の通り、世の中にとって必要なものであろうという想定でサービスを作ったとしても、受け入れられるかどうかは分かりません。この点が非常に難しい部分です。ですが、当てずっぽうにサービスを考えて作るのではなく、どうすれば世の中に受け入れてもらえるかを戦略的に考えることで成功する確率を上げることが出来ます。
-
-
成功確率を上げるための戦略
- 成功確率を上げるための戦略はいくつもありますが「出来るだけ簡単で直接的な方法で効果があるかどうかを検証する」という方法をよく利用しています。
例えばとても便利なメールソフトを作ろうとしたとします。「便利」と感じてもらうには他のメールソフトにはない機能を作る必要があります。
普通に考えれば「機能を持ったメールソフトを作る」→「使ってもらって便利かどうか確認する」という流れになりますが、もし便利だと感じてもらえなかった場合は、メールソフトを作るのにかかった時間とお金は無駄になってしまいます。これを回避するために「先に検証する」という方法を取ります。
具体的には「便利と思われる機能を手書きの絵やパラパラ漫画で表現して、便利そうかどうか先に確認してもらう」ということを行います。
メールソフトを作るのはそれほど簡単ではありませんが、絵やパラパラ漫画であればそれほど時間を掛けずに作ることが出来ます。
その結果「便利そう」ということであれば、実際にメールソフトを作りますし「便利そうでない」のであれば、絵を多少手直しして再度確認するか、どうしても便利に感じられないのであれば「便利なメールソフト」は諦めて別のものを考え始めることができます。
- 成功確率を上げるための戦略はいくつもありますが「出来るだけ簡単で直接的な方法で効果があるかどうかを検証する」という方法をよく利用しています。
-
-
-
UI(User Interface)・UX(User experience)デザイン
- 昨今ではスマートフォンやタブレットなど様々なデバイスが登場しており、ユーザーの年齢や性別を気にするだけでなく「使用環境」まで考慮しなくてはなりません。
これと同じく「フラットデザイン」が主流となり、数年前は人気だったスキューモーフィック(Skeuomorphic)デザインは敬遠されるものとなりました。
このように常に「愛されるデザイン」というのは日々変化していきます。少しでも長く愛され続けるデザインをユーザーに提供するには時代のニーズに敏感になることも大切です。
ターゲットの年齢や性別を考える際は視認性・操作性を意識し、且つ一貫性を持たせるようレイアウト・タイポグラフィ・カラー・アイコン・メタファーなどUIをデザインしていきます。
また、会社や自宅、移動中などといった使用環境を考える際には様々なデバイスへの対応が必要になってきますので、それぞれに合った操作性を行動にあてはめ、UXデザインを構築していくことが非常に重要です。
- 昨今ではスマートフォンやタブレットなど様々なデバイスが登場しており、ユーザーの年齢や性別を気にするだけでなく「使用環境」まで考慮しなくてはなりません。
-
- 制作実績
SIサービスとR&Dの関係性
弊社ではSIサービスとR&Dを同時に実行しています。同時に実行するには理由があります。それは相乗効果が生まれるためです。
それぞれの特徴
- SIサービスは常にお客様が変わるため、様々な人と様々な業界についてのサービス構築に携わることが出来、様々な知識やスキルが得られやすいという側面があります。そして、お客様からお金をいただいてご協力する以上確実に成果を出す必要があり、様々な手段を選択する際に「確実さ」が重要なファクターになります。結果として、新しい技術を取り入れられる確率はあまり高くありません。
- R&Dは どのようなサービスになりどのような結果となったとしても最終責任を自分たちで負うため、比較的自由に様々なものを選択することが出来、新しい技術を採用したりアイデアを実践することが容易です。
相乗効果
-
-
SIサービス → R&D
- SIサービスで得たその分野の専門的な知識を元にして独自のサービスを考え、R&Dでそれを実践することが出来る。
-
R&D → SIサービス
- R&Dで導入した新しい技術や仕組み(進め方)をSIサービスでも使用することで作業効率やソフトウェアの品質向上につなげることが出来る。
-