株式会社アジャイルウェア
Rubyの受託開発とパッケージビジネスで、最高の顧客満足度を
アジャイル開発を通じてRubyと出会う
株式会社アジャイルウェアは、代表の川端氏が大阪で仲間と一緒に立ち上げたシステム開発企業である。川端氏はアジャイルによる開発手法を学ぶ過程でRubyに出会った。Javaを中心として活動していたエンジニア時代に、尊敬するプログラマのケントベックやデイブトーマスの影響を受けたのがきっかけだという。
「アジャイルによるソフトウェア開発手法を突き詰めて行きたいと思っていた時に、Rubyと出会いました。ピュアなオブジェクト指向言語で生産性が高く、テスティングフレームワークも標準で搭載されているため、Rubyの第一印象はアジャイル開発に最適な言語だと感じました」(以降の会話部分は川端氏による発言)
その後、フリーランスエンジニアとしてRubyの開発現場に恵まれることになり、それが川端氏の今後の方向性に大きく影響を与えることになる。その開発現場では、デプロイの為のテスト自動化をはじめとする、各種のアジャイル手法が当たり前のように実践されていることに強く衝撃を受けたそうだ。
「RubyはJavaよりも冗長性が少なく、生産性の高さにも関心しましたが、エンジニアに主体性があることに驚きました。フリーランスでJavaの開発現場にいたころは全てがルールで縛られていましたが、Rubyの開発現場では開発手法や導入するツールの選定などはチームの裁量で決定されており、私はその雰囲気をとても気に入りました。元々起業願望があったこともありますが、高い顧客満足度を実現するためには、このような既存の枠に縛られず顧客との関係性や契約などを柔軟に変えていく環境が必要であると考え、会社を創業することにしたんです」
Rubyの受託案件がRedmineプラグイン開発につながる
Javaの開発時代にエンタープライズ領域の開発に長く携わっていたことから、会社立上げ当初からB2Bのソフトウェア受託開発にターゲットを絞ることを考えていたという。Rubyを採用することで当初の目論見通り、他のベンターに対して競争優位を得ることができたと語る。
「首都圏と比較した時に、関西ではIT予算が潤沢ではない企業も多い。Rubyによる開発なら短納期が可能となるため、費用面でもスピード面でもこれらの企業の要望に応えることができると考えていました」
同社の主力パッケージ製品であるLychee RedmineにつながるRedmine*1のプラグイン開発も、元々はB2Bの受託案件の一つだった。
*1 プロジェクト管理用のソフトウェア。Rubyで開発されておりOSSとして公開されている。
Redmineプラグインをパッケージ化したLychee Redmine
Redmineの開発案件を続けていく中で、住友電装株式会社からRedmineをMicrosoftプロジェクトのガントチャートと連携可能にするプラグイン開発の依頼があった。Redmineのガントチャートは結果を表示するのみで、ガントバーなどを動的に動かせるような機能はなかったためだ。そこでアジャイルウェア社はRedmineのガントチャートを動的に動かすことができるプラグイン開発を提案し、採用、導入される。
「成果物をパッケージ化して販売するというのはクライアントからのアイディアでした。パッケージ化により導入企業が増加すれば、ソフトウェアの質や機能が向上し、結果的にそのクライアントも利益を享受できるというOSSの特長をよくご存知だっため、私たちがライセンス持って販売することができました。Redmineのバグに対しても資金提供をしたり、コア開発者に修正依頼を出すなど、OSSの取り組みに対して非常に理解あるクライアントです」
そして、Lycheeガントチャート、Lychee EVMなど数種類のプラグインをLychee Enterpriseとして2013年度のDevelopers Summit)にて展示したところ、予想外の非常に大きな反響があり、パッケージビジネスを一つの事業として継続していける確信を得た。現在、同パッケージはLychee Redmineへと名前を変え、プラグインのラインアップも大幅に増加している。アジャイル開発を強力に支援するLycheeアジャイルや、リソース管理をサポートするLycheeリソースマネジメント、プロジェクトの状況をひと目で把握できるLycheeプロジェクトマネジメントなど、次々に新しいプラグインを開発・販売している。2017年4月現在では180社で導入され、ユーザー数は1万2千人にまで成長している。
Redmineコミュニティから得られる知見
川端氏はOSSの活動にも力を入れている。Ruby、Redmineどちらもコミュニティによる開発が中心となっており、OSS活動がビジネスに直結しているからだ。
「RxT Study(現 Redmine大阪)でRedmineプラグインの作り方という発表をしたこともありました。アジャイル、Ruby、Redmineいずれのコミュニティでも私自身が楽しみながら活動しています。コミュニティの特徴をつかんでおくとビジネスに活用できることも多いです」
啓蒙普及活動を通じてユーザー数の増加を目指すことは分かりやすいコミュニティ活動の一例と言えるが、その他にも活動を通じて面白い発見があるようだ。例えば、日本のRedmine開発コミュニティは、どちらかといえば本体よりもプラグインを開発する開発者が多くいるとのこと。
「他のオープンソースタスク管理ソフトウェアや商用のソフトウェアと比較して、Redmineはアジャイル、ウォーターフォールのどちらでも上手く適用できます。それにカスタマイズも容易にできます。日本企業ではその組織に合うように、導入ツールをカスタマイズして使うことを好む文化があります。それが、Redmineが日本で多くの人に受け入れられている理由であり、Redmineのプラグイン開発が盛んな理由もそこに関係があると思ってます」
パッケージ開発だけではなく、受託開発との2本柱
プログラマとして強く興味を持った領域がアジャイルだった川端氏。Lychee Redmineの販売が好調とのことだが、今後パッケージ開発だけにサービスを絞っていくのかという質問に対しては、「そうは考えていない」と語る。
「弊社が重視しているのは顧客満足度と従業員満足度。お客様からのあらゆるご要望は、特定の分野に特化しているパッケージソフトだけではカバーしきれません。そのカバーできないご要望に柔軟に応えるために受託開発をもう一つの大事な柱としています。Lychee Redmineのパッケージビジネスとアジャイルによる受託開発は、顧客・従業員満足度を高めるための重要な手段であるため、今後ともその両方の事業に力をいれていきたいと思っています」
※本事例に記載の内容は取材日時点(2016年12月)のものであり、現在変更されている可能性があります。
事例概要
- 会社名
- 株式会社アジャイルウェア
- ニーズおよび解決したかったこと
- 少数精鋭メンバーによるアジャイル開発の実現
- 顧客からの多種多様な要望・依頼に素早く対応
- ニーズが増加しているRedmine市場への対応
- Ruby採用理由
- 短納期の要求に応えられる
- 1日にエンジニアが書くことができる量は限られている。同じコード量で、他言語に比べて多くの機能を実装できる。
- 増加しているRedmineユーザからの機能拡張要望に対応できる
- 顧客からの要望に素早く応えることで、高い品質を維持できる。Redmine本体のバージョンアップ対応やプラグインの恒常的(繰り返し)開発に有効。
- Ruby採用効果
- Redmineプラグイン「Lychee Redmine」開発・販売のビジネルモデルを構築
- 「Lychee Redmine」の提案・導入をきっかけにRubyによるアジャイル開発の高い効果を実感いただくことで、Redmineユーザからの受託開発が増加
- 開発に通常3ヶ月を要するシステムを3日〜1週間で開発することができ、高い顧客満足度の実現
- 活発なコミュニティへの参加によるビジネス拡大