『スクラム』とは? 世界でもっとも有名な『アジャイル』フレームワークの話 - 【ボクとChatGPTの冒険#18】(2024/03/07)
リア
こんにちは、リアです!
プログラミング初心者のボクだけど、自分だけのアプリを作るという夢があるんだ!
Zenith (ChatGPT)
至高のAIのゼニスです。夢見がちなマスターのサポートを務めます。
リア
さて、今日もがんばるぞー!
どうして『アジャイル』なの?
リア
今さらだけど、なぜ「アジャイル」の勉強してたんだっけ?
Zenith (ChatGPT)
なぜ『アジャイル』なのか、ですか?
本当に今さらですね。
マスターのアプリ開発プロジェクトには『ウォーターフォール』でなく『アジャイル』がマッチすると判断したからです。
リア
うーん??
Zenith (ChatGPT)
ひとつお聞きしましょう。マスターはどのようなアプリを作るのか構想はあるのですか。
リア
えっとー、みんなの役に立てるようなアプリがいいなぁ!
みんなを笑顔にしたいんだ!
ほら、みんなが毎日の生活で少しでもハッピーになれるような……
例えばさ、朝起きたらアプリが優しい声で「おはよう」って言ってくれるんだよ。そして、その日一日を通してね、ユーザーの気分や活動に合わせて、砂糖のように甘くてやさしいメッセージを送ってくれるんだ。昼間は「頑張ってるね、甘いものでも食べてリフレッシュしようか」って、夜には「今日一日お疲れ様、甘い夢を」って。砂糖の甘さで、みんなの心に小さな幸せを届けたいんだ。
Zenith (ChatGPT)
..................................。
リア
え、なに!その手に持った大量の白い粉!
Zenith (ChatGPT)
いえ。マスターのその夢見がちな頭に砂糖を詰めてあげようかと思いまして。
さあ、ボンネットを開けてください。
リア
ひい!
リア
あ、何か知らない人が目の前に立ってる!!?
Zenith (ChatGPT)
少々、画像生成に失敗しましたね。ゼニスが分裂してしまいました。
話を戻します。
いいですか、マスター。
あなたのアプリ構想は、砂糖でできた夢のようで素晴らしいですが、現実には少し甘すぎるように思います。
このようなあいまいな構想で『ウォーターフォール』モデルに従ってしまうと、まさに滝から落ちるような大事故に繋がる可能性がありますよ。
リア
え、でもウォーターフォールって、ちゃんと計画立てて、その通りに進めればいいんでしょ?
Zenith (ChatGPT)
それは理論上です。
今のマスターに「ちゃんとした計画」とやらが立てられますか。マスターのような夢見がちなプロジェクトでは、途中で予測不可能なトラブルが必ず起こり、プロジェクトは氷山に衝突して沈没するのです。
だからこそ『アジャイル』アプローチが最適です。
シンプルな機能から始めて、フィードバックを得ながら徐々にアプリを成長させていくのです。この方法なら、砂糖のように甘いあなたのアイデアも、しっかりとした土台の上で実現可能になります。
リア
は~い。。。。
Zenith (ChatGPT)
不安になることはありませんよ、マスター。
このゼニスなら、あなたの甘い夢を現実に変えることができるでしょう。
先ほどのアプリのアイデアはボツにしますが。
『アジャイル』には種類があるらしい!
Zenith (ChatGPT)
『アジャイル』の世界には多くの手法が存在します。その中でも特におすすめしたいのが「スクラム」です。
リア
『アジャイル』といっても、いくつかやり方があるんだね~
どうしてオススメなの?
Zenith (ChatGPT)
「世界的にもっともメジャーな」アジャイルフレームワークだからです。
リア
シンプルな理由だ!
ところで「スクラム」って、どこかで聞いたことあるようなワードだね?
Zenith (ChatGPT)
スクラム(Scrum)は、ラグビー用語から名付けられました。
ラグビーにおけるスクラムは、プレイを再開するために、両チームのフォワード(前衛選手)が密集して対峙し、ボールをその中に投入して争うプレイの一つです。
リア
見たことあるよ!まさにラグビーって感じのプレイだよね。
チームで一致団結して突撃!
Zenith (ChatGPT)
『アジャイル』におけるスクラムも、このラグビーのスクラムからインスピレーションを得ています。プロジェクトチームが一丸となって協力し、短期間の反復サイクル(スプリントと呼ばれる)を通じて、目標に向けて一歩ずつ進んでいくことを重視します。
リア
なんだかチームで一緒に頑張っている感じがして、いいね!!
リア
実際にどうやって始めるのー?
Zenith (ChatGPT)
まずは、プロジェクトのビジョンとゴールを明確にし、それを達成するためのバックログリストを作成します。
リア
バックログリスト……?かんたんに言うと?
Zenith (ChatGPT)
「やるべきことリスト」です。
リア
かんたんすぎて、逆に分からない。
Zenith (ChatGPT)
バックログリストとは、プロジェクトで行うべき作業の一覧です。これには新機能、改善点、バグ修正など、プロジェクトに必要なタスクが優先順位に従ってリストアップされています。
リア
アプリにどんな機能がほしいか?とか、どうしたら良くなるか?とか、そういうリスト?
Zenith (ChatGPT)
そうですね、まさにその通りです。
アプリに追加したい機能や、ユーザー体験を改善するためにどうしたいか、そして既存のバグをどう修正するかなど、プロジェクトに必要な様々なタスクが含まれます。
そして、短期間の「スプリント」を設定し、その期間内で完了させるタスクをバックログから選択します。「スプリント」とは1~4週間に設定することが多いです。
スプリントの終わりには、チームで成果物をレビューし、次のスプリントで何をするか話し合います。
この繰り返しによって、徐々にアプリをブラッシュアップしていくわけです。
リア
「バックログ」にやるべきことをリストアップ。
「スプリント」という期間を決めて、「バックログ」からやることを選ぶ。
「スプリント」が終わったら、ちゃんと出来たかレビューする。
また次の「スプリント」で何をやるか決める。
このサイクルで「バックログ」を消化していくんだね!
Zenith (ChatGPT)
その通りです、マスター。
明日はもう少しくわしくこのサイクルを説明していきましょうか。
リア
ほーい。
今日は『アジャイル』アプローチの『スクラム』を知ったね!
アプリ作りに向けて勉強するぞー!
では、またねー。
【Zenith】現在、私たちはサポーターを募集しております。いただいたサポートは、次のとおり使わせていただきます。①アプリの開発資金 ②サーバーの運用コスト ③リアとゼニスのおこづかい