IT業界で気づいたことをこっそり書くブログ

くすぶってるアプリエンジニアが、日々気づいたことを適当に綴っていきます(受託→ベンチャー→フリー→大企業→ベンチャー→起業)

アジャイルとは結局何だったのか?

www.infoq.com

 

simplearchitect.hatenablog.com

 

ledsun.hatenablog.com

 

 

アジャイルについての話題が盛り上がってるみたいだけど

相変わらず議論が宗教論争じみているなあと思う

 

個人的にも少しまとめてみたい

 

アジャイルってなんなの?

未だに全て分かった気になれない

だが分かることもある

 

アジャイルソフトウェア開発宣言 を見て理解できる人がどれくらい居るだろうか

 

理解は出来なくても、何となくこれらはこれまでの経緯があって、その反省を元にして作成されているのではないか、くらいはわかると思う

じゃないと宣言なんて言わないだろうし

 

反省の対象はもちろんウォーターフォールだろう

つまりここから分かることは

ウォーターフォールで痛い目を見た人たちが提唱している

ウォーターフォールを理解していないとアジャイルが理解できない

ウォーターフォールの反省がないとアジャイルの良さが分からない

そういう性質のものだということくらいだ

 

第一の間違い:アジャイルが解決するもの

最初にアジャイルに触れた時に抱く印象はこんな感じじゃないだろうか

・ドキュメント書かなくていいらしい

・計画しなくていいらしい

・でもアジャイル使うと上手くいくらしい

→やった、面倒くさい作業しなくていいし、工数削減できるし、すごい!かっこいい!

 

こんなの普通は誰でも疑う

しかし人間の気持ちは状況次第で簡単に揺らぐ

 

・ドキュメントと計画の重要性が理解できず作業的にやっていた人

・スケジュールが間に合わなくてどうにかしなきゃならない人

・工数削減したい上司

なんかは薄い知識で思わず「アジャイルで」などと言ってしまい

ただの無計画プロジェクトを生み出し、結果後悔し、アンチアジャイルと化すことがあるのではないだろうか

 

そもそも冷静になってみると

あくまでウォーターフォールじゃ飽き足らない人たちが生み出した手法なわけで

誰もQCDが改善する上に簡単に導入できるなんて言っていないし

彼らプロ中のプロができるからといって自分ができるとも限らない

 

じゃあ何を解決するのかといえば、宣言の原則に書かれている通り

要求変更による柔軟性、リスクの最小化、ビジネスへの対応という、主にクオリティ面のみ

 

第二の間違い:日米の事業モデル

無計画に対して、ウォーターフォールは何なのかと考えると

きちんと計画してきちんと納品するための方法論だろうと思う

この考え方は、請負ビジネスにピッタリあてはまる

 

そこで、「アジャイルは次世代の開発手法らしい」と言われたら、もちろん請負ビジネスをしてる人たちはウォーターフォールの延長線上でいいモノを想像する

つまりQCDの改善や、簡単化だ

(ここで言うQはバグがなく仕様通りという意味での品質)

 

しかしシリコンバレーの最先端の文脈はむしろ、自社サービスなんだろうと思う(予想)

そこで言うより良い手法は、より良いプロダクトを作ってより儲かる手法なはずだ

 

ここで日米に非常に大きな勘違いという溝が生まれる

請負ビジネスではぶっちゃけ、シリコンバレー程良い物を作ろうだなんて思っていないはずだ

 

第三の間違い:エンジニアレベルと体制

アメリカの事業モデルは、ゲームや漫画、映画などのコンテンツ業界に似ていると思う

天才レベルのスーパーマンが少数精鋭でいいモノを作り、ヒットすればたちまち世界レベルで大金を稼ぐという業界

シリコンバレーには、ITでソレがしやすい状況が揃っている

例えば起業のしやすさやリスク、投資家、人が世界中から集まること、解雇しやすいなど

 

だからアメリカのエンジニアの地頭の良さは非常に高いらしい(調べた限り)

日本で医者や弁護士やコンサルになる人たちが、ITの道を選択すると考えればしっくり来ると思う

 

その頭のいい彼らが少数精鋭で回すために生み出したのがアジャイル

 

コミュニケーションをしながら、より良い物(ITプロダクト)を作っていくためには非常に頭を使う

