エンタープライズアジャイル開発実践ガイド
マイナビ出版
エンタープライズにアジャイル開発を導入しようとしているすべての人に。
企業にアジャイル開発を導入するときに、何が障壁となり、何が課題となり、どのように取り組んでいけばその中で成功がつかめるのか?
アジャイル開発を成功させるためのチーム作り、プロジェクトの進め方、プランニングからリリースまでの流れ、開発時に必要な技術、評価と改善まで、徹底的に解説。
エンタープライズでのアジャイル開発の実現に向けて様々な経験をし、度重なる試行をしてきた執筆陣が、その実践の中で得た知見とノウハウをこの一冊に凝縮しました。
前半は「導入編」として、「チームを作る」「開発の準備」「開発」「評価と改善」など、それぞれの場面でのアジャイルの理想と現実、そしてどうしたら上手くいくか、を説明しています。これらを参考に、是非、読者自身の組織やチームに適用してみてください。
後半は「実践編」として、「要件管理」「アジャイルで求められる開発技術」「品質管理」「構成管理」「DevOps」「プロジェクト管理」などのトピックを解説しています。
「アジャイルに必要な考え方やプロセスだけでなく、エンジニアリングの解説もしています。これまでの私たちの経験のなかで、アジャイルの実践においてはプロセスだけに力を入れても上手く実践できないことを学んだためです。プロセスとエンジニアリングを両輪として実践していく必要があります。プロセスとエンジニアリングの両方が書かれていることも本書の特徴です。
本書を読んだあと、アジャイル導入に関するあなたの悩みや課題が解消でき、よいプロダクトができ、顧客へさらなる価値が提供できることを期待しています。」(著者「はじめに」)
発売日:2020-12-28
ページ数:416ページ
目次
Introduction
1 アジャイル開発の守破離
2 ソフトウェアのビジネス価値
3 アジャイルを始める前に理解しておくべきこと
4 我々の知っているアジャイル開発
5 アジャイル開発のフレームワーク
6 アジャイル開発についてよく聞かれる2つのこと
導入編
Chapter1 チームを作る
1-1 メンバーを集める
1-1-1 プロダクトオーナーを決める
1-1-2 プロダクトオーナーの権限
1-1-3 開発チームのメンバーを集める
1-2 チームビルディング
1-2-1 メンバーの適切な関係を作る
1-2-2 目標に対して一丸となる
1-3 環境を整える
1-3-1 ステークホルダーのサポートを受ける
1-3-2 快適な作業環境を準備する
Chapter2 開発の準備
2-1 プロジェクトの方針を決める
2-1-1 方針の決め方
2-1-2 プロジェクトを管理する方法
2-1-3 関係者の認識を合わせる
2-2 プロダクトバックログの作成
2-2-1 プロダクトバックログアイテムを作成する
2-2-2 アイテムの優先順位を決める
2-2-3 リリースのタイミングを決める
2-3 開発のスタートができる状態にする
2-3-1 開発環境を構築する
2-3-2 開発のリハーサルをする
2-4 ステークホルダーへの説明
2-4-1 ステークホルダーへの説明
Chapter3 開発
3-1 イテレーション(スプリント)のプランニング
3-1-1 プランニングの準備
3-1-2 プランニングで目標とスコープを決める
3-1-3 プランニングで開発作業の計画を立てる
3-2 バックログアイテムの実装
3-2-1 リリースまでの開発の進め方
3-2-2 開発中のコミュニケーション
3-2-3 設計
3-2-4 コーディング
3-2-5 他のシステムとの連携
3-2-6 テスト
3-2-7 デイリースクラムの開催
3-2-8 ドキュメントの作成
3-2-9 開発したソフトウェアのレビュー/ 受け入れ
3-3 ソフトウェアのリリース
3-3-1 計画した通りにリリースする
3-4 プロジェクトの管理
3-4-1 品質の管理
3-4-2 プロジェクトの進捗管理
3-4-3 スプリントの進捗管理
3-4-4 バージョン管理
3-4-5 ステークホルダーへの報告
3-5 運用
3-5-1 運用フェーズへの移行
Chapter4 評価と改善
4-1 ソフトウェアの評価と改善
4-1-1 ソフトウェアの評価
4-1-2 ソフトウェアの改善
4-2 組織の評価と改善
4-2-1 組織の評価
4-2-2 組織の改善
4-3 開発チームの評価と改善
4-3-1 開発チームの評価
4-3-2 開発チームの改善
実践編
Chapter5 要件管理
5-1 プロダクトオーナーの役割
5-1-1 プロダクトオーナーの役割・責任
5-2 インセプションデッキ
5-2-1 インセプションデッキを作成する理由
5-2-2 エンタープライズならではのナレッジ
5-2-3 インセプションデッキの活用
5-3 プロダクトバックログの概要
5-3-1 プロダクトバックログとは
5-3-2 プロダクトバックログを見える化する方法
5-4 プロダクトバックログの作り方
5-4-1 ユーザーに届けたい価値を整理する
5-4-2 ユーザー像の深堀り
5-4-3 ユーザーストーリーマッピング
5-4-4 プロダクトバックログアイテムを作る
5-4-5 プロダクトバックログアイテムの見積り
5-5 フィードバックを集める
5-5-1 背景にある考え方
5-5-2 ユーザーのフィードバック
5-5-3 フィードバックを集める
Chapter6 アジャイルで求められる開発技術
6-1 オブジェクト指向
6-1-1 オブジェクト指向の基本
6-1-2 アジャイルで必要なオブジェクト指向の考え方
6-2 デザインパターン
6-2-1 デザインパターンの基本
6-2-2 アジャイル開発で効果を発揮するデザインパターン
6-3 テスト駆動開発
6-3-1 テスト駆動開発の必要性
6-3-2 テスト駆動開発のしくみ
6-3-3 テスト駆動開発で利用するツール
6-3-4 テスト駆動開発の本質
6-4 リファクタリング
6-4-1 リファクタリングとは
6-4-2 コードの臭い
6-4-3 リファクタリングカタログ
6-4-4 リファクタリングツール
6-5 ペアプログラミング
6-5-1 ペアプログラミングとは
6-5-2 モブプログラミング
6-5-3 リモートでのプログラミング
6-6 アーキテクチャ設計(マイクロサービス)
6-6-1 サービス化の検討
6-6-2 マイクロサービスの効果と支えるしくみ
6-6-3 サービスメッシュについて
6-7 マイクロサービスの採用と組織
6-7-1 マイクロサービスの概要
6-7-2 アジャイルの組織とマイクロサービス
Chapter7 品質管理
7-1 アジャイルの品質管理
7-1-1 アジャイル開発の品質課題
7-1-2 アジャイル開発の品質管理の基本
7-1-3 エンタープライズで押さえるポイント
7-2 テスト技法
7-2-1 アジャイルテストの分類
7-2-2 Q1 エリア: テクノロジー観点の開発支援テスト
7-2-3 Q2 エリア: ビジネス観点の開発支援テスト
7-2-4 Q3 エリア: ビジネス観点のプロダクト評価テスト
7-2-5 Q4 エリア: テクノロジー観点のプロダクト評価テスト
7-2-6 アジャイルテストの重要ポイント
7-3 ソフトウェアメトリクスの収集と改善
7-3-1 ソフトウェアメトリクスによる品質チェック
7-3-2 ソフトウェアメトリクス収集の仕方
7-4 アジャイルの品質報告
7-4-1 ウォーターフォール開発との成果物比較
7-4-2 アジャイルの品質報告
Chapter8 構成管理
8-1 分散型バージョン管理
8-1-1 分散型バージョン管理とは
8-2 Git
8-2-1 Git 誕生の背景
8-2-2 ノンリニア開発のための分岐システム
8-2-3 Git の仕組み
8-2-4 基本操作
8-2-5 ブランチモデル決定の3 つのポイント
8-2-6 主要なブランチモデルの概要
8-3 まとめ
Chapter9 DevOps
9-1 DevOpsとは
9-1-1 背景
9-1-2 DevOpsの考え方
9-2 DevOpsのためのインフラ構築の自動化
9-2-1 クラウドのリソースの構築/管理を自動化する
9-2-2 ミドルウェアの構築/ 管理を自動化する
9-3 DevOpsのためのアプリケーション開発の自動化
9-3-1 基本となる技術
9-3-2 自動化の種類
9-3-3 チームや組織に合致した自動化の選択
9-3-4 自動化を実現する構成
9-4 DevOpsを導入する
9-4-1 エンタープライズのDevOpsの問題点
9-4-2 DevOps の準備
9-4-3 DevOps の環境を試運転する
9-4-4 DevOpsを実践する
9-5 組織のパフォーマンスを高めるための体制
9-5-1 エンタープライズに多い組織体制
9-5-2 従来の組織体制が引き起こす問題
9-5-3 パフォーマンスを向上させる組織体制への変更
Chapter10 プロジェクト管理
10-1 プロジェクトプランニング
10-1-1 ウォーターフォール開発
10-1-2 アジャイル開発
10-2 体制作り(チームビルディング)
10-2-1 ウォーターフォール開発での体制作り
10-2-2 アジャイル開発での体制作り
10-3 開発の進め方(リリース計画)
10-3-1 Quality(品質)
10-3-2 Delivery(スケジュール)
10-3-3 Cost(お金)
10-4 まとめ
Conclusion 本書のまとめ
1 魔法の杖ではない
2 アジャイルの導入をはじめる
3 アジャイルのチームづくり
4 改善サイクル
5 BizDevOps
6 最後に
著者プロフィール
-
長瀬 嘉秀(著者)
株式会社テクノロジックアート代表取締役。
1986年、東京理科大学理学部応用数学科卒業。
朝日新聞社を経て、1989年に株式会社テクノロジックアートを設立。OSF(OPEN Software Foundation)のテクニカルコンサルタントとしてDCE(Distributed Computing Environment)関連のオープンシステムの推進を行う。OSF日本ベンダ協議会DCE技術検討委員会の主査を務める。トランスコスモス株式会社技術顧問。
主な著書・訳書
「マイクロサービス入門 アーキテクチャと実装」(共著、リックテレコム、2018年)
「アジャイル時代のオブジェクト脳のつくり方 Rubyで学ぶ究極の基礎講座」(共著、翔泳社、2017年)
「関数型プログラミングの基礎」(監修、リックテレコム、2016年)
「グラフ型データベース入門 - Neo4jを使う」(監修、リックテレコム、2016年)
「ハイブリッドアジャイルの実践」(監修、リックテレコム、2013年)
「アジャイル概論」「リファクタリング」「テスト駆動開発」(監修、東京電機大学出版局、2013年)
「基礎からはじめる UML2.4」(監修、ソーテック社、2013年)
「改訂3版 基礎UML」(監修、インプレス、2010年)
「実践!アジャイルプロジェクト管理」(監修、翔泳社、2009年)
「JakartaCommonsクックブック」(監訳、オライリー・ジャパン、2005年)
など -
伊藤 龍司(著者)
1976年生まれ。ソフトバンク株式会社に所属
2000年、Jフォンに入社。社名がVodafone、SoftBankと変わりながら現在に至る。
システム開発部門に配属。コールセンターへのIVR導入やEU向けの契約内容照会、変更の可能なシステムを開発。
お客様により早くサービスを提供できないか? と日々考えている中、アジャイル開発と出会う。確認すればするほど素晴らしい手法と魅了され、アジャイル開発を行う組織を作る。
現在では、今までの経験を活かし、日々、開発業務やアジャイル開発の推進に精力的に取り組む。 -
木村 泰久(著者)
1975年生まれ。ソフトバンク株式会社に所属。
これまで、ITサービスマネージメント業務やシステム開発業務に従事。
現在では、ITIL Expert、CSPOの資格を活かし、日々、開発業務やアジャイル開発の推進に精力的に取り組む。 -
杉浦 由季(著者)
株式会社NTTデータ 技術開発本部主任
ウォーターフォール型開発のプロジェクトを経て2013年頃からアジャイル開発の導入及び関連技術の研究開発に従事。これまで公共、金融、サービス等、幅広い分野でのアジャイル開発に関わった経験を活かし、現在は社内外のアジャイル開発のプロジェクトを支援。本業の傍ら、若い世代にプログラミングやIoT に興味を持ってもらうためのワークショップを開催。 -
長岡 晶史(著者)
某システム開発会社を経て、2001年にインフォコム株式会社入社。携帯通信事業者向けに HP Nonstop によるシステム構築プロジェクトに PL として参画。2007 年より主に通信事業者向けにベンダ側 PL、PM として数々のプロジェクトに 10 年以上にわたり従事。
-
松本 哲也(著者)
pitdyne株式会社 代表取締役
医療機器システムの開発に携わったのち、トランスコスモス株式会社等にて大規模システム開発における標準化、アーキテクチャ設計に多数参画。2019年にpitdyne株式会社を設立し、現在に至る。アジャイル検定コンソーシアムにて、アジャイル検定試験の策定に参加。
AIシステムの開発、クラウド環境でのシステム開発標準化、VRによるソリューション開発などを行っている。
書籍に『二次請けマネージャの教科書』(技術評論社)、『マイクロサービス入門』(リックテレコム)。
Copyright © Mynavi Publishing Corporation