ソフトウェア開発

アジャイル開発の意味、誰も分かっていない件

agile-development

フリーランスのエンジニアをやってます。

 

スタートアップや中小規模案件の多くで、アジャイル開発が採用されています。

一介のエンジニアとして、こういった開発案件を受ける時、クライアントや仲介から、

「アジャイル開発の経験は、ありますか?」

と聞かれます。

 

アジャイル開発・・

その度、思うのです。

 

この人達、なんとなくの雰囲気で、「アジャイル開発」という言葉を使っていて、「アジャイル開発」が何なのか分かっていないんだろうな。(私も含めてですが。。)

 

誰もアジャイル開発を理解していない

「弊社の開発案件では、アジャイル開発を採用しています(キリッ)」

「アジャイル開発」と言えば、専門性のあるプロっぽく聞こえますよね。

 

では、そういった人に「アジャイル開発」がなんたるかを聞くと、次のように考えているはずです。

アジャイル開発とは、エンジニアに無茶振りしても、臨機応変に対応してくれる開発手法

 

これは、アジャイル開発の現場を多く経験してみて、あながち間違っていないですね。

この手の開発プロジェクトでは、ほとんどが、仕様が定まっていない、あるいは、頻繁に仕様変更が発生するので、エンジニアが振り回される機会が少なくありませんから。

 

アジャイル開発は、技術よりも体力やメンタルが必要

アジャイル開発を調べてみると、以下の意味でした。

一部抜粋します。

アジャイル開発とは

  • 人間・迅速さ・顧客・適応性に価値を置くソフトウェア開発
  • チーム主導で設計・実装・デプロイを短期間に繰り返してユーザーが得た価値を学習し適応する、すなわちトライアルアンドエラーで開発が行われる

(Wikipediaより)

 

あらためて、こうして説明を読むと、納得できる部分もありますが、

現場経験者からすると、いささか、理念や理想主義的な印象を受けますね。

 

確かに、この説明通りの開発手法で、継続的にパフォーマンスが発揮できれば、それは凄いと思います。

でも、そんな素晴らしい現場は、「アジャイル開発を採用しています」と主張している開発プロジェクトの半分にも満たないでしょう。

大半のアジャイル開発のプロジェクトでは、「まだ仕様がブレている状態です。まあ、よしなにやってくださいよ」という感じです。

もちろん、アジャイル開発の意味など分かっていません。

 

アジャイル開発

本来の意味

チーム主導で設計・実装・デプロイを短期間に繰り返してユーザーが得た価値を学習し適応する、すなわちトライアルアンドエラーで開発が行われる

現場の意味

エンジニアに無茶振りしても、臨機応変に対応してくれる開発手法

仕様未確定、あるいは、頻繁に仕様変更が発生する

現場感では、アジャイル開発の本来の意味実際の意味が、乖離しているように感じます。

そして、このようなアジャイル開発って、炎上案件になりやすいんですよね。

 

「アジャイル開発の経験ありますか?」

 

そう尋ねられたら、

私は、技術力うんぬんの話ではなく、

(無茶振りをこなせるくらい)体力やメンタルにおいて、十分タフですか?

と解釈するようにしています。

ABOUT ME
普通のフリーランスエンジニア マノリさん
1981年生。早稲田大学卒。秋葉原(外神田)在住。フルリモートで作業中。昼は人で溢れかえり、夜は誰もいなくなる電気街で、仕事を頑張る。趣味は、小説と散歩