Ruby開発支援サービス

RUBY RUBY ON RAILS DEVELOPMENT

Rubyでの開発

バレアルでは、柔軟で生産性の高い言語であるRubyとウェブ用フレームワークであるRuby on Railsを全面採用しています。
また上流からプログラムの書けるエンジニアが参加することで、効率的な開発を行っています。

効率的で素早いウェブシステム開発の委託先をお探しであれば、バレアルへお任せください。
Varealの技術者はほぼ全員がRubyistです。

Rubyでの開発

Rubyについて

Rubyとは

Rubyは、1993年にまつもとゆきひろ氏によってオープンソースとして開発されたオブジェクト指向のプログラミング言語です。 WEBアプリケーションを素早く、美しく開発できる言語として世界中のエンジニアに愛用されています。 Rubyの特徴としては、簡単に使えるスクリプト言語でありながら、本格的なオブジェクト指向プログラミングをサポートしていることが挙げられます。そのため、初学者には優しく上級者にもかゆいところに手の届く柔軟かつ効率的な文法と豊富なライブラリにより、効率的なプログラミングができます。 大きなシステムの開発では、プログラムを層に分け、役割ごとに構造化して開発していくことが重要となり、Rubyにはそのためのツールが揃っています。 また、過去に開発された言語の良い部分をバランス良く取り入れていることも特徴です。 文字処理、ネットワーク機能が簡単に実現できるため、後述のRuby on Railsフレームワークを使用したウェブサイトの開発やその他様々なサーバサイド用アプリケーション用の言語として多く活用されています。

Ruby
Ruby on Rails

Ruby on Railsとは

Ruby on Railsは、 Rubyで記述されたウェブシステム構築のための枠組み(フレームワーク)です。 2004年12月バージョン1.0がリリースされ、その後のWebアプリケーションフレームワークのあり方に大きな影響をもたらしました。

Ruby on Railsの特徴
  • フルスタックであること
  • 同じことを繰り返さない(Don’t Repeat Yourself : DRY)
  • 設定よりも規約を重視(Convention over Configuration : CoC)
RailsはWEBアプリケーションに必要なライブラリ、ツールそしてサーバまでを1つのパッケージにしたフルスタックのフレームワークです。 複数のコマンドとソースコード、そして開発指針からなっており、Ruby on RailsがRubyでのウェブシステム開発におけるデファクトスタンダードとなってからRubyでのウェブシステム開発が世界中で急速に広がりを見せています。

Ruby on Railsだからできること

開発スピードが速い

開発スピードが速い

新規に書くコードは最小化、
素早い開発が可能。

VarealならここがPlus!

長年の経験・ノウハウから適したライブラリやバージョン互換性に対応したカスタマイズでより高速な開発が実現します。

追加開発・仕様変更に強い

追加開発・仕様変更に強い

システム公開後の追加開発や仕様変更が発生した場合にも効率的で簡単に対応が可能

VarealならここがPlus!

経験豊富なエンジニアが、初期の要件定義に際しヒアリングの段階で将来追加や変更が起こりうる部分を見越した設計を行いますのでさらに安心です。

更新されるライブラリで柔軟な変化が可能

更新されるライブラリで柔軟な変化が可能

世界中で更新されるライブラリを使用する事でご要望に合わせて柔軟な開発がご提案可能。

VarealならここがPlus!

常に最新のバージョンやライブラリ・Gemなどを把握しており、様々な案件の経験から最も適した手段を選びご要望に柔軟に対応します。

Vareal Ruby on Rails development style

Ruby on Railsでの開発スタイル

アジャイル型開発を採用

バレアルでは、Ruby on Railsでのアジャイル型開発を標準開発スタイルとして採用しています。
アジャイル型での開発は、ウォーターフォール型と比較して以下のような特徴があり、「できあがったシステムが想定と大幅に異なる」という状況を未然に防ぐことができます。

素早く「動く」システムを開発できる

素早く「動く」システムを開発できる

実際に操作可能な「動く」システムを素早く開発ができ、ご確認が早い段階で可能なため、ご要望に沿って無駄なく開発を進めることができます。

要件の変更に対し柔軟性に対応できる

要件の変更に対し柔軟性に対応できる

単体テストを自動化スクリプトによって行う文化のあるRubyでは、要件の変更に強いアプリケーションの開発が可能です。

少人数でも大規模な開発が可能
柔軟な変化が可能

少人数でも大規模な開発が可能
柔軟な変化が可能

一人ひとりの生産性が高いRuby on Railsでの開発であれば、少人数の優秀なエンジニアたちにより大規模な開発が可能です。

