はじめに
こんにちは!新人エンジニアのふかこうです!
今回は私が仕事でアジャイル開発をしていることもあり、それについての記事になります。
アジャイル開発ってどんな開発?っと思う方は是非読んでみてください!
この記事の対象者
・アジャイル開発について知りたい方
・初級エンジニア
・エンジニアとして働きたい方
・IT企業に就職する学生
筆者のレベル
・新人エンジニア
・Android開発初級
アジャイル開発とは
アジャイル開発では、短い期間でリリースし、フィードバックを受け、改善するサイクルを基本としています。(図表1)
図表1
一度リリースして終わりではなく、リリースしたソフトウェアに対するユーザーの
フィードバック自体が開発サイクルに含まれる点がアジャイル開発の原則であり、特徴です。
ウォーターフォール開発との違い
アジャイル開発とよく比較されるのがウォーターフォール開発です。
ウォーターフォール開発では、工程を「企画」「設計」「実装」「テスト」に分割した上で開発を進めていきます。
開発期間ですが、数ヶ月から数年かかるものもあるようです。
全ての工程が無事に完了したあと、はじめてソフトウェアを利用することができるため、開発の計画や予算の見積りが容易になります。
ですが、製品の完成後に初期段階のトラブルに気が付いた場合、戻るための工数が大きくなってしまいます。
それに比べアジャイル開発では、ユーザーのリアルな声を製品に反映しながら開発できるので、より速いスピードでユーザーにプロダクトや新機能を提供することができるのです。
開発期間は開発チームにもよりますが、一般的に1〜3週間程度で、機能をリリースします。
自分の所は機能にもよりますが、2〜3週間、3〜4週間のものが多めです。
アジャイル開発手法「スクラム」について
先に挙げたアジャイルの亜種とも呼べる開発手法です。
チームを組んで役割やタスクを分散しつつ、コミュニケーションを取りながら行う特徴があります。
スポーツとして馴染み深いラグビーのスクラムにちなんで、「スクラム開発」と名付けられました。
スクラム開発はチーム全員で開発を進める手法のため、アジャイル開発の中でも、チーム間のコミュニケーションがより大切になる開発手法です。
スクラム開発に適した案件は?
ズバリ!後々に更新が必要なシステムです。
例を挙げると、常に更新が必要な運用型のWEBサイトやアプリケーション開発、最終的な納期よりも品質を優先したい案件に向いています。
チーム間で連携をしつつ、速度と確実性の高い開発を行いたい場合は、スクラム開発を選択することをおすすめします。
アジャイル開発まとめ
アジャイル開発はスピーディーにお客様の声を聞きながら進めていきます。
完成したから終わり、、、ではなく、リリースした後もどんどん進化していきます。
今誰もが手にしているスマートフォンアプリもその一つです。
私の現在携わっている仕事もアジャイル開発でAndroidアプリの新機能追加などを行なっています。
お客様の声を聞きながら、より良いサービスを提供できることがアジャイル開発の良いところだと思いました。
今回この記事を書く上で「いちばんやさしいアジャイル開発の教本 人気講師が教えるDXを支える開発手法」という本を参考にしました。
講師の方がわかりやすくアジャイル開発について教えてくれるのでオススメです。
是非読んで見てください!
以上