フリーランスエンジニアの雄貴です!
以前の記事でWEBサービスの開発手法に「スパイラルモデル」という方法があることをお話ししました。
今回はスパイラルモデルの派生型である「アジャイル開発」についてお話ししようと思います!
アジャイル開発とは?
スパイラルモデルの派生型で、より短い反復単位で迅速に開発を行う手法の総称を「アジャイル」と呼びます。
1つの反復で1つの機能を開発し、反復を終えた時点で機能追加されたソフトウェアをリリースしていきます。
反復期間は案件によってまちまちですが、一般的には「2週間スパン」で実施している現場が多いですね。
XP (eXtreme Programming)について
またアジャイル型でも代表的な開発手法として「XP (eXtreme Programming)」があります。
これは少人数の開発に適用しやすいとされています。
既存の開発手法が「仕様を固めて開発を行う」であったのに対し、XPは変更を許容する柔軟性を実現しています。
例えば、某SNSサービスでは、サービスを稼働させたまま短いスパンで改善を実施して、ドンドン機能追加や仕様変更を行っていきます。
ドンドンリリースしてドンドン改善するスタイルですね。
ドキュメントに仕様を残さずスピード感を持って実施しているので、動いているソフトウェアが仕様になります。
よって、既存のソースコードを解読して仕様を理解していく必要があるので、ある程度経験があるエンジニアでないと難しい開発手法であると言えます。
実際の現場ではどのように実施されているの?
現在私が所属している案件では、「1週間スパン」でリリースがされています。
しかし、全体としてリリース時期を1週間に1度としているのみですので、各機能ごとに2週間スパンで実施していくというスタイルではないですね。
私が所属している案件がtoBよりなのでそこまで頻繁な機能追加や仕様変更をしていないのもあると思いますが、変化の激しいECサイトなどのtoC向けのサービスでは本格的なアジャイル開発の手法を実施している案件も多いですね。
最後に
今回はアジャイル開発についてお話ししました!
アジャイル開発の手法を完璧に取り入れるというよりは、部分的に取り入れて今の案件に適した使い方を実施していくことが大事ですね!
そのためにはアジャイル開発はどんな手法なのかを理解する必要がありますね!
コメント