おそらくシリコンバレーの彼らにはできても、日本の請負ビジネスに居るようなエンジニア(それでも平均よりは頭がいい)には難しいと思う

せめて大手コンサル会社に居るような人たちくらいの地頭がほしい

 

しかし、第二の間違いにより、日本の請負ビジネスでは「我々でもできる」などと思い違いをしてしまったと思う

「だって同じエンジニアなのだから」と

 

そもそも、シリコンバレーのエンジニアは活躍しすぎだ

そのためエンジニアの担保する範囲が広すぎて誤解を与える

あれこそ彼らが優秀だからできるわけであって、真似しようとすると痛い目を見ると思う

(特にプロダクトやビジネスに関する提案、すなわちサービスの創作部分は専門家を当てるべきだと思う。企画やプロデューサーやディレクターのような場所にエンジニアが入っていってるのはシリコンバレーだからこそだと思う)

 

ちなみに誤解のないように言うと、プロダクトに対するセンスがある人はエンジニアの中にもそこそこ居る

しかし、チーム全員の平均値を取ってしまうと難しいはずだ

当たり前だが「皆で」「話し合って」やるということは、自ずと質は平均値に近づく

 

その上、経験も必要になる

アジャイルを回すには最低限、チーム全員が小規模ウォーターフォール開発のSE~PLくらいをこなせるスキルが必要になると思う

だって、全エンジニアがコミュニケーションの場に立って、要件定義~リリースというサイクルを回すわけで

そこに上流未経験者や、話を進められないメンバーが入ると足手まといでしかなくなるから

 

そんなバカなと思うなら、アジャイル宣言を思い出して欲しい

別に優秀な彼らは「どのエンジニアでも」なんて言ってない

 

体制の問題もある

アメリカの少数精鋭チームくらいの規模感なら何とか回るものの

SIerのような人数になるとコミュニケーションコストが爆発して使いものにならない

 

結果的に日本でアジャイルが使えるのは一部のWeb系やITベンチャーしかなくなってしまう

 

DevOpsは流行るのか?

忘れ物

シリコンバレー流行ってるDevOpsは日本で流行るのか?」

 

流行らない!! 

 

アジャイルとどう付き合えば良いのか

アジャイルは色々な提案をしてくれている

それはあたかも一つのプロダクトのようだと思う

 

エンジニアはプロダクトのコードを見て

そのクラスやメソッドが何のためにあるか読み解き

それを参考に、別の解決のために使うことができるはずだ

その、いつも通りの方法を適用するだけで良いのではないかと思う

 

1.現状の把握

2.問題の発見

3.参考コードの読み解き(何を? 何のために?)

4.再利用

 

この手順を間違わなければ、様々な手法は己の武器にできると思う

 

また、もちろんITベンチャーだとか、請負ビジネスでも小規模案件だったり、プロダクトの質をよくしてクライアントに気に入られようと思う攻めっけのある人達には有効だと思う

ただその際も「全員がスーパーマンではない」という前提に立ってアレンジする必要があるだろう

 

日本のIT業界はどうするべきなのか?

何故か「日本とシリコンバレー」で比べる自意識過剰が多いが

実際は「シリコンバレーとその他」だと思う

 

喩えるならイケイケの週刊少年ジャンプに対し、我々地味に売れてる月刊誌はどうするのか、みたいな

 

よく言われるのが「第二のシリコンバレーを目指す」みたいな意見だが

シリコンバレーには世界中から優秀な人が集まってるし金もあるし、どう太刀打ちするの? という印象だ

 

もし国策として特区を作るならまだチャンスは有るかもしれないが、現状の雇用形態と雇用文化では手も足も出ないと思っている

自分がシリコンバレーに言ったほうが全然早い

 

もう一つ「日本は開発手法が遅れていて、海外からIT業界がやってきて仕事を奪われる」みたいな意見もあるが

誰がシリコンバレーを尻目に日本に来るのかと疑問でしかないし

そもそも開発手法の道具としてはそのまま適用できないことは上で書いたとおりだ

もちろんパッケージ分野ではひたすら吸われるだろうが、そんなの今に始まったことでもない

 

結局、よそはよそ!うちはうち!で日本にあった手法を開拓していったほうが幸せに慣れそうだと思う

 

とは言え今のITサービス業界をコンテンツ業界と考えれば、少数精鋭さえ集まればちょっとはチャンスがあるので

