翔泳社の公式通販SEshopは全国送料無料!
ヘルプ 新規会員登録 ログイン
SEshop

モダン・ソフトウェアエンジニアリング

Ivar Jacobson(著) , Harold “Bud” Lawson(著) , Pan-Wei Ng(著) , Paul E. McMahon(著) , Michael Goedicke(著) , 角 征典(翻訳) , 鷲崎 弘宜(監修)

商品番号
165220
販売状態
発売中
納品形態
宅配便にてお届け
発売日
2020年05月29日
出荷開始日
2020年05月28日
ISBN
9784798165226
判型
B5変
ページ数
352
キーワード
プログラミング  開発  エンジニア

3,960円(税込)(本体3,600円+税10%)
送料無料

360pt (10%)
ポイントの使い方はこちら

在庫あり

初回購入から使えるポイント500円分プレゼント

電子書籍はこちら

※1点の税込金額となります。 複数の商品をご購入いただいた場合のお支払金額は、 単品の税込金額の合計額とは異なる場合がございますので、予めご了承ください。

本書について

さまざまなテクノロジーによって紡ぎ出される“ソフトウェア”。その“開発”に焦点を合わせ、「ソフトウェア開発」とは何なのか・どういうことなのかを、開発時の各種フェーズとそれぞれの視点から詳らかにする21世紀型ソフトウェア開発読本です。

優れたソフトウェアを生み出すために
作業工程をどのように構築すべきか

【本書の内容】
本書は
Ivar Jacobson, Harold "Bud" Lawson, Pan-Wei Ng, Paul E. McMahon, Michael Goedicke,
"The Essentials of Modern Software Engineering: Free the Practices from the Method Prison!",
ACM Books, 2019
の邦訳です。

ソフトウェアエンジニアリングの歴史は抽象化レベルの上昇である。このことは、プログラミング言語でも、ツールでも、フレームワークでも、ソフトウェア中心のシステムとやり取りをする方法においても見られる。それから、我々がこうしたシステムを構築する方法についてもそうだ。これがソフトウェアエンジニアリングの手法の世界である。
-Grady Booch(本書より抜粋)

本書は現代において複雑に進化し続けるソフトウェアとその開発に関する特定の手法を
教授・示唆・喧伝するものでは*ありません*。
そうではなく、どのような時代にあっても、どのような用途であっても、どのような利用環境であっても、

優れたソフトウェアをもたらす作業方法の作成方法

を提供することを意図して執筆されています。

「ソフトウェアエンジニアリング」というジャンルが生まれたときから連綿と続く、
その根幹を成してきた教程とは異なる、まさにモダン(現代的)なスタイルの、
「ソフトウェアエンジニアリング」を提示してくれます。

現代における(そして未来における)ソフトウェアエンジニアリングの基礎を習得、
あるいはソフトウェアエンジニアリングを「再発見」することで、
今後もより優れたソフトウェアを生み出す視座を得られることでしょう。

優れたソフトウェアを生み出すために作業工程をどのように構築すべきか

優れたソフトウェアを生み出すために作業工程をどのように構築すべきか

本書はIvar Jacobson, Harold "Bud" Lawson, Pan-Wei Ng, Paul E. McMahon, Michael Goedicke著『The Essentials of Modern Software Engineering: Free the Practices from the Method Prison!』(ACM Books, 2019)の邦訳版です。

さまざまなテクノロジーによって紡ぎ出される“ソフトウェア”。その“開発”に焦点を合わせ、「ソフトウェア開発」とは何なのか・どういうことなのかを、開発時の各種フェーズとそれぞれの視点から詳らかにする21世紀型ソフトウェア開発読本です。

本書で得られること
目次
目次
目次

第I部 ソフトウェアエンジニアリングの本質

第1章 プログラミングからソフトウェアエンジニアリングへ
1.1 プログラミングから始める
1.2 プログラミングはソフトウェアエンジニアリングではない
1.3 インターンから業界へ
1.4 ソフトウェアエンジニアリングのプロになる旅
できるようになったこと

