Design It!
by Michael Keeling
--
Table of Contents
- Who Should Read This Book?
- How to Read This Book
- Online Resources
- Part I. Introducing Software Architecture
1. Become a Software Architect
- What Software Architects Do
- What Is Software Architecture?
- Become an Architect for Your Team
- Build Amazing Software
- Case Study: Project Lionheart
- Next Up
2. Design Thinking Fundamentals
- The Four Principles of Design Thinking
- Adopt a Design Mindset
- Think, Do, Check
- Next Up
- Part II. Architecture Design Fundamentals
3. Devise a Design Strategy
- Find a Design That Satisfices
- Decide How Much to Design Up Front
- Let Risk Be Your Guide
- Create a Design Plan
- Project Lionheart: The Story So Far…
- Next Up
4. Empathize with Stakeholders
- Talk to the Right People
- Create a Stakeholder Map
- Discover the Business Goals
- Project Lionheart: The Story So Far…
- Next Up
5. Dig for Architecturally Significant Requirements
- Limit Design Options with Constraints
- Define the Quality Attributes
- Look for Classes of Functional Requirements
- Find Out What Else Influences the Architecture
- Dig for the Information You Need
- Build an ASR Workbook
- Project Lionheart: The Story So Far…
- Next Up
6. Choose an Architecture (Before It Chooses You)
- Diverge to See Options, Converge to Decide
- Accept Constraints
- Promote Desired Quality Attributes
- Assign Functional Responsibilities to Elements
- Design for Change
- Project Lionheart: The Story So Far…
- Next Up
7. Create a Foundation with Patterns
- What Is an Architecture Pattern?
- Layers Pattern
- Ports and Adapters Pattern
- Pipe-and-Filter Pattern
- Service-Oriented Architecture Pattern
- Publish-Subscribe Pattern
- Shared-Data Pattern
- Multi-Tier Pattern
- Center of Competence Pattern
- Open Source Contribution Pattern
- Big Ball of Mud Pattern
- Discover New Patterns
- Project Lionheart: The Story So Far…
- Next Up
8. Manage Complexity with Meaningful Models
- Reason About the Architecture
- Design the Meta-Model
- Build Models into the Code
- Project Lionheart: The Story So Far…
- Next Up
9. Host an Architecture Design Studio
- Plan an Architecture Design Studio
- Choose Appropriate Design Activities
- Invite the Right Participants
- Manage the Group
- Work with Remote Teams
- Project Lionheart: The Story So Far…
- Next Up
10. Visualize Design Decisions
- Show the Architecture from Different Views
- Draw Fantastic Diagrams
- Project Lionheart: The Story So Far…
- Next Up
11. Describe the Architecture
- Tell the Whole Story
- Match the Description Method to the Situation
- Respect Your Audience
- Organize Views around Stakeholders’ Concerns
- Explain the Rationale for Your Decisions
- Project Lionheart: The Story So Far…
- Next Up
12. Give the Architecture a Report Card
- Evaluate to Learn
- Test the Design
- Host an Evaluation Workshop
- Evaluate Early, Evaluate Often, Evaluate Continuously
- Project Lionheart: The Story So Far…
- Next Up
13. Empower the Architects on Your Team
- Promote Architectural Thinking
- Facilitate Decision Making and Foster Skills Growth
- Create Opportunities for Safe Practice
- Delegate Design Authority
- Design Architecture Together
- Project Lionheart: The Epic Conclusion
- Next Up
- Part III. The Architect’s Toolbox
14. Activities to Understand the Problem
Activity 3. Goal-Question-Metric (GQM) Workshop
Activity 4. Interview Stakeholders
Activity 6. Quality Attribute Web
Activity 7. Mini-Quality Attribute Workshop
Activity 8. Point-of-View Mad Lib
Activity 9. Response Measure Straw Man
15. Activities to Explore Potential Solutions
Activity 11. Personify the Architecture
Activity 12. Architecture Flipbook
Activity 13. Component Responsibility Collaborator Cards
Activity 15. Divide and Conquer
Activity 18. Round-Robin Design
16. Activities to Make the Design Tangible
Activity 20. Architecture Decision Records
Activity 21. Architecture Haiku
Activity 23. Greatest Hits Reading List
Activity 25. Modular Decomposition Diagram
Activity 27. Prototype to Learn or Decide
17. Activities to Evaluate Design Options
Activity 30. Architecture Briefing
Activity 34. Question — Comment — Concern
Activity 37. Scenario Walkthrough
Activity 38. Sketch and Compare
A1. Community Contributor Bios
Copyright © 2017, The Pragmatic Bookshelf.
Design It! by Michael Keeling can be purchased in other book formats directly from The Pragmatic Programmers. If you notice a code error or formatting mistake, please let us know here so that we can fix it.