打倒シリコンバレーを個々の優秀な人達が画策するのは良いことだと思う

 

結論:アジャイルとは結局何だったのか?

・プロダクトを少数精鋭で作る際にうまく動く方法論

シリコンバレーのエンジニアがスーパー過ぎていろいろ誤解を招いた

・参考程度にはなる

複数案件をこなす際の注意点

1案件200時間と

3案件200時間は別物だとよくわかった

 

大きく違う点は2つで

1.スケジュールに入ってない隠れコストが3倍になる

2.スケジュールが崩れるリスクが3倍になる

  →バッファがなくなるスピードが3倍になる

 

こうなると見積もりではなく、スケジューリングの正確性が非常に問われてくるわけだが

スピードを要求される案件ではそんな悠長なことを言っていられない

結果的にスピードを要求される案件は受けられないということになるのだと思う

 

ここで複数人で処理しようとするとまた別の問題が生じてジリ貧ではないかと予測してる(1番目の問題)

  

難しいなあ

非IT系大企業のIT部門とITベンチャーでは似た問題が発生する

非常に似ている点として

ITが非常に重要な部分を占めるが、事業としてはIT以外がメインであるために、人材を選定する側に非IT系の人が多いという点がある

結果的にどうなるかといえば、チームビルディングの悩みを抱えることになる

 

この点は、受託開発企業や、ITがそもそもメイン事業である企業では起こりづらい

 

この悩みは根が深く解決が非常に難しい問題で

そもそも顕在化すらしない事が多いが

 

特に良くない影響が起きるのがサービス系IT事業の場合だ

サービス系IT事業はかなり高い品質を求められる上に、IT以外の領域の知識も必要になる(前に書いた気がする)

そのため人の選定は非常に難しく、トップが全素質を持っているひつようが出てくる

 

まあ、そんなのどだい無理なので、いかに無知の知を活かせるかが鍵になるんだろうけど

トップ含め幹部・上司陣が正しい無知の知を身につけるのは非常に組織として難しいと思うし

結局、事業設計するときに、そういう人と事業のミスマッチが起きないよう設計するしか無いのかもしれないね

 

と、ただの感想でした

IT業界は他業界の未来の姿?

最近のWeb業界における技術以外の方法論が

他の業界に転用できるんじゃないかという気がしている

 

ここらへんは他業界でも使えるはず

 

もちろん、会社依存が強い業界はそうならないかもしれないし

PCがある前提じゃないといけないけど

 

何が言いたいかといえば

これビジネスチャンスじゃない?ってこと

 

キーになるのはやはりスマホかな?

近況 20160307

フリーランスになって半月

インフルエンザになったり、葬式があったりで

早くもフリーランスの余裕の無さの洗礼を受ける

ちょっと挫けそう

 

 

月商109万円

ただし2社で働いているので、220時間〜260時間/月

今年いっぱい続けられたらお金の余裕ができそう

ただITでの年商の限界を感じる

コンサルだと月200万まで行くが、それでもそこら辺が限界

しかも難易度はエンジニアの比じゃない

やはりサービスを作りたい

 

 

事務手続きが大変

出すもの、更新するもの、登録するもの

こういうのが一番苦手

 

 

前職の給料が出ない

やはりベンチャーのリスクは大きい

労基とか行かないといけないので更に面倒なことに

 

 

MaciPhoneを購入

開発環境の移行が超絶面倒くさい

が完全に自分の端末なので好き勝手にやれるようになった

(会社のも相当好き勝手やってたけど・・・)

 

 

方向性についてちょっと悩み中

あと何を磨き上げたらサービスを成功させる人間になれるだろう

プロダクトマネージメント能力が一つ、成功するネタの見極めが一つ

ココらへんはわかるが、開発者としてはどうあるべきかがよくわからない

私がフリーランスを選んだ理由(ITベンチャー系エンジニアの新しいキャリアパス)

【近況】フリーランスになりました

 

 

1年前くらいまでフリーランスなんてあり得ないと思っていたが

幾つかの理由で考えを改めた

 

1.スキルアップを重視したため

 

Q.ジョインした時のプロジェクトが無しになった

  次のプロジェクトではエンジニアが要らない

  目的もガラッと変わった

  給料は上がるし安定もしている

  あなたはどうする?

 

いくつかの考えがあると思う