第2章 ソフトウェアエンジニアリングの手法とプラクティス
2.1 ソフトウェアエンジニアリングの課題
2.2 ソフトウェアエンジニアリングの手法とプラクティスの台頭
2.3 SEMATイニシアティブ
2.4 OMG標準となったEssence
できるようになったこと

第3章 Essenceの概要
3.1 アイデア
3.2 手法はプラクティスの合成
3.3 共通基盤の存在
3.4 本質的なことにフォーカスする
3.5 魅力的なユーザー体験の提供
できるようになったこと

第4章 ソフトウェアエンジニアリングの重要な要素を特定する
4.1 基本に戻る
4.2 ソフトウェアエンジニアリングは顧客に価値を提供する
4.3 ソフトウェアエンジニアリングはソリューションで価値を提供する
4.4 ソフトウェアエンジニアリングは活動
できるようになったこと

第5章 ソフトウェアエンジニアリングの言語
5.1 シンプルなプラクティスの例
5.2 使うべきもの
5.3 コンピテンシー
5.4 やるべきこと
5.5 エッセンシャル化したプラクティス
できるようになったこと

第6章 ソフトウェアエンジニアリングのカーネル
6.1 Essenceカーネルでまとめる
6.2 必要不可欠な使うべきもの:アルファ
6.3 必要不可欠なやるべきこと:アクティビティスペース
6.4 必要不可欠な能力:コンピテンシー
6.5 必要不可欠な要素の配置:パターン
できるようになったこと

第7章 理論のふりかえり
7.1 ソフトウェアエンジニアリングの理論はどこにあるのか
7.2 理論の使用
7.3 Essenceはソフトウェアエンジニアリングの汎用記述的理論
7.4 ソフトウェアエンジニアリングの汎用予測的理論に向けて
7.5 理論的基礎によって成長する
できるようになったこと
第I部のまとめ
推奨する参考文献

第8章 Essenceを小さく適用する―シリアスゲームをやってみよう
8.1 進捗ポーカー
8.2 状態を追え
8.3 目的へGo
8.4 チェックポイントを設定せよ
8.5 ふりかえり
できるようになったこと

第II部 Essenceを使ったソフトウェア開発

第9章 Essenceで開発を始める
9.1 Essenceのレンズを通して見た状況を理解する
9.2 開発のスコープとチェックポイントに合意する
9.3 監視すべき最も重要なものに合意する
できるようになったこと

第10章 Essenceを使った開発
10.1 Essenceを使った計画
10.2 Essenceを使った実行と評価
10.3 チームの作業方法をEssenceを使って適応させる
10.4 カーネルが作業方法の適応に役立つ方法
できるようになったこと

第11章 開発の旅
11.1 旅を可視化する
11.2 進捗と健全性を確保する
11.3 異変に対処する
できるようになったこと

第12章 Essenceカーネルのふりかえり
12.1 カーネルの妥当性
12.2 カーネルを効果的に適用する
できるようになったこと
第II部のまとめ

第III部 プラクティスを使った小規模開発

第13章 プラクティスを使って開発を始める
13.1 Essenceのレンズを通して見た状況を理解する
13.2 開発のスコープとチェックポイントに合意する
13.3 導入するプラクティスに合意する
13.4 監視すべき最も重要なものに合意する
13.5 旅の概要
できるようになったこと

第14章 スクラムを利用する
14.1 スクラムの説明
14.2 プラクティスによるソフトウェアエンジニアリングのアプローチの明確化とモジュール化
14.3 Essenceで[スクラム]を明示的にする
14.4 [スクラムライト]におけるアルファ
14.5 [スクラムライト]におけるワークプロダクト
14.6 [スクラムライト]における役割
14.7 [スクラムライト]の開始
14.8 [スクラムライト]の実施
14.9 スクラムとEssenceのふりかえり
できるようになったこと

第15章 ユーザーストーリーライトを利用する
15.1 ユーザーストーリーの説明
15.2 Essenceで[ユーザーストーリーライト]を明示的にする
15.3 [ユーザーストーリーライト]におけるアルファ
15.4 [ユーザーストーリーライト]におけるワークプロダクト
15.5 [ユーザーストーリーライト]の開始
15.6 [ユーザーストーリーライト]の実施
15.7 [ユーザーストーリーライト]プラクティスに対するカーネルの価値
できるようになったこと