開発が少ないドキュメントで済む

開発が少ないドキュメントで済む

Rubyはソースコードの可読性が高い上に少ない行数で多くのことを実現でき、またRuby on Railsでは「Rails way」といわれる定石に従い開発するためシステム設計の基盤については多く記述する必要がないため、比較的少ないドキュメントの作成量で済みます。

新技術をすぐに導入することができ、
常に最新にアップデート可能

新技術をすぐに導入することができ、
常に最新にアップデート可能

Ruby on RailsはとてもメジャーなWeb開発フレームワークであるため、様々な新技術に対応する関連ライブラリが豊富に作成され、開発も活発であり、新技術をすぐに試すことができます。

ベースが既にできたフレームワークな
ので実装に集中できる

ベースが既にできたフレームワーク
なので実装に集中できる

重要なセキュリティ対策やDBへの抽象化されたアクセス方法の提供など、本来であれば開発の難しいアプリケーション基盤の部分を優れたフレームワークが実現してくれているため、開発者はアプリケーションにとって本質的に重要な部分の開発に集中でき、開発効率を高めることができます。

Vareal Development Team

Vareal開発チームのご紹介

Vareal開発チームの特徴

サーバサイドは
Rubyでの開発に特化しています

サーバサイドは
Rubyでの開発に特化しています

Varealは創業から10年以上、Rubyに特化して受託開発を行ってまいりました。

フルスタックエンジニア思考
少数精鋭での開発

フルスタックエンジニア思考
少数精鋭での開発

無駄なコミュニケーションが不要なため、効率的に開発を進めることができます。

社内において活発にナレッジの
共有が行われている。

社内において活発にナレッジの
共有が行われている

スタートアップおよびフルリモート案件を多く手がけており、社内において活発にナレッジの共有が行われています。

Vareal開発チーム編成

Vareal開発チーム編成

ほぼ全員がフルスタックエンジニア。 バックエンドについては全員がRubyをメインに使用しています。(2018.3月現在)
近年フロントエンドはSSR(サーバサイドレンダリング)の他にReactやVueJS、AngularJSを利用することが多くなってきています。

Vareal在籍エンジニア保有資格

Ruby技術者認定試験Gold / Silver

AWS認定エンジニア

応用情報技術者

DBスペシャリスト

Ruby on Rails開発においての
Varealの業務内容

受託プロジェクト開発

  • ヒアリング・打ち合わせ・提案
  • 要件定義
  • システム設計
  • 工数割出・見積り
  • Ruby on Rails開発・実装・動作確認テスト
  • お客様との調整(詳細仕様の確認、必須な資料の請求、動作確認依頼など)
  • 開発進捗管理・お客様と共有(Github/Gitlab/Google Driveなどを使用)
  • ドキュメント作成
  • システム改善提案

デザイナー担当範囲

  • ヒアリング・打ち合わせ・提案
  • 初期全体イメージ設計(ワイヤーフレーム、サイトマップなど)
  • UI/UXデザイン
  • HTMLコンテンツ(静的コーディング)作業
  • Rails内デザイン反映・レイアウト調整

保守

  • HTMLコンテンツ更新作業
  • 障害対応・復旧(サーバー障害・プログラムバグによる障害など)
  • 引き継ぎ資料等作成(Readmeなど)
  • お客様への連絡

その他

  • 社内での技術の共有・指導・教育
  • 自社サービス・システム開発
  • 社内環境・セキュリティ改善

営業・マーケティング担当範囲

  • ヒアリング・打ち合わせ
  • 見積り・ご提案
  • お客様への連絡

企画から開発までワンストップでスムーズ

弊社のRuby on Rails開発チームはエンジニアだけでなく営業・マーケティング担当者・デザイナーが一丸となってワンストップでプロジェクトを進めてまいります。それぞれの専門分野を熟知したスタッフが社内で連携を組んで作業を行うので、開発スピードが速く、意思疎通もスムーズです。 状況に応じて、こまめに打ち合わせを行い、各部門のリーダーが最適なご提案をさせていただきます。

Ruby on Rails開発においてのVarealの開発環境

GItリポジトリ

GItリポジトリ

Github/Gitlabで管理しています。

プロジェクト管理

プロジェクト管理

プロジェクトやお客様のご要望に応じ、Github / GitLab issue /Backlog / Redmineなどで管理を行います。

Rails/Rubyのバージョン

Rails/Rubyのバージョン

