DevOpsとは?概要や重要性、アジャイル開発との違いを解説
技術進歩がめまぐるしい近年、消費者のニーズも変化しており、企業はシステムをより迅速に開発・運用していくことが必要です。そんな中、開発手法の1つであるDevOpsが注目されています。そこでこの記事ではDevOpsの概要、重要性、メリット、アジャイル開発との違い、導入方法と手法について解説します。
DevOps(デブオプス)とは?
DevOps とは、Development=開発と、Operations=運用を合わせた造語で、開発と運用の各チームが連携して協力しながら、ソフトウェア開発をスピーディーに柔軟性をもって行う手法です。この手法を採用することで、企業はより良いサービスを顧客に提供できるようになり、市場競争力をより高めることが期待できます。
DevOpsが生まれた背景
DevOpsが登場した背景には、現場でのチーム間の対立があります。ソフトウェア開発の現場では、開発と運用の各チームに分かれて作業を行うことが一般的です。
開発チームの主な役割は、ユーザーの需要に対応し、ソフトウェアの機能に新しい機能を追加することです。これに対して運用チームは、現在稼働中のシステムを安定的に維持し、サービスの保守をする役割を担っています。つまり、いかに安定した運用にするかが運用チームの役割となります。
このように、開発チームと運用チームでは役割が大きく異なっており、これが意見の対立を生んでいると考えられています。
DevOpsの具体例
開発チームが新バージョンのソフトウェアなどのインストールを希望しても、運用チームから許可されないというケースが少なくありません。セキュリティ面や運用ポリシーが理由です。開発チームは、こうした運用チームの判断は新機能開発を妨げるものと捉えてしまうでしょう。しかし運用チームの立場からすると、開発チームの要求は、セキュリティやサポートなどの運用側の事情を考えずに、自分たちの都合を押し通そうとしているように見えるのです。こうした双方の意見の食い違いが積み重なっていくことで、チーム間の溝が深まり、いわゆる「サイロ化」が発生します。サイロ化を放置しておくと、連携が取れず、開発が進まなくなるなどのデメリットが生じます。
DevOpsが注目されている理由
開発チームも運用チームも、ユーザーに価値のあるサービスを提供するという目的は同じですが、実際に対立しているケースは珍しくありません。変化が急速に進んでいるような現代のビジネスシーンに対応するためには、より迅速な開発が求められています。だからこそ、内部的な対立などはあってはならないはずです。そこでチーム間の対立を解消し、協力し合いながら円滑に開発を進めるDevOpsが注目されています。
デジタル化が急速に進む現代、顧客が求める価値も短期間で変化していきます。そのため、提供する価値もその変化に対応したものでなければなりません。そこで求められるのは俊敏さです。顧客のニーズに合った価値を、市場へタイムリーに投入できる組織づくりが重要になります。しかし、日本には、開発や運用など機能ごとに編成された縦割り構造の組織となっている企業が多数存在します。このような体制では、各部門の考え方も異なるため、部門間をまたぐ開発プロセスが難しいことが問題となっていました。そこで、DevOpsを導入することで、開発プロセスだけでなく、組織文化そのものに変革を起こすことが重要視されているのです。
DevOpsとアジャイル開発の違いは?
暗号通貨(仮想通貨)を作る方法
DevOpsを検討するときに、アジャイル開発と混同しているケースが見受けられます。アジャイル開発は、システムやソフトウェア開発の手法で、プロジェクトを機能単位で分割し、短いスパンで計画・開発・リリースを頻繁に行います。従来のウォーターフォール開発よりもスピーディーに開発できる手法として重宝されています。また、その特性上、機能追加や変更にも対処しやすいことも特徴です。
DevOpsは、先述したとおり、開発と運用が協力して開発を進めることにフォーカスした考え方です。具体的なツールまたはワークフローを表す言葉だけでなく、企業文化や考え方といった幅広い概念も含みます。
では、どこに違いがあるのかというと、アジャイル開発とは、開発手法の名称です。対して、DevOpsは開発を実現するために必要な組織の協力体制についての概念といえます。
このように両者には決定的な違いがありますが、まったく無関係というわけではありません。アジャイル開発を実現するためには、必然的にDevOpsの組織体制的な考え方やアプローチが必要だからです。すなわち、効率的に開発を行うためには、DevOpsの考え方で開発と運用が連携をとりながら、開発手法はアジャイルで効率的に進めることが、ベストなエンジニアリング環境といえます。
DevOpsが構成するライフサイクル
システム開発には、ライフサイクル(SDLC)があります。ライフサイクルとは、企画から実装、運用されるまでの一連のサイクルのことです。DevOpsのライフサイクルは、プラン、コード、ビルド、テスト、デプロイ、オペレート、モニターの7つのフェーズに分かれています。開発者視点で重要なフェーズは、ビルド、テスト、デプロイです。
- プラン(企画): 開発の要件を定義する
- コード(設計): プログラマーがコードを記述する
- ビルド(作成): ソースコードからアプリケーションを作成する
- テスト(検証): 不具合がないかテストを行う
- デプロイ(配備): アプリケーションを運用環境にリリースする
- オペレート(運用): サービスの保守管理を行う
- モニター(監視): 誤作動などが発生していないかを確認する
以上のステップを継続的に回していくことで、DevOpsを実践することができます。
DevOpsのメリット・利点
DevOpsを導入する主なメリット・利点として、以下の3つが挙げられます。
- スムーズな開発の実現
- 生産性の向上
- リリースの高速化
それぞれについて解説します。
スムーズな開発を実現できる
DevOpsは、開発チームと運用チーム間で生じがちな対立を解消することが目的です。DevOpsを導入することで、2つのチームが連携して共同で作業を行い、責任を共有します。両チームのワークフローを組み合わせることで、効率性を高め、開発と運用間での引き渡しの時間も短縮することが可能です。従来起こりやすかった内部間での対立をなくすことで、開発をスムーズに進められます。
生産性の向上が期待できる
DevOpsを実践するには、ライフサイクルの各フェーズで、さまざまな支援ツールが必要です。代表的なツールとして、バージョン管理システムとCI/CDツールが挙げられます。バージョン管理システムは、特定のファイルやフォルダの内容の変更履歴を記録し、ファイルやフォルダの状態を管理するシステムです。CI/CDツールは、ビルドやテストなどの手作業を自動化するツールです。これらのツールを活用することで、生産性を高めることが期待できます。
スピーディーなリリースができる
さまざまなツールを活用することは、生産性の向上だけでなく、作業の高速化というメリットにもつながり、スピーディーなリリースを実現できます。
ここでの高速化とは、わかりやすく言い換えると、先述したライフサイクルの回数を増やすことを意味します。つまり、ライフサイクルの回数がこれまでよりも増えていくことで、リリースの頻度とペースが増えれば、製品の改善などもより迅速化することが可能です。すばやく新機能をリリースしたり、バグの修正を行ったりすることができ、顧客のニーズにスムーズに応えることができるため、競争優位性を高められます。
高い品質で信頼性がある
DevOpsは、ビルド、テスト、リリースといった手動で行っていた工程を、ツールを活用し自動化します。テスト工程も自動化の対象のため、不具合を発見しやすいことが利点です。不具合の発見に加えて、品質チェック機能が働くことで、不具合を起こさせない仕組みにも有効です。このように自動化により人的ミスが防止され、品質が保証されます。品質の高さが保証されれば、信頼性があり、運用チームでも受け入れやすくなります。
拡張性が高い
DevOpsでは、バージョン管理や、ソフトウェア開発の手法である継続的インテグレーション(※後で説明)などを使って、サーバ、回線などのインフラストラクチャ(インフラ)を管理します。わかりやすく言い換えると、アプリケーションコードと同様な方法でインフラを扱うのです。コードで定義されることにより、標準化されたパターンでリリースされ、最新のバージョンで更新され、複製されます。このようなコードとしてインフラを管理する手法を、Infrastructure as Code(IaC)と言います。
これにより、インフラと開発プロセスをまとめて運用・管理でき、システム全体の管理をより効率良く行うことが可能です。
セキュリティレベルが高い
従来のソフトウェア開発では、テストの際にセキュリティテストを行うことが一般的でした。しかし、改修・リリースを繰り返すDevOpsの場合、セキュリティテストを毎回実施していると工数がかかりすぎます。そこで取り入れられたのがセキュリティテストの自動化です。セキュリティテストを自動化されたプロセスの中に組み込むことで、迅速な開発が可能になります。DevSecOps(デブセックオプス)は、まさにこうした取り組みです。DevSecOpsは、DevOpsにSecurity(セキュリティ)を融合させ、安全性の高い開発を目指しています。
DevOpsの導入方法
DevOpsの導入には、KPIの把握、チームの結成、クラウドサービスの導入が不可欠です。それぞれについて解説します。
DevOpsのKPIを把握する
DevOpsの導入に際し、KPI(重要業績指標)を把握できていることが重要です。KPIをすべての関係者で共有することで、DevOpsの取り組みを全員で監視し、各段階で成果を確認できます。
DevOpsのKPIは、主に以下のとおりです。
- 頻度……小さな導入を頻繁に行う。
- 導入失敗の頻度……低減を目標とする。
- リリース機能数……必ず四半期でというわけではありませんが、一般的には四半期単位で考える場合が多いようです。
- 平均検出時間(MTTD)……何か問題が起きたことに気づくまでにかかる平均時間を表す。
- 平均復旧時間(MTTR)……問題が発生してから、解決されるまでの平均時間を表す。
- 平均リードタイム(MLT)……コードが実装されるまでの平均時間を表す。
- 稼働時間……ダウンタイムと想定外のダウンタイムを測定することで稼働能力を追跡する。
- 不具合の見逃し率……実際の不具合数とQAチームが把握している不具合数を比較する。
- アプリケーションパフォーマンス……変更前と変更後でパフォーマンスを比較する。
KPIの達成状況を観測することにより、パフォーマンスを把握できます。目標値からズレがある場合には、開発サイクルを改善することが必要です。
DevOpsの導入に最適なチームを結成する
KPIが明確になり、進捗の評価方法が決定したら、DevOpsを始められますが、まずはDevOps モデルを利用する組織には、全体の開発とライフサイクルについて責任を持つことができるチームが必要です。DevOpsの本質は、開発担当、運用担当、テスター、セキュリティアナリスト間の連携を最適化することにあります。
DevOps では、先述したとおり、開発と運用が共同で作業することで、生産性と運用の信頼性を高めていくことが目標です。これらのチームには、品質管理やセキュリティ部門が統合される場合があります。さらに、マーケティング部門や営業部門とも協調していくことで、組織全体としての連携を強化することが可能です。
最適なチームをつくり、DevOps戦略を進めることで、組織として、ソフトウェア開発をより迅速に構築でき、ソフトウェアの継続的な改善も期待できるでしょう。そのためには、関係者全員に対して教育を行い、それぞれがやるべきことを明確にし、責任を共有する必要があります。
クラウドサービスを導入する
DevOpsを成功させるためには、クラウドサービスの活用が不可欠です。特にクラウドを利用すると、DevOpsチームがグローバルに分散していても、コラボレーションが可能です。クラウドの導入により、スピード、規模はもちろんのこと、効率性や俊敏性がもたらされ、業務のスピードと質の向上が期待できます。
DevOpsはあくまで考え方ですので、実践する環境は問われませんが、DevOpsの基盤としては、自社内でのみ使用するオンプレミスよりも、クラウドが向いています。DevOpsが生まれた背景には、変化しやすいニーズにあわせ、サービスも柔軟かつ迅速に投入したいという考えがありました。その点に関して、オンプレミスでは、インフラの調達や構築に時間がかかることに加え、構築したインフラを変更しにくいという問題があります。DevOpsを実現するには、オンプレミスではこの点がネックとなるのです。そのため、現在では、DevOpsに必要なインフラを実現するためにクラウドの導入が必要なのです。
オンプレミスのシステム自体をクラウドに移設するだけでも、さまざまなメリットが受けられます。ただし最大限にクラウドのメリットを活かすのであれば、最初からクラウドならではの機能を活用したシステムを設計すると良いでしょう。
DevOpsの手法:ベストプラクティス
ベストプラクティスとは、特定の工程における現時点でのベストな方法を指します。DevOps の主なベストプラクティスは、以下の6手法です。
- 継続的インテグレーション
- 継続的デリバリー
- コミュニケーションと共同作業
- ロギングとモニタリング
- Infrastructure as Code
- マイクロサービス
①継続的インテグレーション
継続的インテグレーションは、英語では”Continuous Integration”と言い、略語が”CI”です。CIでは、開発者が書いたコードをソフトウェアが登録される中央の保管場所(セントラルリポジトリ)に併合(マージ)します。そこで自動的にビルドされ、テストと検証が行われ、問題が検出されたら、フィードバックを送り、開発者に必要な変更に取り組んでもらえるという仕組みです。継続的インテグレーションによって、早期にバグを発見して対処できるため、ソフトウェアの品質を向上させ、リリースにかかる時間を短縮できます。
②継続的デリバリー
継続的デリバリー (CI/CD)は、ソフトウェアの構築、テスト、リリースなどのライフサイクルをより迅速にかつ頻繁に実施することを目的とした手法です。コード変更が発生すると、構築、テスト、リリース準備が自動的に実行されます。継続的インテグレーション手法を拡張したものであり、新しいコードのテストと、ステージング(本番環境で実装する)が自動で行われ、導入できる状態となります。
継続的デリバリーを実装することで、開発チームにおいてはリリースの準備が自動化されるため、効率が上がることがメリットです。また、顧客に更新を迅速に配信できたり、バグを早期に発見できたり、など多くのメリットが得られます。
③コミュニケーション・共同作業
開発、運用、セキュリティの各部門は、コミュニケーションや共同作業での溝の深さから作業が上手く進められないケースがあります。
しかし、DevOpsでは、各チームが共同で作業することが必要なため、コミュニケーションが重要です。チームの連携がとれていて、共同作業を順調に進めることで、開発者や営業などとの迅速なコミュニケーションも期待できるでしょう。また、組織としての目標が決まり、開発を効率よく進められる可能性があります。
DevOpsツール(※詳細は後述します)を使用すると、開発と運用のワークフローと責任を一緒に担うため、共同作業が定着します。さらに、チャットアプリやプロジェクトの追跡システムなどにより、情報共有やコミュニケーションを促進することが可能です。
④ロギングとモニタリング
組織は、メトリクス(定量化したデータを加工した指標)とログ(記録されたデータ)をモニタリングすることで、アプリケーションとインフラのパフォーマンスがどのようにエンドユーザーエクスペリエンス(ユーザーが商品やサービスを利用して受けた体験)に影響を与えているかを理解できます。つまり、データとログを取り込み、分類し、分析することで、システムの変更や更新がユーザーに与える影響を理解できるということです。
24 時間年中無休のサービスが求められるに伴い、アプリケーションとインフラの更新頻度も増していくため、アクティブなモニタリングはより一層重要になっています。そのため、積極的にモニタリングするためには、アラートを作成してリアルタイムで分析することも役立ちます。このように、モニタリングは、システムと作業の分析情報を提供するための重要な機能です。適切なモニタリングでフィードバックが迅速に得られるため、開発のライフサイクルでの問題を早めに見つけて修正することができます。
⑤IaC(Infrastructure as Code)
DevOps の主要なプラクティスの1つであるIaCは、継続的デリバリーの構成要素で、システムインフラを構築する際にコードを使用して行うことです。この IaC を使用し、プラクティスやツールとの連携により、アプリケーションとインフラを迅速かつ確実に提供できます。
コードで記載して実行することで、インストールや各種設定を自動的に行うことが可能です。システムが複雑であればあるほど、ソフトウェアや設定項目が増えていきますが、これを手動で行うと、不具合が発生したり、再構築できなかったりなどの問題が生じる可能性があります。
環境構築作業を自動化できる一方で、適切にバージョン管理することも大切です。バージョン管理の対象となるものは、インフラを構築するコードおよびインフラ上で機能するアプリケーションです。バージョンはIaCで管理されているため、環境一式を容易に再現することができます。インフラのバージョンを上げることで、アプリケーションが動作しないといった事態にも対応可能です。
⑥マイクロサービス
マイクロサービスは、「マイクロサービスアーキテクチャ」とも呼ばれている、ソフトウェア開発アプローチの1つです。マイクロサービスは、アプリケーションを一体化したプログラムとしてではなく、疎結合された機能単位で構成されています。疎結合とは、構成要素間の結びつきなどが弱く、各々の独立性が高い状態のことです。そのため、規模が大きく複雑なアプリケーションの開発からリリースまでのスピードの向上が期待できます。
金融系のシステムを例に挙げると、たとえば「残高照会」のような機能を1つだけ更新する場合でも、全体のシステムへの影響を考え、テスト、リリースすることが必要でした。しかし、マイクロサービスでは、各サービスのコードベースが小さく、かつ独立しているため、短期間でリリースでき、変更要求にも迅速に対応できます。
DevOpsツールとは
DevOpsツールとは、DevOpsの実践を支援するもので、コード開発、テスト、インフラ管理を実施します。ツールを利用することで、手動タスクの自動化とDevOpsによる高速性の制御が実現できます。
AWS (Amazon Web Services)では、DevOps向けに設計された、AWSクラウドで利用可能なサービスを提供しており、先述したようなDevOpsの手法を利用するのに役立っています。
DevOpsツールは、統合、開発、テスト、導入、監視のプロセスにおいて、従来は時間がかかった手作業や定型のタスクを自動化することが可能です。DevOpsの導入をサポートするツールは数多くあり、ソース管理、構成とリリース管理、監視など、さまざまなツールが存在します。
DevOpsの導入が難しい理由
DevOpsへの関心は高いものの、DevOpsを活用している企業はまだ多くはありません。
DevOps導入を阻む理由がいくつかあります。
まず、DevOpsの導入を始めた組織でも、DevOpsへの理解度が部署、個人ごとに違っていたり、考え方や手法を全体に広めるのが困難と感じたりする場合が多いようです。
つぎに、サービスの品質保持も難易度が高いとしています。その理由が開発スピードです。DevOpsは短期間で迅速に開発を進めることが特徴ですが、これを実現することで、従来のようなリリースごとの設計、大規模なテストが難しくなります。また、リリース時に毎回セキュリティ診断を行うのは手間がかかることや、頻繁に改修を行うため、スケジュールが流動的で把握しにくいことも課題とされています。
DevOpsの導入はメリットが多いものの、実際に導入するとなると、難しい面があるでしょう。そこで、開発を外部に委託することも選択肢として検討してみてはいかがでしょうか。
ハイブリッドテクノロジーズでは、経験豊富なエンジニアが500名以上在籍しており、高品質なシステム開発を迅速に行うことができます。さまざまな開発手法に対応しておりますので、システム開発の手法で悩まれているのであれば、ぜひ一度お気軽にご相談ください。
ハイブリッドテクノロジーズの提供サービス
ハイブリッドテクノロジーズでは、ビジネスデザイン、UIUXデザイン、設計、実装、テスト、リリース、運用、保守まで一気通貫してサービスを提供しております。500名以上の経験豊富なエンジニアにより、迅速かつ高品質なシステム開発が可能です。 アジャイル開発、ウォーターウォール開発、ハイブリッド開発と言った様々な開発手法に対応しており、契約形態に関しましてもラボ型契約と受託型契約の2つから選択いただけます。お客様の状況や開発内容に応じて、開発手法と契約形態を柔軟にご指定いただけますが、それぞれの開発手法、契約形態の特徴の親和性から、アジャイル開発ではラボ型契約が、ウォーターウォール開発とハイブリッド開発では受託型契約を選択されるクライアント様が多数を占めます。
ラボ型開発について: ラボ型開発 サービス
受託型開発について: 受託開発 サービス
ハイブリッドテクノロジーズが選ばれる理由
弊社ではクライアント企業様及びエンドユーザー様の声を聞き、UIUXを意識したビジネスデザインを行なっております。 テーマを決めて分析し、仮説を立ててビジネスデザインを行い、プロトタイピング、検証、フィードバックを受け、再度分析から始める。 この一連の流れを、アジャイルスクラム開発に精通した500名以上のエンジニアが高速で回していくことにより、最速でより良いものを実現していきます。 ハイブリッドテクノロジーズには市場の声を現実にするための仕組みとメンバーが揃っています。
システム開発の成功事例
システム開発での成功事例をご紹介します。
見守りサービス (株式会社otta)
サービス内容
位置情報履歴を、無料スマホアプリやメールを通じて保護者様に伝えるサービス
サービス上の課題/目指したいサービス
課題
共働き世帯や高齢者の増加など、社会構造の変化により、子どもや高齢者の見守りへのニーズが急速に高まっている。一方で、見守る方々の高齢化や地域コミュニティの変化により担い手は減少方向にあり、この需給ギャップを埋めるには、見守りの仕組みの生産性を大幅に向上させなければならない。
目指したいサービス
IoTを活用した見守りサービスのパイオニア企業として、見守り活動の生産性の飛躍的な向上に貢献するとともに、従来のサービスでは困難であった、多くの方々にご利用いただける料金体系を目指すこと。
クライアントの課題/要望
・追加開発体制のリソースが不足している
・既存ベンダーの開発チームと組み合わせながら、チームを構築したい
・事業状況に応じて柔軟にリソースを調整したい
当社を選択していただいた理由
キャピタル案件であり、HTからの投資次第で開発も頼みたいという理由から
当社ご提案内容
業界ラボ型(ストック)開発+保守にて提案
toB向け見守り管理システム開発
・今後の基盤変更も意識しながら登園バス管理システムの管理画面を作成し、サービス展開をしていきたい
・今後の開発体制構築も視野に入れつつまずはスモールに体制を構築しつつ今後の足掛かりとしたい
リソース活用し柔軟に対応できることと、javaを中心に進めていたが、よりモダンな言語を基盤に開発を進めたいという要望に対し、得意分野であった。
学習履歴データの可視化システム(放送大学学園)
サービス内容
学習履歴データ可視化システムの開発
サービス上の課題/目指したいサービス
課題
オンライン授業システムのデータベースには多量の学習履歴データが蓄積されており、このデータを学内の担当者が活用できるよう整備し、学生指導のためのヒントとして、あるいは学生に受講を促すための情報源として活用したいという意向があった。
目指したいサービス
・学外に開示する「サービス」ではなく、学内担当者用の「ツール」であること
・コマンドラインで操作可能なツールであること
・追加機能の実装をできるようにすること
クライアントの課題/要望
・社内で開発体制を保持していないこと
・金額をミニマムに抑えながら安定的な運用を実現したい
当社を選択していただいた理由
充分に仕様を満たす提案内容と他社と比較して最も安価な金額で入札提示したため。
当社ご提案内容
学習履歴データベースとBIツールの開発
オンライン授業システムのデータベースに蓄積された学習履歴データを活用するにあたって、実運用されているDBの処理とバッティングしないように、MongoDBに格納する処理にて開発を進めました。またMongoDBにデータを格納する際、他データとの連携も考慮し、汎用的なExperienceAPIに準拠したデータ形式を採用しました。
個人情報の扱いにおいては、開発人員含め、学生の個人情報の漏洩を防ぐため、学生の識別子を匿名化しての実装を実施しました。
DocIT (株式会社ドキットメディカルサービス)
サービス内容
働き口を探す医療従事者と、働き手を求める病院をつなぐマッチングプラットフォーム
サービス上の課題/目指したいサービス
課題
高額な紹介料がネックとなりスポットで人が必要な際に苦心をする病院の課題解決
目指したいサービス
休日や長期出張の空き時間を有効活用したい医師と、長期連休などで一時的に人手が必要となる病院をマッチングすることで医師の働き方の多様化を実現するサービス
クライアントの課題/要望
・サービス構想はあるが、実現させる開発パートナーが必要
・上流工程からの開発サポートが必要
当社を選択していただいた理由
開発にあたってサービス設計から本開発まで、一緒に伴走し考えながら開発してくれるパートナーとして安心感を感じて頂き、当社を選ばれました。
当社ご提案内容
ラボ型(ストック)開発にて提案
1.医療求人の性質を鑑みた機能提案、システム設計・開発
本サービスでは失敗の許されない医療系求人を取り扱うため、求人マッチングをする前に信頼のできる医師・病院であることを確認できることが重要となります。 そこで、実際に求人マッチングした医師・病院による相互レビュー機能を実装することで、信憑性の高いレビュー情報を蓄積することを提案・実現しました。 また、求人マッチング前に病院担当者と直接チャット出来る機能も実装することでレビューでは分からない定性的な情報確認も可能としました。 アジャイルスクラム手法の開発を取り入れることにより、システム開発の進捗報告を実際に動くシステム画面をお見せしながらデモンストレーション形式で毎週行いました。
2.定期的なスプリントを繰り返し、顧客と一緒に品質を高めるプロセスにて進行
実際に動くシステムを毎週見ていただくことで、開発進捗についての安心感やお客様も気がついていなかった新たな改善点がを発見でき、それを修正して再度デモンストレーションを行いました。この一連の流れを回すことで、お客様の求めるものを高い品質でご提供しました。
3.デザインを用いた視覚的なアウトプットで、具体的なシステムイメージを共有
Webサービス開発に初めて挑戦するお客様のため、お客様が思い描くビジネスを実現するためのシステムイメージを具体化していくデザインサポートも担当。求人情報サービスという特性上、さまざまな情報要素が混在する中で、目に見える形でデザインを整理・提案し、お客様からのフィードバックを受け、再提案を繰り返すことで、よりユーザーにとっての最適なWebサービスのための設計・提案・実現を行いました。
THINK, Reviewers (株式会社スパイス ボックス)
サービス内容
独自の「ソーシャルリスニング」手法をもって、企業と生活者の 間に生きたコミュニケーションを構築するサービス
サービス上の課題/目指したいサービス
課題
インフルエンサーの評価指標としてフォロワー数とエンゲージメント数が重要視されているケースが多いが、商品販売施策においては保存数が重視される。保存数を把握した上でインフルエンサーと企業のマッチングを行うプラットフォームが存在していなかったため、新たなサービスとしてスピード感を持ってサービス開発を行いたい。
目指したいサービス
・サービス名「THINK」:Twitter調査における既存システムの安定的かつ継続的な運用を維持しつつ、インフラコストを削減すること。
・サービス名「Reviewers」:インフルエンサーマーケティングで投稿保存数という指標を重要視するインフルエンサーマッチングプラットフォームの新規立ち上げをすること。
クライアントの課題/要望
・開発が発生した際に、都度RubyonRailsの対応人員を増やすのが難しい
・インフラ周りに強いメンバーがいない
・金額をミニマムに抑えながら安定的な運用を実現したい
・追加開発が発生した場合には、知見を維持した状態で取り組める体制がほしい
当社を選択していただいた理由
・開発リソースの柔軟性とインフラなど対応範囲の幅広さが先方ニーズにマッチしていたこと
・定常運用の際にもコストを抑えて対応できること
当社ご提案内容
受託型開発(フロー)にて提案
インフラ知見を持つディレクション人材をアサインメントすることで、インフラ周りの調整や業務対応にスピード感を持って対応できる体制を構築
インフラ/保守/開発を幅広く対応可能、かつ、コストミニマイズなオフショア体制をご提案しました。
ディレクション人材がインフラの知見を持ち、定常作業はベトナム側で行えるようにマニュアル化を行い、コストミニマイズしながらも幅広い知見を活かせる体制提案を行いました。
新規の開発が発生した際に、既存チームの知見を活かしながら適宜開発者を追加して、素早く開発を実行できる体制を実現しました。
その他システム開発事例
ハイブリッドテクノロジーズでは、その他にもモバイルアプリや業務用アプリケーションまで、多種多様な290社以上の制作実績がございます。
システム開発をご検討の方はぜひ一度お問い合わせください。
まとめ
システム開発の現場では、開発担当と運用担当間での対立が問題となっていました。そこで
両チームが連携しながら、スピーディーな開発を実現する手法として、DevOpsが生まれたのです。DevOpsは、プランから運用・監視まで7つのフェーズで進めていきます。チーム間での対立が解消され、スムーズな開発が期待できることや、品質、拡張性、セキュリティ面での高さがメリットです。
そのようなDevOpsに関心はあっても、実際に有効活用している企業はまだそれほど多くはなく、導入している企業でも何らかの課題を抱えています。自社で問題が解決できない場合は、専門の開発会社に委託することを検討してみるのも良いでしょう。