1K Views
April 09, 25
スライド概要
MIERUNE BBQ #15 にて発表したやつです。
どしどしご意見ください
miyamoto naoyuki N High School Student
アジャイルというモダンな開発手法を知りたい MIERUNE BBQ 宮本直幸 @MSprzk
自己紹介 名前: 宮本直幸 - Miyamoto sprzk 所属: 北海道情報大学 言語: JS, TS, Java 興味: software dev, IoT, etc.. とまとくん 最近やったこと: ポートフォリオつくってみた! @Msprzk
自己紹介
アジェンダ 1. きっかけ 2. アジャイルとは 3. ラーメン 4. 良い点、悪い点(個人の感想) 5. まとめ
1. きっかけ
きっかけ 1.ツイッターで、アジャイルの話がよく上がっていた 2.友達との開発の工程がなんとなくでしかなかったの で良いプラクティスを知りたい 3.ITパスポートで学んだとき、Waterfallやめて全部 Agileでよくね?って思った
2. アジャイルとは
アジャイルとは ”アジャイルおよびアジャイル開発とは、小さな単位で 動くソフトウエアを作っていく考え方、あるいは、その 方法論まで含めて表現する場合もあります。2020年 ごろから、ソフトウエア開発だけではなく、経営にもア ジャイルを取り入れる動きが見られます。” 引用: 野村総研 アジャイル | 用語解説 | 野村総合研究所(NRI)
アジャイルとは https://agilemanifesto.org/iso/ja/manifesto.html
アジャイルとは アジャイルの価値 ● プロセスやツールよりも個人と対話を ● 包括的なドキュメントよりも動くソフトウェアを ● 契約交渉よりも顧客との協調を ● 計画に従うことよりも変化への対応を https://agilemanifesto.org/iso/ja/manifesto.html
アジャイルとは アジャイルの原則 ● ● ● ● 動くソフトウェアを、2-3週間から2-3ヶ月というできるだけ短い時 間間隔でリリースします。 要求の変更はたとえ開発の後期であっても歓迎します。変化を味方に つけることによって、お客様の競争力を引き上げます。 情報を伝えるもっとも効率的で効果的な方法はフェイス・トゥ・フェイスで 話をすることです。 ビジネス側の人と開発者は、プロジェクトを通して日々一緒に働かなけ ればなりません。 and more 8… https://agilemanifesto.org/iso/ja/manifesto.html
じゃあ、実際どうやってるの?
アジャイルとは 実際にやる場合(XP) 反復(イテレーション)と呼ばれる短い開発期間単位を採用 →リスクを最小化 参考: NECソリューションイノベータ アジャイル開発 ~顧客を巻き込みチーム一丸と なってプロジェクトを推進する~ (前編): コラム | NECソリューションイノベータ
アジャイルとは 2〜5を繰り返す イテレーションの例 2 1 顧客とエンジニアが少数精鋭の共 開発範囲全体を短い(2週間程度 同開発チームを作成(複数のチーム を同時に立ち上げることも) でできそうな)範囲に区分する。 3 4 5 業務プロセスの優先度を考慮 2週間の期間内に、その範囲の要 リリースできた機能や残っている 業務プロセスの範囲を検討し、次 に着手する優先すべき区分を決 める。 し、どの範囲から着手するかを決 定する。 求の決定、実装、テスト、修正、リ リースを行う。 参考: NECソリューションイノベータ アジャイル開発 ~顧客を巻き込みチーム一丸と なってプロジェクトを推進する~ (前編): コラム | NECソリューションイノベータ
ラーメンづくり ウォーターフォール VS アジャイル(XP)
ラーメン(前提) ● しょうゆラーメンを作る ● 顧客は、家族・友人
ラーメン(Waterfall の場合) 要件定義 設計 味はあっさりしょうゆ、具は チャーシュー・メンマ・ねぎ スープの煮込み時間、麺の茹で 時間、具の配置等を全て決める 実装(調理) テスト(試食) 決まった工程に忠実に作る 味見は一切なし(完成まで変更 不可) 「ちょっと薄いね…」 →でも仕様通りだからやり直さない
ラーメン(Waterfall の場合) 結果... 完成品は仕様通りだけど… 「なんか味が物足りない…」 「味玉ほしい…(切実)」 でも、再調整は手間なのでリリースして終わり
ラーメン(XP の場合) 顧客と一緒に「どんな味が好 き?」ってざっくり決める ペアで調理 →味見&FBで技術を高める! ミニラーメンを試するぞ! 「もうちょいコクがほしい」 →かつおだしを追加 「味玉がほしい」 →味玉を追加
ラーメン(XP の場合) 結果... 完成までに何度も味見と改善! 食べる人も巻き込んで、一緒に作ってるので、 細かい認識のズレを減らせる 「うんめぇ〜!」 「味玉入ってる!!」 顧客満足度Good👍
比較 観点 Waterfall Agile(XP) 計画 完全に事前定義する 最小限にしてスタート 変更 基本的になし 何度も味見・調整 顧客の関与 なし 計画段階から巻き込む 柔軟性 低い とても高い
3. 良い点、悪い点(個人の感想)
良い点、悪い点(個人の感想) 良い点 ● ● 柔軟に変更ができる 継続的デリバリー ○ ● ● ● → 問題が起きても影響範囲が限定的 最低限の機能に絞って開発するため、早期にデリバリーを行い、顧客 からのFBを受けることができる チーム間のコミュニケーションが活発になる(というかそうでないと 成立しない) 小さな目標が見据えやすそう & 成果物が頻繁に見れるので、楽しそ う ○ モチベーション↑↑
良い点、悪い点(個人の感想) 悪い点 ● ● ● ● ● agile に慣れていないと、スムーズな進行が難しい(らしい) ドキュメントが不足しがち コストや時間がWFに比べて予測しにくい 契約等の法律の課題[1]がある。 多分だけど、「詳細設計ができる」などの高い能力がメンバーに求め られる 参考:[1]情報処理学会「情報処理に関する法的問題」研究グループLIP. (2024). アジャイル開発 〜契約における課題の解決〜. Available from: https://www.ipsj.or.jp/sig/lip/AgileResolvingContractIssues.pdf. [Accessed 2025-04-07].
それぞれの立場で考える
良い点、悪い点(個人の感想) 開発者的な目線 変更できるし、最高のものが作れる! Waterfallと違って、設計ずっとやらないから、成果 が見えやすくて楽しい! 顧客が思っていたものと違っても、比較的柔軟に対 応できていいね👍 でも、自分で設計からテスト、リリースまで全てに関 わるってシニアなエンジニアじゃないと難しいよね...
良い点、悪い点(個人の感想) 責任者的な目線 変更入ったら、予定変わるじゃん... 契約上にある完成予 定日すぎたらどうしよう... コストの見積もりも予定の見積もりもWaterfallより難 しい... ドキュメントより実際のコードを重視するから、保守性が 下がってしまいやすくなる...注意せねば...
良い点、悪い点(個人の感想) 開発者目線 → Waterfall < Agile 責任者目線 → Waterfall > Agile なんじゃないかな...?
5. まとめ
まとめ ● Agileとは、変更に対して柔軟である開発手 法 ● Agileには良い点、悪い点がある ● 開発者から見たら利点が多くあるが、責任 者から見るとリスクが高い 間違っていることも多くあると思いますので、ご意見いた だけるとありがたいです!