Upgrade to Pro — share decks privately, control downloads, hide ads and more …

リーン、アジャイルと自社プロセスの比較

 リーン、アジャイルと自社プロセスの比較

・リーンソフトウェア開発、アジャイルソフトウェア開発の概要
・自社開発プロセスの概要と展望

kouki.miura

May 30, 2024
Tweet

More Decks by kouki.miura

Other Decks in Programming

Transcript

  1. リーン、アジャイル リーンソフトウェア開発 アジャイルソフトウェア開発 ↑ 抽象化 具体化 ↓ アジャイル開発 リーン生産方式 トヨタ生産方式(TPS)

    体系化(MIT ジェームズ・ウォマック ) ・ジャストインタイム ・自働化 ・ジャストインタイム ・自働化 ・人、迅速さ、顧客、適応性 ・実践投入とカイゼン ソフトウェア業 に転用 ・人、迅速さ、顧客、適応性 ・実践投入とカイゼン ・顧客満足度を優先 ・数週間~数か月の短い   時間間隔でリリース ・ムダをなくす ・品質を作り込む ・知識を作り出す ・決定を遅らせる ・速く提供する ・人を尊重する ・全体を最適化する リーンソフトウェア開発とは https://wakka-inc.com/blog/15492/ 製造業に転用 プロセスやツール < 個人と対話 包括的なドキュメント < 動くソフトウェア 契約交渉 < 顧客との協調 計画に従うこと < 変化への対応 アジャイルソフトウェア開発宣言 7つの原則 ソフトウェア業 製造業
  2. リーンソフトウェア開発 ムダをなくす 品質を作り込む 決定を遅らせる 知識を作り出す 速く提供する 人を尊重する 全体を最適化する ・未完成の作業 ・使われないコード

    ・余分な機能 ・作業の引継ぎ ・作業の切り替え ・開発の遅れ ・バグ ・顧客の開発参加 ・テスト駆動開発 ・リファクタリング ・CI(Continuous Integration) ・テスト自動化 ・デモとフィードバック ・顧客からのフィードバック ・失敗の共有と改善 ・知識の蓄積と活用 ・必要なことのみ決定する ・必要なときに決定する ・必要な量だけ決定する ・重要なことほど遅らせる ・材料が揃ってから決定する 自働化 ジャストイン タイム ・早期に製品やサービスを提供 ・開発期間を短縮 ・一度の開発規模を小さく ・小さな開発を繰り返す ・CD(Continuous Deployment) ・管理ではなく権限の委譲 ・互いに尊重 ・各自の創造性と的確な判断 ・自律的な働き・思考 ・自己組織的なチーム ・目的の明確化 ・顧客価値創造の全体を理解 ・長期的な視点 ・ビジネスそのものの成長 仮説 構築 計測 学習 意思決定 MVP (Minimum Viable Product) 7つの原則 5つのステップ
  3. アジャイルソフトウェア開発 アジャイルソフトウェア開発宣言( 2001年) https://agilemanifesto.org/iso/ja/manifesto.html スクラム(Scrum) 1986年 論文、1993年 実践 XP(Extreme Programming) 1999年 書籍

    FDD(Feature Driven Development) ユーザー機能駆動開発  1997年 ・プロダクトオーナー ...プロダクトバックログ (要求リスト)を作成 ・スクラムマスター ...スクラムチームが円滑に回るように調整 ・開発者...スプリントバックログを作成、インクリメントを開発 ・プロダクトバックログ ...要求リスト、優先度 ・スプリントバックログ ...スプリントごとのゴールと要件リスト ・インクリメント ...スプリントごとの動作するソフトウェア 役割 作成物 フレームワーク 5つの 基本活動 ・全体モデル開発 ...基本設計 ・featureリスト構築...機能をfeature(2W未満)まで細分化 ・featureごとの計画...featureをクラスに割当て、開発担当を決定 ・featureごとの設計...担当はfeatureを設計、インスペクション実施 ・featureごとの構築...コーディング、テスト、インスペクション 開発プラ クティス ・テスト駆動開発 ...テストを書いてからプログラムを書く ・ペアプログラミング ...二人でコードを書く ・リファクタリング ...動くコードをシンプルに修正する ・YAGNI…You arenʼt going to need it. 必要なコードだけ書く
  4. 自社プロセス 医療系ソフトウェア開発 プログラム医療機器開発 SaMD(Software as Medical Device) 要求事項 医療系 ソフトウェア

    要求事項 SaMD ・QMS  ・ISO/IEC27001(ISMS) ・医療機器製造業登録 ・QMS省令(厚生労働省令第169号)  ・ISO13485  ・JIS T 2304/IEC62304  ・JIS T14971/ISO14971 企画・提案 要件定義 設計 製造 試験 導入 保守 ウォーターフォール インクリメンタル ドゥウェル開発プロセス 現在のスコープ 将来のスコープ 企画・ 提案 要件定義 ・設計 製造・ 試験 保守 新ドゥウェル開発プロセス ・ムダをなくす ...必要な文書だけ、手順見直し ・品質を作り込む ...テスト駆動、リファクタ ・知識を作り出す ...知識の蓄積・活用 ・決定を遅らせる ...必要なときに決定する ・速く提供する ...イテレーティブ、 CD ・人を尊重する ...自己組織的なチーム・環境 ・全体を最適化する ...目的の明確化、長期的視点 ・電子カルテ ・部門システム ・診断プログラム ・治療プログラム ・DTx
  5. SUMMARY ・リーンソフトウェア開発の成り立ち、要点 ... トヨタ生産方式が原点 ・アジャイルソフトウェア開発の成り立ち、要点 ... ソフトウェア業で生まれた考え「型」 ・リーンソフトウェア開発 7つの原則 ... とにかく「ムダをなくす」こと ・リーンソフトウェア開発 5つのステップ ... つまりPoC(概念実証) ・アジャイルソフトウェア開発宣言

    ... アジャイル開発のエッセンスを抽出 ・アジャイルソフトウェア開発 フレームワーク ... スクラム、XP、FDD ・現在の自社プロセス … ウォーターフォール+インクリメンタル ・将来の自社プロセス … リーン・ベースの医療 S/W開発プロセス ご清聴ありがとうございました。