- 2010年11月30日 10:00 AM
- 開発環境

ここ2ヶ月間で気になる記事がたくさん上がっていました。
特に少人数チームにおける開発に関する記事です。
昨日、書き上げた”1年間の技術的負債を返すために読んだ3冊の本“にある通り、お知らせメールでは1年間の技術的負債を返そうとしています。
そのためには今まで曖昧だった箇所を浮き彫りにし、改善する必要があります。
また、せっかくなので新しいモノも取り入れたい。
こうしたことを考えながらの2ヶ月だったので、自然と目に止まった記事が3つありました。
どれもこれも、チーム開発で役立ちそうな記事です。
今日はこの3つの記事を中心に、少人数開発に役立つ様々な情報をまとめてみます。
体制を整えるための2記事
まず、少人数での開発がどんなモノか、そして何が必要かを知ります。
スタートアップ企業で8年間Webの開発をしてみての反省点いろいろでは、少人数開発で気をつけなければならないことがまとめられています。
とても当たり前なことがたくさん書いてあります。
しかし、当たり前だからこそ、忘れがちなことです。
1. 丁寧に正しく作ろう
一つだけ選ぶとしたらこれ。これがすべてにつながってくる。スタートアップ企業にとって、スピードが大切というのは間違いないのだけど、目先のスピードのために、色々なことを犠牲にしてしまっていたことがあった。正しく丁寧に作ることが中長期で考えるとスピードにもつながる、ということを頭で理解しつつも、つい手を抜いてしまっていた。
まず、「今必要でないことはやらない – YAGNI 」ということを常に考えよう。そして、その上で「今必要」となったものは全力で丁寧に正しく作ろう。
2. 丁寧に正しく作れないなら既存のプロダクトを使う
丁寧に正しく作るのにはしっかりとしたリソースが必要。ただし、人やお金というリソースは常に限られているので自分たちが集中しないといけないところをしっかり決めよう。
独自フレームワークはやめよう
独自のフレームワークは正しく作れないならやめよう。「正しく作る」というのはメンテナンスとか含めて。もし作るなら専用のリソースを確保するぐらいできないと無理。片手間でフレームワーク作りとか無理。外部に向けて公開しても恥ずかしくないレベルのものを作れるようでない限りはやめたほうがいい。
スタートアップ企業で8年間Webの開発をしてみての反省点いろいろより
この2つは、本当に気をつけながらやっています。
“今、何を作っているのか“、”本当に、自分がこれを作るべきなのか“を常に気をつけながら開発しましょう。
スタートアップ企業で8年間Webの開発をしてみての反省点いろいろがマインド的な部分であったのに対して、複数人(2-3人)でウェブサービスを開発するコツではツール的な部分がまとまっています。
“開発環境には仮想化を使う“、”開発はチケットファーストで行う“など。
簡潔ですが、要点を押さえたわかりやすい記事です。
この2記事を読むことで、少人数開発に必要なマインドとツールがわかると思います。
私自身、この2記事を参考に環境を構築しています。
バージョン管理システムを一新するための2記事と2アプリケーション
バージョン管理システムにはgitを使います。
gitをチームで使う場合、問題となるのがブランチの運用です。
一から自分で考えても良いのですが、そのルールが熟れるにも時間が掛かる。
そこで、誰かが作ったルールに乗っかってしまいましょう。
そこでこの記事が役に立ちます。
この記事にはgitにおけるブランチの運用が、わかりやすくまとまっています。
チームのマニュアルとしても、十分に使えるレベルでしょう。
こういったルールを守るためには、ちょっとした仕組みも欲しいところです。
例えば、”masterブランチには直接コミット出来ないようにする“といった仕組みです。
この記事では、Redmineのチケットとコミットを連携させるためにmasterブランチへの直接のコミットを禁止するフックを紹介しています。
この記事で言っているトピックブランチは、A successful Git branching model を翻訳しましたのフィーチャーブランチのことです。
色々試してからですが、私もこのフックを導入しようと企んでいます。
gitに関連するアプリケーションも2つ取り上げます。
Gitoriousはgithubのコピープロジェクトです。
Webブラウザ上でGitリポジトリを管理できます。
開いた人は”githubを使えばいいんじゃない?“と思うでしょう。
ところが、このGitorious、オープンソースプロジェクトなんです。
つまり、自分のサーバにインストール出来る。
リポジトリの管理は結構面倒なので、GUIで直感的に操作できるGitoriousを入れると良いと思います。
TowerはMac用のGitのGUIクライアントです。
Gitを使っていてよく聞くのが、決定版のGUIクライアントがないことです。
その決定版GUIクライアントとして期待されているのが、このTowerです。
“期待されている”と書いたのは、残念ながらまだリリースされていないからです。
11月リリース予定なので、この記事と一緒にリリースされれば良いのですが…。
[追記]
記事を書いていたら、リリース告知がありました。
この記事が公開されるころには、リリースされているはず!
テストを自動化するための3記事
少人数開発では、人手が足りません。
テストチームなんていませんよね。
そのため、テストは自動化が基本になると思います。
Sereniumは、Webアプリケーションのテストを自動化してくれます。
これはすごい! Web案件必須 Seleniumを読めば、Sereniumの概要がわかります。
PHPUnit と Selenium RCで機能テストをやってみるを読めば、簡単にSereniumを導入できそうです。
さらに、毎日のテストを自動化するためにHudsonを入れます。
Hudsonはビルドやテストを定期的に実行し、その結果を管理するためのツールです。
日本Hudsonユーザー会も発足した「Hudson勉強会」活動報告にはUstreamの動画と共に、豊富な事例がまとまっています。
初心者のための簡単な紹介もありますよ。
また、RedmineとHudsonを連携するこんな事例もありました。
HudsonとSereniumを入れて、効率的にテストを実行しましょう。
チケット管理システムを正しく運用するための1記事と1冊
チケット管理システムといえば、RedmineかTracです。
ここではRedmineを取り上げます。
Redmine導入時にやってしまいそうなことが、よくまとまっています。
導入は簡単です。
しかし、適切に運用するためにはそのツールで使っている用語の意味を知ることが大事です。
これを読んでから、Redmineの運用を始めると、よりRedmineを活用できるでしょう。
さらに、この記事でも紹介されていますが、こんな本も出ています。
|
Redmineによるタスクマネジメント実践技法
|
今までRedmineに関する本はその導入の仕方や使い方がメインだったので、嬉しい一冊です。
アジャイル開発をマネタイズするための1記事
最後にちょっと毛色の違う記事を取り上げます。
私は基本的に受託開発をしていないのですが、とても参考になる記事です。
受託開発では”システム当たりいくら“が基本だと思います。
しかし、この記事を読んで”こういったビジネスモデルもあるのか“と目から鱗が落ちました。
もし、受託開発をする場合は、こういった形で仕事がしてみたいですね。
いかがでしょうか。
この記事は正直、素晴らしい記事に乗っただけの記事です。
ですが、”ここまで色々と情報が揃ってるのにまとめないのはもったいない!“と思い、この記事を書いてみました。
参考になれば幸いです。
こちらもあわせてどうぞ
ちょっと一言
開発手法に関してまとめて2記事あげてみました。
あとは、ここからのブラッシュアップが重要ですね。
-
http://news.e-real.jp/topics/topics-20101201/ Topics 20101201 | Real Topics
-
http://misukka.net/?p=388 運用すごい!すごい! | 個人で起業!ネットビジネス活用術
-
http://honwakabest.com/227.html b z チケット・・なんてものがあるなんて・・ | 金融情報ブログ・ほんわかBEST
-
http://5zaru.com/file/918 ネット上の役立つ便利なサイト


