Book description
Don't engineer by coincidence-design it like you mean it! Filled with practical techniques, Design It! is the perfect introduction to software architecture for programmers who are ready to grow their design skills. Lead your team as a software architect, ask the right stakeholders the right questions, explore design options, and help your team implement a system that promotes the right -ilities. Share your design decisions, facilitate collaborative design workshops that are fast, effective, and fun-and develop more awesome software!
With dozens of design methods, examples, and practical know-how, Design It! shows you how to become a software architect. Walk through the core concepts every architect must know, discover how to apply them, and learn a variety of skills that will make you a better programmer, leader, and designer.
Uncover the big ideas behind software architecture and gain confidence working on projects big and small. Plan, design, implement, and evaluate software architectures and collaborate with your team, stakeholders, and other architects. Identify the right stakeholders and understand their needs, dig for architecturally significant requirements, write amazing quality attribute scenarios, and make confident decisions. Choose technologies based on their architectural impact, facilitate architecture-centric design workshops, and evaluate architectures using lightweight, effective methods. Write lean architecture descriptions people love to read. Run an architecture design studio, implement the architecture you've designed, and grow your team's architectural knowledge. Good design requires good communication. Talk about your software architecture with stakeholders using whiteboards, documents, and code, and apply architecture-focused design methods in your day-to-day practice.
Hands-on exercises, real-world scenarios, and practical team-based decision-making tools will get everyone on board and give you the experience you need to become a confident software architect.
Publisher resources
Table of contents
- Acknowledgments
- Foreword
- Welcome!
- Part I. Introducing Software Architecture
-
Part II. Architecture Design Fundamentals
- 3. Devise a Design Strategy
- 4. Empathize with Stakeholders
- 5. Dig for Architecturally Significant Requirements
- 6. Choose an Architecture (Before It Chooses You)
-
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
- 9. Host an Architecture Design Studio
- 10. Visualize Design Decisions
- 11. Describe the Architecture
- 12. Give the Architecture a Report Card
- 13. Empower the Architects on Your Team
-
Part III. The Architect’s Toolbox
-
14. Activities to Understand the Problem
- Activity 1. Choose One Thing
- Activity 2. Empathy Map
- Activity 3. Goal-Question-Metric (GQM) Workshop
- Activity 4. Interview Stakeholders
- Activity 5. List Assumptions
- Activity 6. Quality Attribute Web
- Activity 7. Mini-Quality Attribute Workshop
- Activity 8. Point-of-View Mad Lib
- Activity 9. Response Measure Straw Man
- Activity 10. Stakeholder Map
-
15. Activities to Explore Potential Solutions
- Activity 11. Personify the Architecture
- Activity 12. Architecture Flipbook
- Activity 13. Component Responsibility Collaborator Cards
- Activity 14. Concept Map
- Activity 15. Divide and Conquer
- Activity 16. Event Storming
- Activity 17. Group Posters
- Activity 18. Round-Robin Design
- Activity 19. Whiteboard Jam
-
16. Activities to Make the Design Tangible
- Activity 20. Architecture Decision Records
- Activity 21. Architecture Haiku
- Activity 22. Context Diagram
- Activity 23. Greatest Hits Reading List
- Activity 24. Inception Deck
- Activity 25. Modular Decomposition Diagram
- Activity 26. Paths Not Taken
- Activity 27. Prototype to Learn or Decide
- Activity 28. Sequence Diagram
- Activity 29. System Metaphor
- 17. Activities to Evaluate Design Options
-
14. Activities to Understand the Problem
- A1. Community Contributor Bios
- Bibliography
Product information
- Title: Design It!
- Author(s):
- Release date: October 2017
- Publisher(s): Pragmatic Bookshelf
- ISBN: 9781680502091
You might also like
video
Design Thinking 101
Isn't design thinking just a new name for brainstorming? Isn't it just some kind of fairy …
audiobook
The Design of Everyday Things
First, businesses discovered quality as a key competitive edge; next came science. Now, Donald A. Norman, …
book
Storytelling in Design
With the wide variety of devices, touch points, and channels in use, your ability to control …
book
What Is Design Thinking?
Design Thinking has grown increasingly popular as a go-to method for problem solving and innovation. But …