Effective Software Architecture: Building Better Software Faster in Product Organizations, 1st edition

Published by Addison-Wesley Professional (April 29, 2024) © 2024

  • Oliver Goldman
Products list
Access details
  • Instant access once purchased
  • Fulfilled by VitalSource

Features

  • Add notes and highlights
  • Search by keyword or page
Products list

Details

  • A print edition

This product is expected to ship within 3-6 business days for US and 5-10 business days for Canadian customers.

Table of contents

Acknowledgments    xi

About the Author    xii

Introduction    xiii

 

Chapter 1: Software Architecture    1

Fundamental Organization    2

Of a System    4

Embodied in Its Components    5

Their Relationships to Each Other    7

Their Relationships to the Environment    9

Principles Governing Its Design    11

And Evolution    14

Summary    16

 

Chapter 2: Context    17

Concepts    17

Dependability    19

Architecturally Significant Requirements    21

Product Families    23

One Product, Multiple Platforms    24

Product Lines    25

Product Suites    27

Cross-Platform Platforms    28

Building Platforms    30

Standards    32

Summary    34

 

Chapter 3: Change    35

Stages of Change    36

Types of Change    37

Product-Driven Change    38

Technology-Driven Change    41

Simplicity    43

Investment Mindset    46

Incremental Delivery    50

Architectural Evolution    52

Summary    55

 

Chapter 4: Process    57

Document the System    58

Work Toward a Vision    61

Write Change Proposals    62

Maintain a Backlog    64

Consider Alternatives    66

Not Doing Things    70

Urgent versus Important    70

Redocument the System    71

Summary    72

 

Chapter 5: Design    75

How Architecture Accelerates Design    76

How Design Forces Architectural Evolution    79

Decomposition    81

Composition    82

Composition and Platforms    84

Incrementalism    85

Parallelism    86

Organizational Structure    87

Work in the Open    88

Giving Up    91

Done    92

Summary    93

 

Chapter 6: Decisions    95

Will More Information Help?     96

What’s Happening in the Meantime?    98

How Many Decisions Are in Play?     99

What’s the Cost of Not Doing It?     100

Can I Live with This Change?     102

What Is the Cost of Getting This Wrong?    104

How Much More Certain Can I Be?    105

Is This My Decision to Make?     106

Am I Aligned?    108

Can I Document It?     109

Summary    110

 

Chapter 7: Practices    113

Backlog    114

Catalogs    118

Templates    119

Reviews    122

Status    125

Velocity    127

Thinking    130

Summary    132

 

Chapter 8: Communication    133

Mental Models    134

Writing    136

Talking    139

Information Architecture    142

Naming Things    147

Dictionaries    150

Listening    152

Summary    154

 

Chapter 9: The Architecture Team    157

Specialization    158

Structure    160

Leadership    165

Responsibility    166

Talent    169

Diversity    170

Culture    171

Gathering    173

Seminars and Summits    174

Summary    175

 

Chapter 10: The Product Team    177

Working with Development Methodologies    178

Working with Product Management    180

Helping Out    184

Other Outcomes    186

Setting Boundaries    187

Working with User Experience    188

Working with Program Management    190

Working with Engineering    192

Following Through    195

Working with Testing    197

Working with Operations    200

Summary    203

 

Conclusion    205

 

References    211

Index    213

Need help?Get in touch