こんにちは、バズー株式会社、開発チームリーダーの清水です。
お客様モバイルサイトのトランザクション数最大化をめざす弊社は、いかに劇的なスピードで安定したサービスを提供できるかについて心血を注いでいます。
劇的な開発速度を保つために必要だと思われることは以下のとおりです。
■開発言語に慣れていること
使用する開発言語に慣れていることは最低条件です。いろいろな言語を長いこと使っていると、新たな言語を覚える際にもカンが利きます。以下の言語は一通り使えるようになっていると、つぶしが利きます。
C/C++/C# or Java/ActionScript or Javascript/Perl or PHP or Python or Ruby
一通りというのは、やりたいことをその開発言語を使って1から開発できるということです。本を読んでわかった気になっている人をよく見かけますが、そういうのは使えるとは言いません。
■フレームワークが手になじんでいること
開発スピードを劇的にあげるには、なんらかのフレームワークを使うのが手っ取り早いです。フレームワーク自体に振り回されているうちは全然ダメで、フレームワークが使い古したペンのように手になじんでいる必要があります。これには、そのフレームワークを使って、サンプルアプリケーションを作りまくるしかありません。
■柔軟なフレームワークであること
Ruby on Rails は規約重視なフレームワークですが、実際の案件では、規約にハマることよりハマラないことのほうが多いです。どのような案件が来ても柔軟に対応できるフレームワークが望ましいです。その点、弊社が使っている Zend Framework はよくできています。最悪なのが、拡張性がなくて、バグだらけで、遅くて汚い自社製のフレームワーク。過去のしがらみはとっととリストラしたほうが、開発速度は劇的に上がります。
■部品化が容易であること
前にやったことがある個所については、コストゼロで流用できることが望ましいです。MVC をきちっと守って開発していれば、M(モデル)の流用は簡単です。
■ロジックが事前に頭の中に組みあがっていること
やりたいことをどうやって実現するか頭の中にイメージされていないと、素早く手を動かすことができません。過去にやったことがあるパターンが最も効率的で、いままでやったことがないパターンや、用件が曖昧でロジックに落とし込めないようなパターンでは、詳細な用件定義が必要です。
■待ち時間が限りなくゼロであること
ウェブアプリケーションの開発では、ファイルを保存した瞬間に動きを確認できるスクリプト言語が劇的な開発速度には不可欠です。
fastcgi がないと十分な実行速度が出ない、Perl / Python / Ruby はこの点で不利で、十分な実行速度が出て、かつ待ち時間が限りなくゼロの PHP が劇的な開発速度を達成するために一番向いていると思います。1行の修正を確認するのに何十秒も待たなければならない他の手段とくらべると、数十~数百倍開発速度が変わってきます。