Rbenvによりバージョン管理を行い、既存のシステムは指定に沿って対応。新規案件の場合はお客様のご要望や使用GEMなどの互換性を考慮した上で最新安定版を使用いたします。

Gitブランチの運用

Gitブランチの運用

原則としてgit-flowに準拠します。

統合開発環境

統合開発環境

RubyMineが推奨されています。

CIサーバー

CIサーバー

主にGitLab CIを活用し、自動テストとデプロイを行っています。

コミュニケーションツール

コミュニケーションツール

Slack、Skype、Chatwork、メーリングリストやRedmineなどお客様の環境も考慮したコミュニケーションツールを使用します。

DBMS

DBMS

プロジェクトによりますが、主にMySQLまたはPostgreSQLを使用しています。

サーバ環境

サーバ環境

多くの場合Dockerを利用し、開発環境・本番環境ともにAWS上に構築します。プロジェクトによってはオンプレミスサーバを含めた他の方法を採用することもあります。

Team Member 2

コーディングスタイル

Ruby on Railsのコーディングスタイルに準拠します。Slimやhamlなど時間短縮のために使用する場合もあります。

Ruby on Rails開発においてのVarealの経験技術

フロントエンド

React, AngularJS, VueJS, jQuery, Typescript,
Webpack, Babel, Bootstrap, haml, AndroidOS, iOS

React, AngularJS, VueJS, jQuery, Typescript,
Webpack, Babel, Bootstrap, haml, AndroidOS, iOS

バックエンド/サーバーサイド

Ruby(Ruby on Rails 3-5 / Sinatra) /
C#(.NET), VB(.NET, 6)、C++, sh, nodejs

Ruby(Ruby on Rails 3-5 / Sinatra) /
C#(.NET), VB(.NET, 6)、C++, sh, nodejs

ミドルウェア

MySQL, PostgreSQL(PostGIS), SQLServer,
Amazon Aurora, Redis, MongoDB, Neo4j

MySQL, PostgreSQL(PostGIS), SQLServer,
Amazon Aurora, Redis, MongoDB, Neo4j

外部サービス

OpenID, SendGrid(SMTP/WebAPI), Apple/Android Push Notification, AWS(EC2, S3, Aurora, ELB,…)
GCP, Azure, Paypal, Freee(WebAPI), Veritrans(MDK)…

OpenID, SendGrid(SMTP/WebAPI), Apple/Android Push Notification, AWS(EC2, S3, Aurora, ELB,…)
GCP, Azure, Paypal, Freee(WebAPI), Veritrans(MDK)…

テスト

RSpec(factory-bot, model, controller,
feature), turnip, testCafe

RSpec(factory-bot, model, controller,
feature), turnip, testCafe

開発用GEM

rubocop, rails-erd, seed_fu, pry-byebug, ruby-prof, webmock,
web-console, guard, annotate, rack-mini-profiler…

rubocop, rails-erd, seed_fu, pry-byebug, ruby-prof, webmock,
web-console, guard, annotate, rack-mini-profiler…

開発環境/デブロイ

Docker, Vagrant, VirtualBox,
Chef, Itamae, Capistrano

Docker, Vagrant, VirtualBox,
Chef, Itamae, Capistrano

プロジェクト管理

Git(Github/Gitlab/Bitbucket)、SVN,<br>
                  ITS(Backlog/Redmine/JIRA/Github)

Git(Github/Gitlab/Bitbucket)、SVN,
ITS(Backlog/Redmine/JIRA/Github)

Maintenance in Ruby on Rails

Ruby on Railsでの保守について

サーバー保守について

Team Member 1

システムの死活監視

死活監視(生死監視)とは、コンピュータやシステムが動作しているかどうか外部から継続的に調べることです。 バレアルでは「Zabbix」などの多機能なサーバ監視ツールを使用し、監視対象となるサーバーやネットワークなどのシステムリソースの状態を可視化、インシデントが発生したときに即座に対応が可能です。

Team Member 2

サーバーのセキュリティ対策

サーバーは常に攻撃される脅威に晒されています。Webサーバーにセキュリティホールを残しておくことは危険であり、また、セキュリティホールは、公開Webサーバーを構成するOS、Webサーバー、Webアプリケーションなど構成要素の全てに存在する可能性があります。バレアルでは案件に合わせて最適なセキュリティ対策をご提案しております。

Team Member 3

システムリソース計画の策定

ご依頼を受けてまず最初に行うこと、それがシステムリソース計画の策定です。品質、コスト、納期、顧客満足度の観点からプロジェクト全体の範囲やスケジュール、組織・要員を明確化しますので、安心してお任せいただけます。