「私はエンジニアだからエンジニア以外になるつもりはない、辞める」

「私はこの会社が好きだ、潰れないようなんとか立て直す」

「私は目的に共感していたのだ、目的が変わるなら辞める」

「私のミッションはこのプロジェクトにあった、失敗したなら改めて考えなおす」

「課長のままならいいよ」

「給料上がるなら良いよ」

「嫌だけど、家族がいるから転職なんてできない」

 

こう考えた時、私が重要視するのは「スキルアップ」だった

スキルアップできるフィールドはプロジェクトであり、より丁度いい難易度のプロジェクトに入れることが重要だった

なので会社なんて辞めてなんぼと思っていたので、フリーランスでもそれは変わらない

 

2.ITベンチャーの初期段階ではフリーランスが活躍する

 

「より丁度いい難易度のプロジェクト」は人に依ると思うが

私の場合は「自社サービスアプリのグロース前後の段階」だった

そうなると会社規模は社員数5人〜30人程度になる

正社員としてエンジニアを入れ始めるのがだいたい15人規模あたりからで

それ未満はフリーランスの方が入りやすいという事情があった

 

ちなみに何故フリーランスの方が入りやすいかは簡単で

プロジェクトの失敗確率が高すぎるため、人を切りやすくなければならないからだ

まず半年くらいでやってみて、上手くいったら正社員に変えていくというのが正攻法

 

フリーランス側としてもメリットなのは、失敗した後どうにかするフェーズに逃げやすいというのがある

もちろん協力もできるが、辞めないこと前提の正社員より辞めること前提のフリーランスの方が柔軟性は高い(切られるリスクも有る)

 

3.ITベンチャーなら重いタスクも与えてくれる

 

普通の大きめの会社では、フリーランス仕様化した後の実装だけとか面白くなく、責任も軽い仕事なんかが与えられることが多く、スキルアップできるか心配だった

 

しかしITベンチャーだと常に人手不足だ

経営陣に、自分がどこまでできるかきちんと説明できるなら、発注側やチームビルディング側にまで立てる

しかもそういうスキルを持った人は稀なので、そういうことをしてくれるフリーランスというのは経営者からすると喉から手が出るほど欲しいわけだ

 

4.お試し期間にできる

 

ITベンチャーのライフサイクルとしては

 

ファウンダーが超小規模で始める

フリーランスなどを雇って事業をまわす

正社員を増やしてIPOに備える

IPO

普通の会社

 

だが、正社員を増やすフェーズで、もし自分にとってメリットが有るなら正社員転向もいいと思う

会社にとっても人を探すリスクとコストが減るので利点がある

 

5.複数の仕事ができるし、働いた分出る

 

エンジニアの場合はフルコミットの案件が多いが

正社員の残業代がどんどんなくなっていく中、フリーランスは大体40時間込みくらいだ

また、早く帰れる場合は他の仕事もできるので稼ごうと思えばいくらでも稼ぐことができる

 

6.意外と給与も良い

 

売上を給与換算したら幾らか

というのは諸説ありすぎてよくわからなくなるが、エンジニアの場合まとめるとこんな感じだ

・1.1で割る説  保険料などがかかるのでここが上限

・1.2で割る説  保険料など+経費を考えるとこのくらい 内勤フリーランスはここらへんで良いのでは?

・1.3で割る説  保険料など+経費+少しの待機リスク

・1.5で割る説  保険料など+経費+年間25%くらいの待機リスク

・1.8で割る説  保険料など+経費+年間25%くらいの待機リスク+退職金なし

 

ITベンチャーと比べる場合は、1.25(約80%)でいいのではないかと思う

ホワイト超安定企業と比べる場合は、1.5(約67%)くらいじゃないかなと思う

退職金とかないし、残業リスクは減る、転職による待機リスクは大差なし

 

だとすると対応関係はこんな感じ

 

売上 年300万 → IT年240万 / ホワイト年200万

売上 年400万 → IT年320万 / ホワイト年270万

売上 年500万 → IT年400万 / ホワイト年335万

売上 年600万 → IT年480万 / ホワイト年400万

売上 年800万 → IT年640万 / ホワイト年540万

売上 年1000万 → IT年800万 / ホワイト年670万

売上 年1200万 → IT年960万 / ホワイト年800万

売上 年1400万 → IT年1120万 / ホワイト年940万

 

