第3回:Ajax、Googleアプライアンス、アジャイル、Ruby on Railsを採用した理由 (3/3)

社内SNS構築事例
Know HowからKnow Whoへ 〜社内SNS構築指南

第3回:Ajax、Googleアプライアンス、アジャイル、Ruby on Railsを採用した理由

著者:TIS  倉貫 義人   2007/4/24
前のページ  1  2  3
「アジャイル」と「Ruby on Rails」による高い保守性

   TISの社内SNSは1年4ヶ月ほど運用しています(2007年4月現在)。最初のリリースから何度も改修と拡張をしつつ、リリースを繰り返してきました。これは、積極的な機能拡張の結果です。

   この考え方のベースには、Web 2.0のキーワードの1つである「永遠のβ版」があります。スモールスタートではじめ、利用者の増加とともに機能を増やしてきました。そして、今もなお週に1度ほどのペースでリリースを実施しています。

   このように、何度もリリースを繰り返すためには、一般的なシステム開発の進め方では無理があります。そこで、筆者たちの開発チームでは、開発の進め方として「アジャイル開発」を採用し、プログラミング言語に「Ruby」、そのフレームワークに「Ruby on Rails」を採用しました。

プロジェクトの頓挫を防ぐアジャイル開発

   アジャイル開発とは、ビジネス環境や仕様の変化に対して柔軟に対応することのできるソフトウェア開発手法の総称です。

   従来のシステム開発との違いは、要求の変化に対するスタンスです。これまではシステム開発の最初の段階で、作るべき要件をすべて定義して計画に落とし込み、数ヶ月から数年をかけて開発していきます。このスタンスは、最初に決めた要件や計画が変化しないというものです。

   それに対して、アジャイル開発では「変化は必ず起きるものとして考え、いかにその変化を乗り越えていけるか」という点に注力します。

   開発途中の変化に対応するために、アジャイル開発では短いスパンでリリースまでの開発を繰り返します。

Googleを活用した検索の流れ
図8:従来の開発とアジャイル開発の違い
引用:オブジェクト倶楽部 - eXtreme programming FAQ
(http://www.objectclub.jp/community/XP-jp/xp_relate/xp-faq)
(画像をクリックすると別ウィンドウに拡大図を表示します)

   それを実現するために、ドキュメントよりも動くソフトウェアを重視するなど、いくつかのコンセプトがあります。それが、アジャイル宣言と呼ばれる形でまとめられています。

アジャイル宣言
http://www.agilemanifesto.org/

   筆者のチームでは、アジャイル開発の中でも、もっとも有名な「eXtreme Programming(XP)」という手法をベースに使っています。

   アジャイル開発を採用したことによって得た最大のメリットは、週単位でもリリースを繰り返すことができるチーム体制を作ることができた点です。作るべきドキュメントの量を最小限に抑えることで、保守改修の際のコストを最大限下げることができているため、リリースごとの負荷を減らすことに成功しています。このことによって、機能のスモールスタートが実現でき、利用者の声を聞き入れつつ、よいソフトウェアに仕上げていくことが実現できています。

   また、アジャイル開発を採用したことはプロジェクトマネジメントの観点からもリスクヘッジに効果がありました。今回のプロジェクトの最大のリスクは、自分たちで内製しているために、別の業務が割り込んでしまったら、開発がストップしてしまうことです。

   実際に、社内の業務で本プロジェクトに従事できない時期が3ヶ月ほどありました。確かに、機能的にはまだまだ足りない状態でしたが、スモールスタートですでにリリースは完了していたため、利用者はその間も増え続け、本プロジェクトに戻ってきてからも開発を続けることができました。もしこれが従来の開発手法を採用していたら、設計の途中で中断を余儀なくされて、おそらくはプロジェクトは頓挫していたことでしょう。


保守改修時に真価を発揮する「Ruby on Rails」

   Ruby on Railsは、日本発のプログラミング言語「Ruby」で動くWebアプリケーションを開発するためのフレームワークです。Ruby on Railsは最近のインターネット上のWebサービスでも多く利用されています。


   Ruby on Railsの最大の特徴は、「Javaの10倍」といわれる「生産性の高さ」にあります。一般には、自動生成の仕組みがあることで最初の開発生産性が高いと思われていますが、本来Ruby on Railsがその真価を発揮するのは保守改修時にあるのです。

   DRY(Don't Repeat Yourself)というポリシーで作られているRuby on Railsに従うことで、改修時に変更する箇所を極力少なくすることができ、利用者の声に従って対応していく際に、非常にアグレッシブに対応できるようになりました。

   このRuby on Railsとアジャイルを組み合わせることで、非常に柔軟なシステム開発を実現できました。「利用者のニーズに合わせて徐々に機能を改善していく」という方法は、常に要望の絶えない社内SNSの開発とうまくかみ合ったと思います。

   次回は、このような利用者の声を取り入れつつ機能改善を行っていった運営方法について解説します。また社内SNSやブログを運営する際には必ず話題にあがる炎上問題と誹謗中傷の問題の解決方法や社内SNSのコミュニティ運営について、事例を交えて説明していきます。

前のページ  1  2  3


TIS株式会社 倉貫 義人
著者プロフィール
TIS株式会社  倉貫 義人
基盤技術センター所属。社内の技術支援をするかたわら、社内SNS構築のプロジェクトマネージャ兼メインプログラマとして従事している。一方で、eXtreme Programmingというアジャイル開発の研究・実践を行い、XP日本ユーザグループの代表もつとめている。

情報共有ソーシャルウェア/社内SNS「SKIP」
http://www.skipaas.jp/
XP日本ユーザグループ
http://www.xpjug.org/


INDEX
第3回:Ajax、Googleアプライアンス、アジャイル、Ruby on Railsを採用した理由
 社内SNS構築で活用した技術要素
 「Googleアプライアンス」による全文検索
「アジャイル」と「Ruby on Rails」による高い保守性
Know HowからKnow Whoへ 〜社内SNS構築指南
第1回SNSによる社内情報共有の可能性
第2回社内SNSと一般的なSNSの決定的な違い
第3回Ajax、Googleアプライアンス、アジャイル、Ruby on Railsを採用した理由
第4回社内SNS活性化6つの秘訣
第5回社内SNSの弱点を克服する

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 11月11日 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30