Design It!: From Programmer to Software Architect (The Pragmatic Programmers) (英語) ペーパーバック – 2017/10/28
Kindle 端末は必要ありません。無料 Kindle アプリのいずれかをダウンロードすると、スマートフォン、タブレットPCで Kindle 本をお読みいただけます。
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.
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.
For such a new book there's already quite a bit of link rot. The related online forum is also shut down, presumably just out of protest, since I doubt the FOSTA concerns were really relevant.
I did like a good chunk of the content. I liked the grounding of architecture as being about expressing quality attributes. I liked the bits about actually quantifying risks instead of letting stand vague objections like "this is risky". I liked the suggestions to improve diagrams (and types of diagrams) and to create things like empathy-maps to better understand user scenarios. I liked that the book has color! As a reference, the third section of the book can be useful for certain circumstances.
Unfortunately few circumstances apply in my BigCo role, but that's more the fault of the BigCo, I didn't expect this book to cover anything about moving from some other way of designing software to the way described in the book. (One might be amused to know that this was read in an office book club setting at same BigCo.) I would be interested in reading about how the author integrated or was unable to integrate things from this book in is work at IBM, another BigCo. I thought the example case-study wasn't that useful, but further would have appreciated it as its own standalone chapter near the end instead of handed out drip-by-drip at the end of each chapter, or some real case studies.