アプリケーション保守について

受託プロジェクト開発

  • システムミドルウェアのセキュリティアップデート
  • アプリケーションのバージョンアップグレード

既存アプリケーションのメンテナンス

  • バグ対応
  • 軽微な修正
  • 機能追加

新規開発案件に関しては、公開から一定期間を保守を行うことも可能です。また正式に保守契約を結んでいただくことで、継続して担当スタッフがメンテナンスを行いますので、契約時や公開後におすすめしております。 弊社で開発を行っていないアプリケーションやシステムに関しても保守を行うことは可能です。 お気軽にご相談ください。

Examples of Ruby on Rails development

Ruby on Railsでの開発実績

希少疾患関係者SNS「RareS.(レアズ)」

株式会社 クリニカル・トライアル

RareS.(レアズ)とは希少疾患に関わる全ての方の知識や経験を持ち寄り、希少疾患に関する集合知を構築することを目標としたSNSサイト構築プロジェクトです。

システムの特徴 アカウント・管理者権限の登録、疾患情報・治験情報の編集、アンケート機能、キーワード登録・フォロー機能、公開範囲、タイムライン・投稿のシェア・いいね・機能、ニュース配信、フレンド登録、DM機能、検索機能、Facebook連携
開発規模・期間 2017.11 - 2018.02(10人月)
契約形態  受託請負
チーム体制 PM1名、リードエンジニア1名、エンジニア1名、デザイナー1名
言語  Ruby 2.4系
担当フェーズ フルスクラッチ(要件定義・デザイン・設計・開発・テスト・本番移行)
URL https://community.raresnet.com/
希少疾患関係者SNS「RareS.(レアズ)」
オンライン家庭教師システム AIDnet

オンライン家庭教師システム AIDnet

株式会社キャニオン・マインド

オンライン家庭教師システムのwebアプリ開発から運用保守まで一貫して行いました。 受講者とチューターのマッチング、授業予約、フランチャイザー/フランチャイジーによる管理機能、オンライン授業の実施とモニタリング機能、課金機能など運営に必要となる機能を全て盛り込んだオンライン家庭教師サービスです。

システムの特徴 WebRTCを活用したビデオチャット・テキストチャット・ホワイトボード機能を含む予約管理・授業配信システム。検索システムにApache Solrを使用。課金は外部APIとの連携により実施。
開発規模・期間 2014年4月〜(継続中)
契約形態  (開発)請負または準委任、(保守)月額固定
チーム体制 (保守時)App/Infra Enginner 1名。 (開発時)適宜チームを構成
言語  Ruby on Rails 3.2 系
担当フェーズ 開発途中で他社から引き継ぎ、開発・保守などシステム全般を担当
URL https://aidnet.jp/

その他、実績は多数あり、過去4年間で大小267件のRuby関連プロジェクトを実施しています。 東証一部上場企業からスタートアップ企業まで幅広い取引先からの受注しています。 クラウド上でのインフラ設計、ウェブ画面デザイン(PC用、スマホ用)を含む新規プロジェクトでの開発プロセスを、弊社内で一貫してサービスを提供しています。(他社からの引き継ぎ、途中ジョインなどもあり)

Estimate & contract

Ruby on Railsでの開発見積・ご契約について

Ruby on Railsでの開発見積について

請負契約

請負契約

  • メリットは、納期と開発内容が契約時に明記されていることから、開発内容(要件、設計の詳細)がはっきりしている場合には、納期と費用が早い段階で確定されることから、おすすめの契約形態です。

準委任契約

ラボ型開発

  • オフショア開発における契約形態の一つで、「ある一定期間(半年や1年などを基本とされています)で発注する仕事量の最低保証を行う契約」のことです。

常駐開発(SES)

  • 契約期間中、御社内常駐で弊社のスタッフが作業を行います。勤務時間・場所などは御社の業務規則に沿います。

Ruby on Railsでの開発を始めとするアジャイル型開発での場合、通常は下記の方法で見積もることが多く、弊社もこの方法で見積もりをしています。

見積もり金額 = (開発に必要な期間)x(開発に従事する人数)x(一人当たり1ヶ月の単価(人月単価))
システム開発後の運用・保守に関しては、システムの規模・サーバ台数に応じた月額料金により提供しています。
(クラウド上で運用する場合のシステム使用料はダウンロード容量などにより変化します。)

Ruby on Railsでのシステム開発依頼
(業務委託)について

請負形態での契約の場合

