今日は、ソフトウェア(主にWEB系)の開発に使っているソフトウェアについて書いてみようかと思います。
まず、前提に、使っているのはMacですので、Windowsの人には参考になったりならなかったり…。
設計段階では、クライアントや一緒に作業をする人に合わせていくつかのソフトウェアを使っています。
要件定義とか設計とか
Microsoft Word 2007
要件定義書(Wordは正直好きじゃないけど…)
astah professional
主にUML(ユースケースとかシーケンスとか、最近はクラス図はあんまり)
MySQL Workbench
ER図からスキーマを作るのに使ってますMySQLじゃないときはastahのER図が多いかな
Prototyper
ワイヤーフレームを書くのに使ってます。けど私はデザイナーじゃないので、管理画面とかにw
Microsoft Excel 2007
Wordと同じく好きじゃないし、滅多に使わないかな。最近は特に。
プロジェクト管理とか
iTaskX
WBS書くのに使ってます。Microsoft Projectの人とかと一緒にやるときは、XML形式で。
ガントチャートアプリを持ってない人と共有するときは、GanttProject使うこともあります。
Redmine
言わずと知れたサーバーサイドで動くプロジェクト管理ツール
と言っても、チケット・Wiki・フォーラム・リポジトリくらいしか使わない。
Subversion
こちらも言わずと知れたバージョン管理システム
Gitとか流行だけど、Subversionで今のところ十分かな。共有する文書ファイルも入れてます。
大手の会社と一緒に仕事をするときに、プロジェクト管理にExcelとかを使うパターンが多いんだけど、心では「マジかよ!おまえら、どのファイルが最新とかコンフリクトしたらどーすんの?」って思ってますw
実際に、古いファイルに追記してメールで送ってくる人がいて、マージするの超めんどーです。
開発(コーディング)用アプリケーションとか
Coda2
MacでWEBアプリを開発する人は知っていると思うのですが、エディタ+便利機能いっぱいな
エディタ(←エディタなんじゃんw)
HTMLやPHPはもちろん、CSSとかもコード補完してくれるし、ターミナルやMySQLクライアント
が付いていたり、IDEじゃないけど、これ一本でPHP案件なんかはやっちゃう。
Eclipce
言わずと知れたマルチプラットフォームなIDE。
多機能すぎて、一部しか使ってないかも。PHPとかならCoda2で十分だけど、Javaとなると
必須になってくるかな。最近は、Java案件なんてほとんど無いけどねw
Xcode
Mac標準のIDE。iOSアプリ作るときくらいしか使わない。
ターミナル
Macには標準でターミナルが付いてるから、サーバーがLinux系なら必須。
CotEditor
軽量&意外と機能が豊富。
ちょっとした編集に使います。
ひょっとしたら、小さい案件ならこれでできるかも。
いや、やっぱ、編集用かな。
いろんなアプリケーションに浮気してみたけど、結局最終的に落ち着いたのがこれだけ。
NetBeansとかKomodoとかも使ったけど、イマイチ好きになれなかった。。。
Eclipceもそうだけど、見た目が美しくない。やる気にならないんですよね~。
テストとか
ほげほげUnitで単体テスト。(ほげほげはPHPとかJとか)
ということで、小規模~中規模くらいの案件なら、こんな環境で十分にできちゃうんですね。
とは言っても、そもそも大規模開発って何よ?って話もあるんだけども。
最近のWEBサービスとかの開発って、少人数でサクサク作るのが一般的になってるから、大手開発会社のようなめんどーなことはやりません。
設計書とかのドキュメント系は、必要最小限かつ開発に本当に必要なものしか作らないし。
でっかい開発会社とかだと、ドキュメントの厚さとかが重要とか言ってる…。
そんなこと言ってるから、良いもの作っても出来上がった頃には、中学生が同じようなものをリリースしてたりするんだよね。
ってことで、全部を書いたわけではないですが、こんな感じの環境でお仕事しています。
こんなヘボい環境で仕事してても、月に数百万は稼げるんです。
要は、技術力だけあってもダメで、効率的かつビジネスセンスを持つことが大切だと思ってます。
まず、前提に、使っているのはMacですので、Windowsの人には参考になったりならなかったり…。
設計段階では、クライアントや一緒に作業をする人に合わせていくつかのソフトウェアを使っています。
要件定義とか設計とか
Microsoft Word 2007
要件定義書(Wordは正直好きじゃないけど…)
astah professional
主にUML(ユースケースとかシーケンスとか、最近はクラス図はあんまり)
MySQL Workbench
ER図からスキーマを作るのに使ってますMySQLじゃないときはastahのER図が多いかな
Prototyper
ワイヤーフレームを書くのに使ってます。けど私はデザイナーじゃないので、管理画面とかにw
Microsoft Excel 2007
Wordと同じく好きじゃないし、滅多に使わないかな。最近は特に。
プロジェクト管理とか
iTaskX
WBS書くのに使ってます。Microsoft Projectの人とかと一緒にやるときは、XML形式で。
ガントチャートアプリを持ってない人と共有するときは、GanttProject使うこともあります。
Redmine
言わずと知れたサーバーサイドで動くプロジェクト管理ツール
と言っても、チケット・Wiki・フォーラム・リポジトリくらいしか使わない。
Subversion
こちらも言わずと知れたバージョン管理システム
Gitとか流行だけど、Subversionで今のところ十分かな。共有する文書ファイルも入れてます。
大手の会社と一緒に仕事をするときに、プロジェクト管理にExcelとかを使うパターンが多いんだけど、心では「マジかよ!おまえら、どのファイルが最新とかコンフリクトしたらどーすんの?」って思ってますw
実際に、古いファイルに追記してメールで送ってくる人がいて、マージするの超めんどーです。
開発(コーディング)用アプリケーションとか
Coda2
MacでWEBアプリを開発する人は知っていると思うのですが、エディタ+便利機能いっぱいな
エディタ(←エディタなんじゃんw)
HTMLやPHPはもちろん、CSSとかもコード補完してくれるし、ターミナルやMySQLクライアント
が付いていたり、IDEじゃないけど、これ一本でPHP案件なんかはやっちゃう。
Eclipce
言わずと知れたマルチプラットフォームなIDE。
多機能すぎて、一部しか使ってないかも。PHPとかならCoda2で十分だけど、Javaとなると
必須になってくるかな。最近は、Java案件なんてほとんど無いけどねw
Xcode
Mac標準のIDE。iOSアプリ作るときくらいしか使わない。
ターミナル
Macには標準でターミナルが付いてるから、サーバーがLinux系なら必須。
CotEditor
軽量&意外と機能が豊富。
ちょっとした編集に使います。
ひょっとしたら、小さい案件ならこれでできるかも。
いや、やっぱ、編集用かな。
いろんなアプリケーションに浮気してみたけど、結局最終的に落ち着いたのがこれだけ。
NetBeansとかKomodoとかも使ったけど、イマイチ好きになれなかった。。。
Eclipceもそうだけど、見た目が美しくない。やる気にならないんですよね~。
テストとか
ほげほげUnitで単体テスト。(ほげほげはPHPとかJとか)
ということで、小規模~中規模くらいの案件なら、こんな環境で十分にできちゃうんですね。
とは言っても、そもそも大規模開発って何よ?って話もあるんだけども。
最近のWEBサービスとかの開発って、少人数でサクサク作るのが一般的になってるから、大手開発会社のようなめんどーなことはやりません。
設計書とかのドキュメント系は、必要最小限かつ開発に本当に必要なものしか作らないし。
でっかい開発会社とかだと、ドキュメントの厚さとかが重要とか言ってる…。
そんなこと言ってるから、良いもの作っても出来上がった頃には、中学生が同じようなものをリリースしてたりするんだよね。
ってことで、全部を書いたわけではないですが、こんな感じの環境でお仕事しています。
こんなヘボい環境で仕事してても、月に数百万は稼げるんです。
要は、技術力だけあってもダメで、効率的かつビジネスセンスを持つことが大切だと思ってます。