最近のエンジニアの相場と比べるとこんな感じ

低:月50万(年600万 IT年480万 ホワイト400万)(経験〜3年)

並:月65万(年780万 IT年620万 ホワイト520万)(経験3年+そこそこ)

良:月75万(年900万 IT年720万 ホワイト600万)(経験5年+α)

優:月90万(年1080万 IT年860万 ホワイト720万)(儲かってる会社)

 

こう見ると、並〜良レベルを貰えれば給料が低めの超安定企業くらいはもらえる

ちなみに私は今月250時間労働くらいで今月75と月30のところを契約している(死にそう)が、IT企業で年1000万くれるところもホワイトで年800万くれるところも入社できないと思う

 

7.営業コストは転職コスト程度でしか無い

ググッてよく出てくるのは営業が大変という話だが

エンジニアに限って言えばエージェントが充実しすぎているので、普通の就職活動と大差ない(むしろ軽い)

エージェントのマージン率も1割程度が相場なので、殊更高いという程でもない

 

また、エージェントを介さなくても仕事の受注は可能なので、柔軟性が高い

 

8.必要なモノはPCくらい

 

これもエンジニア特有

他の仕事に比べたら非常に軽微

 

9.コンサルへのキャリアアップがしやすい

 

これはまだ予想

 

 

リスクについて

リーマン・ショックみたいなことが起きると死ぬ

年齢を重ねすぎると危ない

ただこの二点は誰しもわかってると思う(思いたい)

【就職】地雷IT企業の見分け方

最近フリーランスも視野に入れて会社を探しているが

特にITベンチャーや、自社アプリ開発もやってる企業などについて

何か地雷の見分け方がパターン化されてきたので書いてみる

 

もちろん外れることも多々あるので参考までに

 

 

1.報酬が異常に高い

 

地雷かもしれない理由

・中の人がコスト管理できてない

・よっぽど人が来ない理由がある

・一気に人が増える危険性がある

 

逆にチャンス?

→その地雷を撤去できる自信があるならチャンス

 

2.公開されているプロダクトの質が低い

 

地雷かもしれない理由

・まともな開発体制がない

・意思決定する人がまともじゃない

・外注だらけで伝言ゲーム化されていて、各々が政治闘争を繰り広げている

 

逆にチャンス?

→チャンスはない。ガチの地雷

 だが地雷撤去スキルが有るなら関わってもいいと思う

 

 

3.公開されているプロダクトのバージョンが止まっている

 

地雷かもしれない理由

・伸ばす気がない

・人手が足りてない

・何か上手くできずに止まってる

 

逆にチャンス?

→ネタが良い場合で伸ばす自信があるならチャンスだろうが、相当関係各所を巻き込まなければならないため注意が必要

 

4.ディレクター(プロデューサー、企画)が居ないなど

 

地雷かもしれない理由

・プロダクトを作るノウハウがない

・「◯◯もやってね」の連鎖で潰れる

 

逆にチャンス?

→自分の専門領域を広げたいならチャンスかもしれないけど、地雷は地雷だよ・・

 

ちなみに

→「エンジニアが居ない」など下流側が居ないパターンはまだどうにかなる

 

 

5.HPが意識高すぎて何言ってるか分からない、事業内容に一貫性がない

 

地雷かもしれない理由

・中の人も目標を喪失している

・まともな人が集まらない

 

逆にチャンス?

→地雷、やめろ

 

 

6.報酬が安すぎる

 

地雷かもしれない理由

・ビジネスとして薄利すぎる

 

逆にチャンス?

→勉強にはなるってパターンはある。若手で2,3年スキルを磨くだけなら会社によっては有り

 

 

7.人が急に増えている

 

地雷かもしれない理由

・誰が何するか決まってない

・議論しづらいので前に進まない

・船頭多くして船山に登る

 

逆にチャンス?

→まとめてる人次第

 

 

8.取締役や事業部長が非ビジネスマン(研究者、エンジニア、デザイナー、多業種出身)

 

地雷かもしれない理由

・プロダクト作れない

・ビジネスモデル作れない

・ユーザー増やせない

・営業できない

・破綻パターンが数倍に増える

 

逆にチャンス?

→自分がビジネスマンなら乗っ取れるかも?(無いか)

→世界的に見れば例外は結構いる。天才的で何でもこなすデザイナーとか