From Programmer to Software Architect
Michael Keeling
Software_Architecture#
📘 کتاب Design It! راهنمایی عملی، دقیق و سرشار از تکنیکهای واقعی برای برنامهنویسانی است که میخواهند مهارتهای طراحی خود را ارتقا دهند و وارد دنیای معماری نرمافزار (Software Architecture) شوند.
«مهندسی اتفاقی ممنوع! طراحی کن چون میخوای موفق بشی» این کتاب به شما یاد میدهد چطور بهصورت هدفمند، حرفهای و تیممحور سیستمهای نرمافزاری را طراحی، مستندسازی و ارزیابی کنید — نه فقط بهصورت اتفاقی یا صرفاً مبتنی بر تجربه شخصی.
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.
Table of Contents
Part I—Introducing Software Architecture
1. Become a Software Architect
2. Design Thinking Fundamentals
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
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
15. Activities to Explore Potential Solutions
16. Activities to Make the Design Tangible
17. Activities to Evaluate Design Options
"This book is timely, valuable, accessible, and excellent. It is a clear, informed, and practical guide to the principles and practice of software architecture, for the aspiring architect as well as the established practitioner who wants to deepen and refresh their skills. Michael Keeling takes the reader on a clear and results-oriented journey, from the fundamentals of the field to the state of the art."--Eoin Woods, CTO of Endava, editor of IEEE Software's Pragmatic Architect column, and author of Software Systems Architecture
"What sets Design It! apart for me is its fresh perspective---that the technical undertaking of building software is an intensely social activity. Michael manages to uniquely fuse the mechanics of software architecture together with the chemistry of design thinking. You'll learn to move from architecture viewpoints into design mindsets and from managing architecture lifecycles into telling architecture stories. This is a must-have reference book on modern software architecting."-- Amine Chigani, Chief architect at GE Digital
"Design It! is full of pragmatism, personal experience, and useful tips. This book has something to offer to anyone involved in software development, and it's fun to read."-- Eltjo Poort, CGI and recipient of the Linda Northrop Software Architecture Award
"This book runs the complexity of software architecture through the real world of software development and distills it into real, understandable concepts that can be applied to everyday software engineering practices. In Design It!, Michael gives you his recipes for applying these concepts, providing pragmatic guidance to be successful in a very tough discipline."-- Will Chaparro, Software Development Manager at IBM
"What I like most about Michael's style is that is inclusive: everyone on the team should become a better architect. His book gives us hands-on ways to achieve this by collecting many great ideas and tools that arose from the community. This book is for everyone who wants to build better software together."-- Thijmen de Gooijer, IT Architect at Kommuninvest Sweden
Michael Keeling is an experienced software architect, agile practitioner, and programmer. He has worked on a variety of software systems including combat systems, search applications, web apps, and IBM Watson. When not doing software stuff, Michael enjoys hiking, running, cooking, and camping.