Ruby on Railsでのシステム開発の場合、

      (1)請負形態での契約
      (2)準委任形態での契約
があります。

(1)請負形態での契約の場合

(1)の請負で契約 の場合のメリットは、納期と開発内容が契約時に明記されていることから、開発内容(要件、設計の詳細)がはっきりしている場合には、納期と費用が早い段階で確定されることから、おすすめの契約形態です。

(2)準委任形態での契約の場

(1)請負契約はおすすめではありますが、Ruby on Railsなどウェブ系システム開発の場合、多くは要件や詳細設計まで固まっておらず、開発途中で仕様の追加や変更が生じることがほとんどであることから、(2)準委任形態で契約 するほうがメリットが大きいと考えられます。
準委任形態での契約の場合一人あたり(人月あたり)の費用と期間を定めて契約することから、当初は仕様が明確に固まっていなくても問題ありません。設計担当者との打ち合わせをしながら、効率的に開発を進めることが可能です。仕様が開発の途中段階で変更となった場合でも開発期間の延長を行うことで継続的に開発を進めることができます。
なおバレアルでは、(1)請負形態での契約、 (2)準委任形態での契約 のどちらでもRuby on Railsでの業務委託を承っておりますが、開発規模が1人月未満程度の小規模での開発でないプロジェクトの多くは (2)準委任形態での業務委託形態 となっています。

準委任形態での契約の場
  • STEP1

    お問い合わせ・ご依頼

    お電話、メール、SNSを通してなど、まずはお気軽にお問い合わせください。

  • STEP1

    お問い合わせへのご回答

    直接お会いする、またはインターネットを介してテレビ電話で、初回の打ち合わせを行います。 最初の簡単なヒアリングの内容や、開示していただいた資料に基づいて、お客様のご要望に最適なご提案をさせていただきます。

  • STEP2

    資料のご提示

    事前にご開示いただける資料等がございましたらお送りいただきます。

  • STEP2

    初回打合せ・ヒアリング

    直接お会いする、またはインターネットを介してテレビ電話で、初回の打ち合わせを行います。 最初の簡単なヒアリングの内容や、開示していただいた資料に基づいて、お客様のご要望に最適なご提案をさせていただきます。

  • STEP3

    調査・お見積り

    今までのヒアリングやご提案内容から、正式なお見積り金額を掲示させていただきます。 PoC導入のあり/なしや、要件定義から行う場合等、数種類ご提案させていただく場合もございます。 また、ソフトウェア開発と組合せたお見積り・ご提案も可能です。 ※お見積もりの時点では、まだ料金は発生致しません。

  • STEP3

    ご発注、資料のご提供

    お見積もりをご確認いただき、ご依頼をいただく場合はご発注・ご契約をお願いいたします。
    その後、資料やデータを等をご提供いただき次第、分析・開発に取り掛からせていただきます。

  • STEP4

    PoC(Proof of Concept)開発

    PoCを実施する場合、2週間〜1ヶ月を目処に検証開発を行います。

  • STEP4

    PoCご確認

    PoCをご確認いただき、打ち合わせが必要であれば行い、不明点や問題がないかなどお伺いいたします。

  • STEP5

    開発開始

    問題がないようであれば、開発に取り掛かります。

  • STEP6

    テストアップ

    テストアップいたしまして、全体的なデザイン、内容に問題がないか、遷移の動きやシステムの不具合がないか等チェックを行います。また、各デバイスでの表示や動きも確認いたします。
  • STEP5

    テスト環境でのご確認

    テストアップ後ご連絡いたしますので、全体的なデザイン、内容に問題がないか、遷移の動きやシステムの不満不具合がないか等ご確認をお願いいたします。

  • STEP7

    本番環境で公開

    最終確認を行って、本番環境でアップし公開いたします。
    ドメインなどの切り替えが必要な場合は手続き等に時間がかかることがあります。

  • STEP6

    本番環境でのご確認

    本番環境でのご確認を行っていただきます。
    CMSやシステムのレクチャーが必要な場合は担当者がお伺いしてレクチャーいたします。

  • STEP8

    運用・保守

    リリース後は1〜2週間ごとに使用感や改善点を伺い、調整・改善を行うとともに、運用・保守を進めていきます。
    改善後の状況を確認しつつ、よりよいサービスへアップグレードしていきます。

  • STEP7

    運用

    CMSなどの場合、更新作業などを行っていただけます。
    不明な点・不具合がありましたらいつでもご連絡ください。
    追加のご依頼・ご相談もお気軽にお問い合わせ下さい。

お気軽にお問い合わせください。