第16章 ユースケースライトを利用する
16.1 ユースケースの説明
16.2 Essenceで[ユースケースライト]を明示的にする
16.3 [ユースケースライト]におけるアルファ
16.4 [ユースケースライト]におけるワークプロダクト
16.5 [ユースケースライト]でチームが直面している問題を解決する
16.6 ユースケースとユースケーススライスを利用する
16.7 ユースケースのチームのインパクトを可視化する
16.8 ユースケーススライスの進捗と健全性
16.9 ユーザーストーリーとユースケースの違い
できるようになったこと

第17章 マイクロサービスを利用する
17.1 [マイクロサービス]の説明
17.2 Essenceで[マイクロサービス]を明示的にする
17.3 [マイクロサービスライト]
17.4 [マイクロサービスライト]におけるアルファ
17.5 [マイクロサービスライト]におけるワークプロダクト
17.6 [マイクロサービスライト]におけるアクティビティ
17.7 [マイクロサービスライト]のチームに対するインパクトの可視化
17.8 マイクロサービスの開発の進捗と健全性
できるようになったこと

第18章 プラクティスを合成する
18.1 合成とは何か
18.2 エッセンシャル化されたプラクティスの使用を検討する
18.3 エッセンシャル化によるプラクティスの強化
できるようになったこと
推薦する参考文献

第IV部 大規模で複雑な開発

第19章 スケールの意味
19.1 旅の続き
19.2 スケールの3つの領域
できるようになったこと

第20章 プラクティスのエッセンシャル化
20.1 プラクティスの源泉
20.2 モノリシックな手法と断片化されたプラクティス
20.3 プラクティスのエッセンシャル化
20.4 再利用可能なプラクティスアーキテクチャの確立
できるようになったこと

第21章 大規模で複雑な開発にスケールアップ
21.1 大規模手法
21.2 大規模開発
21.3 大規模開発の開始
21.4 大規模開発の実行
21.5 大規模開発におけるEssenceの価値
できるようになったこと

第22章 さまざまな種類の開発
22.1 プラクティスアーキテクチャからメソッドアーキテクチャへ
22.2 組織におけるプラクティスライブラリの構築
22.3 リーチアウトするときに文化を無視しない
できるようになったこと

第23章 そして未来へ
23.1 プラクティスと手法でアジャイルになる
23.2 チーム全体で手法を所有する
23.3 手法の使用にフォーカスする
23.4 チームの手法を進化させる
できるようになったこと
推薦する参考文献

各種問い合わせは以下のリンクからご連絡ください

感想・レビュー

monotony さん

2020-08-22

ようやく一周したけど。読むだけでは駄目だな。

yoshi1987 さん

2020-08-27

Essence言語によって様々な方法の価値・意味を考えていく モダンな方法を取り入れることが目的になりがちだが、言語化することでそのものの価値を考え、議論できるようになるのは意義が大きそう ただ、自分にはまだまだレベルが高かった Essenceを使うのはなかなか難しそう

関連商品

おうちで学べる Pythonのきほん

2,420円(税込)

2024.05.20発売

おうちで学べる Pythonのきほん【PDF版】

2,420円(税込)

2024.05.20発売

おすすめ特集

法人・教育機関のお客様へ

【法人・教育機関のお客様へ】新年度の大口注文・お見積りなど、お気軽にご相談ください

Webデザイン特集

デザインやコーディングなど、Webデザインに役立つスキルが身につく書籍を揃えました

生成AI特集

テキスト生成、画像生成、動画生成など、生成AI活用のスキルが身につく本をご紹介

新社会人におすすめの本

新社会人の役に立つスキルが身につく本。ビジネスパーソンとしてスタートダッシュを切ろう!

プログラミング教育の本

小学校から必修化!人気の『ルビィのぼうけん』ほかプログラミング教育の本はこちら

翔泳社のセミナー・講座

開発・ビジネス・マーケティング・EC運営・営業支援など、幅広いジャンルの講座を開催

特集をもっと見る