第4回 「外の視点」を導入するソフトウェア開発
金武明日香(@IT自分戦略研究所)
2009/12/21
ソフトウェア開発を愛する人々の集まり「DevLOVE」が巨大イベントを開催した。受託開発の限界を感じつつも、新しいやり方でソフトウェア開発を行っていこうとするITエンジニアたちの考え方に学ぶ |
ソフトウェア開発現場での問題を解決し、ソフトウェア開発の未来を考えて行動しようとするコミュニティがある。「開発を愛する」ITエンジニアのコミュニティ DevLove(デブラブ)は12月12日、オラクル本社ビルにて、イベント「DevLOVE2009 Fusion」を開催した。DevLOVEは2008年に発足したコミュニティで、社内外で勉強会を行っている。
SIerの受託開発市場の変化を、開発の現場にいるITエンジニアたちはどのように受け止め、次のステップをどのように歩もうとしているのか。ソフトウェア開発の未来について考察した2つの講演を中心に、現場のエンジニアたちの試みを紹介する。
■「ソフトウェア開発に愛を取り戻す活動です」
papanda氏 |
イベントは、主催者のpapanda氏によるオープニングセッションから始まった。オープニングセッションの会場には、150人以上の参加者が集まった。papanda氏が「初参加の人は手を挙げて」と問い掛けると、会場の約半分が手を挙げた。
「『現場で抱えている問題は、他の現場ですでに解決しているかもしれない。ならばそれを共有しよう』という意識から、2008年にDevLOVEを作りました。人と人の間に橋がかかれば、往来が生まれる。そこでいろいろな人々と出会い、さまざまなものを発見してほしい」とpapanda氏は、DevLOVEの活動と今回のイベントを紹介した。「開催準備をしているとき、Twitter上で『DevLOVEって何? 名称がちょっと怪しすぎる』というつぶやきを見つけたんですね。そのつぶやきに、講演者の1人である倉貫さんが『ソフトウェア開発に愛を取り戻す活動です』と返事をしてくれた。それがわたしのFavoriteに残っています」とpapanda氏。オープニングセッションが終わると、参加者は3つある講演会場に散っていった。
■同じソフトウェア開発でもまったく違うSIとSaaSの考え方
倉貫義人氏は、「ソフトウェア開発という視点から見た、受託開発(SI)とサービス提供(SaaS)の違い」というテーマで講演を行った。倉貫氏は長年TISで受託開発に携わっていたが、2009年にTISの社内ベンチャーとしてSonicGardenという会社を設立。以来、企業向けの社内SNSをクラウドサービスとして提供している。
倉貫義人氏 |
「『受託開発だけではやっていけない』と多くのSIerが考えているだろうが、急にサービスを始めるのは難しい。わたし自身、SonicGardenを立ち上げたとき、SIerでのノウハウがそこそこ使えるかと思っていましたが、全然そんなことはなかった。今日は、大手SIerでの受託開発とベンチャー企業のSaaS、両方経験している立場から両者の違いについてお話をしたいと思います」。
倉貫氏は、まず「サービス」の2つの考え方、「Point of Sales」と「Point of Use」について説明した。「Point of Sales」は製造業の考え方である。車は新品として店頭に並ぶときがもっとも品質が高く、購入後は品質が落ちていく。一方で、「Point of Use」はサービス業の考え方だ。常に提供者がサービスのアップグレードを行うため、品質はいつも最高レベルにある。「受託開発は製造業。しかし、SaaSは常にアップグレードを行うサービス業の考え方。『これからはサービスだ』とSIerがいったとしてもこの考え方の違いを理解しようとしない限り、うまくいくわけがない」と、倉貫氏は指摘した。
エンジニアライフ コラムニスト募集中! |
あなたも@ITでコラムを書いてみないか 自分のスキル・キャリアの棚卸し、勉強会のレポート、 プロとしてのアドバイス……書くことは無限にある! コードもコラムも書けるエンジニアになりたい挑戦者からの応募、絶賛受付中 |
「よく、SaaSのメリットは『導入コストが低い』ことといわれているが、安いからいいというのは間違い。一番重要なのは『時間を買う』こと、サービス利用開始までの時間を圧倒的に短縮できることです」と、倉貫氏はSaaSのメリットについて解説した。SonicGardenは、クラウドサービスを実現するためにAmazon EC2/S3を使っている。顧客がついた時点でサーバをレンタルしていくことができるため、サーバ固定費がかからない。一方で、EC2/S3が停止すると、データそのものが消えてしまうかもしれないというリスクがある。また、デメリットとしては「受託開発に比べるとカスタマイズがしにくい」ことを挙げた。
受託開発に比べると、SaaSはカスタマイズ性が低い。そのため、サービスを行う際には「カスタマイズをいかに行っていくか」が重要だという。サービスを常に提供しつつ、継続的にカスタマイズをするためには、やり方を工夫しなくてはならない、と倉貫氏は語る。
■いい組織でないと、いいサービスは提供できない
「わたしたちは『持続性』と『プログラム保守容易性』を重視します。どんなにいいサービスでも、いつでも使えないといけない。だから、サーバ落ちにはものすごく気を使う」と倉貫氏。受託開発では、100%の品質で納品することを目指すが、SaaSではあまり重視しないという。「80%の品質を常に維持するというのが、サービスの考え方です。リリース時に品質が80%でも、便益を満たしていればとりあえずはOKとみなし後は運用でカバーすることにしています」。ここでも、SIerとSaaSの開発における考え方の違いがあると、倉貫氏は指摘する。
また、倉貫氏は「いい組織でないと、いいサービスは提供できない」と語る。良質な組織を作るための工夫として挙がったのが、「作業の小口化」である。
ビジネスの環境やユーザーの要望は常に変化する。「見積もりや人月という考え方は、サービスにとっては意味がない」と倉貫氏。日々の変化に対応するために作業を小口化し、毎月行うサービスのアップデートサイクルを日常として定着させることが重要だという。
作業サイクルを完結にするためのノウハウについても紹介した。ToDoリストは「Google Docs」で行う。メーリングリストやマネジメントツールなど、余計なものは一切使わず、やるべき作業をどんどん書いていって、マネージャが技術者に作業を割り当てる。「毎日作業の棚卸しを行っていると、誰がどのようなタスクを負っているのか、だいたい分かるようになります」。情報共有は社内SNSを利用し、メールの「お疲れさまです」も省略してしまうという。
開発はペアプログラミング手法を用い、常時レビュー。ミーティング時間も短くする。「打ち合わせをしようと思ったら即打ち合わせ。立ちながらやっていると疲れるので、打ち合わせ時間も短くなります」と語る。
また、倉貫氏は部下への「指示」も行わないという。「社員から提言をもらい、議論したうえで納得して仕事をしてもらっています。メンバーが非常に少なく、1人が仕事をしなくなるとそれだけで立ち行かなくなってしまう。そのため、個人の『納得』は非常に大事」と述べた。
@IT自分戦略研究所は2014年2月、@ITのフォーラムになりました。
現在ご覧いただいている記事は、既掲載記事をアーカイブ化したものです。新着記事は、 新しくなったトップページよりご覧ください。
これからも、@IT自分戦略研究所をよろしくお願いいたします。