blogPHPでWEB+DBシステムの開発をやっています。―ムダのない起業プロセスでイノベーションを生みだす」を読みました。Webサービス、システム開発を行う人間にとって示唆に富む内容だったのでご紹介。「とりあえず製品をリリースして様子を見よう」という方針で進むと、このような問題に悩まされがちだ。私はこの方針をナイキの有名なスローガンにちなんで「やってみよう(ジャスト・ドゥ・イット)」型起業と呼ぶ。新しい製品やWebサービスの多くはこれまで世に無かったものなので、事前に市場調査を綿密にしていても、実際にリリースしてみないと反応が分からないことが多いです。小規模のベンチャーでは市場調査などを行う人材がいない、リソースが割けないということもあり、まず作ってみようというジャスト・ドゥ・イット型で進めることが多くなります。これはこれで一理あるのですが、闇雲に機能を実装してリリースしても「下手な鉄砲も数打ちゃ当たる」状態になり、上手くいかなかった場合(多くの場合はこうなる)に得られる学びも少なくなります。私自身もこれまでいくつかWebサービスやアプリを作って来ましたが、多くはまさにジャスト・ドゥ・イット型の開発でした。時には上手くいくこともありましたが、次の手がうまく打てずに萎んでしまったり、工数をかけてじっくりと作ったわりに鳴かず飛ばずでうまくいかないということもありました。そんな簡単にヒットするものが作れないのは当然です。運を天に任せて、下手な鉄砲を撃ちまくるのでは、宝くじを買うようなものでいつまでたっても陽の目を見ることができません。そこで、ジャスト・ドゥ・イット型に科学的手法を取り入れて、もう少し成功の確率を高めていこうというのがリーン・スタートアップです。リーン・スタートアップとはリーン・スタートアップは、トヨタのリーン生産方式に基いて考案されたもので、顧客にとってのメリットを提供するものに価値をおき、それ以外のものは全て無駄という考え方です。これは至極当たり前のように思えるのですが、サービスを作る側、とくにエンジニアやデザイナのようにもの作りをしている人間の場合、この点を見過ごしてしまいがちになります。本来は顧客へ何らかの価値を提供するためにものを作るべきなのに、ものを作ることに重点が置かれてしまい、下手をすれば、ものができてからそれが顧客にどんな価値をもたらすのかを考える、という本末転倒な事態になることもあります。・スタートアップでは、まず顧客にどのような価値を届けるか、届けるとどのような反応が返ってくるかという仮説を立てます。その仮説を確かめるために製品を開発します。製品が完成したら、実際にリリースして計測を行ないます。計測で得られた結果、反応を見て、仮説が正しかったかどうかを検証します。そこで得られた学びを元に次の仮説を立てて、また製品を作っていきます。この一連の流れを小さく早く回して、顧客の反応を確かめながら進んでいくのが特徴です。「ものを作る」というのはあくまで仮説を証明する手段にすぎません。よって仮説が証明できれば、機能自体は実装しない場合もあります。極端なことを言えば、最も簡単に仮説を検証できるのは、顧客に直接聞くという手法です。その製品がターゲットとしている顧客にコンタクトを取って、提供しようとしている製品を話せばすぐにフィードバックを得ることができます。実際にものが無いと想像できない場合も多いのですが、少なくともそれを欲している人がいるかどうかくらいは分かります。Product)と呼んでいます。このMVPは仮説が検証できれば良いので、それ以外の機能や品質は不要です。これは自分でもついやってしまうのですが、こういう機能なら今時はソーシャル連携するだろう、Ajaxになっていないといけないなど、機能の本質では無い余計なものまで作りこんでしまうことがあります。その機能自体が誰からも必要とされていなから、そういった余計なものは全て無駄となってしまいます。それを確かめるために製品を作る。このアプローチがとても大事です。開発の現場では当たり前のことこの一連の流れは視点を変えれば、実は普段からシステム開発の現場ではやっていることと同じです。不具合を修正する場合。不具合の報告を受けて、現象が確認できたら、まずやることは原因を特定することです。原因を特定するには、ここが原因だろうという仮説を立てます。それを確かめるためにソースを読む、コメントアウトしてみる、テストを書くなどを行ないます。実際に動かして仮説が正しいかどうかを確かめます。原因が特定できれば次は修正方法を検討します。修正を行ない、不具合が解消されているかを確かめます。び」のサイクルと同じです。考えるとごく自然にこのアプローチが理解できます。何のために作るかを見つめなおすやってはいけないことをすばらしい効率で行うことほど無駄なことはない。有名なドラッガーの言葉が本書でも引用されているのですが、もの作りを行う人間が陥りがちな状況を的確に表しています。誰も求めていない製品を最高の品質で作っても事業としては意味を成さないのです。自分たちが作っているものは誰のどんな問題を解決するのか、どんな価値が提供できるのか。事業を行う上でも、ものを作る上でもあらためて考えさせられる本でした。この本ではさらにリーン・スタートアップを行う具体的な手法や実際の事例がふんだんに盛り込まれています。事例には、DropBoxやインテュイット、グルーポンなど馴染みのある企業が登場します。アジャイル開発や継続的インテグレーション、Railsなど開発現場で聞かれる単語も登場するなど、自分に近い話として読むことができました。リーン・スタートアップの原点ともいえるトヨタのリーン生産方式に関する本です。6分35秒さて夏がやってきました。夏と言えばPHPということで、昨年に引き続き、最近のPHP事情をご紹介。PHP5.4リリースPHP5.4が2012年3月にリリースされました。PHP言語拡張、PHPコマンドで起動するビルトインサーバ、そしてパフォーマンスの改善など大きな変更が加えられています。言語自体の機能追加も注目ですが、ビルトインサーバは多くの人にとってメリットになるでしょう。これを使えばPHPアプリケーションの動作確認のためにApacheやnginxなどのhttpdサーバを自分のPCに入れる必要はありません。下記のようなコマンドを打つだけで、ビルトインサーバが起動します。新しいフレームワークやライブラリ、アプリケーションを試してみたい時に手軽に使えるのが嬉しいですね。これから新たにPHPアプリケーションを構築する際は、5.4で動作することを確認しておいた方が良いですね。コミュニティで標準的なコーティング規約が提唱されます。して標準的なコーティング規約が出来たというのは初めてのような気がします。いくつかのフレームワークやライブラリはこの規約に従って書かれています。PHPコードの書き方に迷っている人は一度目を通しておくと良いでしょう。この規約は提唱されているだけで、従わないといけないということではありません。できるだけ合わせた方が、多くの人にとって使いやすく、読みやすいコードになることは間違いありません。合わせてコードを自動で修正するツールもあります。あるのですが、現状は新たなパッケージがあまり増えず、盛り上がっているとはいえない状況です。比べて、導入も簡単ですし、パッケージも手軽に公開できるので、対応パッケージが増えています。今後フレームワークやライブラリを導入する際は自然と触ることになると思うので、一度使い方を見ておくとよいでしょう。Wayここまで紹介してきたようなPHPに関する情報を網羅したサイトが登場しました。今風のPHPを使うにあたって参考になる情報が紹介されています。元は英語サイトなのですが、有志によって和訳されていますので、ぜひ一度見てみて下さい。最後に最近気になるフレームワークなどを。CakePHP3CakePHP2が2011年12月に正式にリリースされました。最新版は2.2.1です。系からはじめましょう。対応した書籍も登場してきています。2.2.1さらに次期バージョンのCakePHP3の概要が発表されています。CakePHP3はPHP5.4以上を対象としており、新たなCakePHPとして進化しそうです。FuelPHP巷で今一番注目されているフレームワークといえばFuelPHPでしょう。FuelPHPは、PHP5.3以上で動作するCodeIgniterライクな軽量なフレームワークです。規約より設定を重視しており、設定でフレームワークの挙動が変えられるのは、ある意味PHPらしいです。これからフレームワークを触ってみたいという人にも学習しやすく、パフォーマンスも良いのでアクセスが見込まれるサイトでも使い勝手が良さそうです。日本語で良質の書籍が2冊登場していますので、FuelPHPに興味がある人は手にとってみて下さい。BEAR.Sundayこちらも今、注目されているフレームワークです。リソース指向のフレームワークとされていて、動作対象がPHP5.4以上という最新鋭のフレームワークです。さん)というのも大きな特徴でしょう。FuelPHPが実用のフレームワークとして注目されているとすれば、BEAR.Sundayは学習のフレームワークとして注目されているように感じます。現在は開発途中ということで、実用するのはまだ先かもしれませんが、個人的には一度じっくりと触ってみたいフレームワークです。framework次はPHP5.5?次のPHPであるPHP5.5では、さらに言語を拡張して、ジェネレータやリスト内包表記などPythonのような記法を取り入れる提案がされています。実装されるかは分かりませんが、PHPはその時流行っている言語の良い所を取り入れる特徴があるので、PHPの新機能を見ると言語の流行りが見えるかもしれませんね。