Produktbeschreibung
In this truly unique technical book, today's leading software architects present valuable principles on key development issues that go way beyond technology. More than four dozen architects -- including Neal Ford, Michael Nygard, and Bill de hOra -- offer advice for communicating with stakeholders, eliminating complexity, empowering developers, and many more practical lessons they've learned from years of experience. Among the 97 principles in this book, you'll find useful advice such as:
* Don't Put Your Resume Ahead of the Requirements (Nitin Borwankar) * Chances Are, Your Biggest Problem Isn't Technical (Mark Ramm) * Communication Is King; Clarity and Leadership, Its Humble Servants (Mark Richards) * Simplicity Before Generality, Use Before Reuse (Kevlin Henney) * For the End User, the Interface Is the System (Vinayak Hegde) * It's Never Too Early to Think About Performance (Rebecca Parsons)
To be successful as a software architect, you need to master both business and technology. This book tells you what top software architects think is important and how they approach a project. If you want to enhance your career, 97 Things Every Software Architect Should Know is essential reading.
Inhaltsverzeichnis
Preface; Permissions; How to Contact Us; Safari® Books Online; Acknowledgments;
Chapter 1: Don't Put Your Resume Ahead of the Requirements; Chapter 2: Simplify
Essential Complexity; Diminish Accidental Complexity; Chapter 3: Chances Are,
Your Biggest Problem Isn't Technical; Chapter 4: Communication Is King; Clarity
and Leadership, Its Humble Servants; Chapter 5: Application Architecture
Determines Application Performance; Chapter 6: Seek the Value in Requested
Capabilities; Chapter 7: Stand Up!; Chapter 8: Everything Will Ultimately Fail;
Chapter 9: You're Negotiating More Often Than You Think; Chapter 10: Quantify;
Chapter 11: One Line of Working Code Is Worth 500 of Specification; Chapter 12:
There Is No One-Size-Fits-All Solution; Chapter 13: It's Never Too Early to
Think About Performance; Chapter 14: Architecting Is About Balancing; 14.1 ;
Chapter 15: Commit-and-Run Is a Crime; Chapter 16: There Can Be More Than One;
Chapter 17: Business Drives; Chapter 18: Simplicity Before Generality, Use
Before Reuse; Chapter 19: Architects Must Be Hands On; Chapter 20: Continuously
Integrate; Chapter 21: Avoid Scheduling Failures; Chapter 22: Architectural
Tradeoffs; Chapter 23: Database As a Fortress; Chapter 24: Use Uncertainty As a
Driver; Chapter 25: Warning: Problems in Mirror May Be Larger Than They Appear;
Chapter 26: Reuse Is About People and Education, Not Just Architecture; 26.1 ;
Chapter 27: There Is No 'I' in Architecture; Chapter 28: Get the 1,000-Foot
View; Chapter 29: Try Before Choosing; Chapter 30: Understand the Business
Domain; Chapter 31: Programming Is an Act of Design; Chapter 32: Give Developers
Autonomy; Chapter 33: Time Changes Everything; 33.1 ; Chapter 34: "Software
Architect" Has Only Lowercase a's; Deal with It; Chapter 35: Scope Is the Enemy
of Success; Chapter 36: Value Stewardship Over Showmanship; Chapter 37: Software
Architecture Has Ethical Consequences; Chapter 38: Skyscrapers Aren't Scalable;
Chapter 39: Heterogeneity Wins; Chapter 40: It's All About Performance; Chapter
41: Engineer in the White Spaces; Chapter 42: Talk the Talk; Chapter 43: Context
Is King; Chapter 44: Dwarves, Elves, Wizards, and Kings; Chapter 45: Learn from
Architects of Buildings; Chapter 46: Fight Repetition; Chapter 47: Welcome to
the Real World; Chapter 48: Don't Control, but Observe; Chapter 49: Janus the
Architect; Chapter 50: Architects' Focus Is on the Boundaries and Interfaces;
Chapter 51: Empower Developers; Chapter 52: Record Your Rationale; Chapter 53:
Challenge Assumptions-Especially Your Own; Chapter 54: Share Your Knowledge and
Experiences; Chapter 55: Pattern Pathology; Chapter 56: Don't Stretch the
Architecture Metaphors; Chapter 57: Focus on Application Support and
Maintenance; Chapter 58: Prepare to Pick Two; Chapter 59: Prefer Principles,
Axioms, and Analogies to Opinion and Taste; Chapter 60: Start with a Walking
Skeleton; Chapter 61: It Is All About The Data; Chapter 62: Make Sure the Simple
Stuff Is Simple; Chapter 63: Before Anything, an Architect Is a Developer;
Chapter 64: The ROI Variable; Chapter 65: Your System Is Legacy; Design for It;
Chapter 66: If There Is Only One Solution, Get a Second Opinion; Chapter 67:
Understand the Impact of Change; Chapter 68: You Have to Understand Hardware,
Too; Chapter 69: Shortcuts Now Are Paid Back with Interest Later; Chapter 70:
"Perfect" Is the Enemy of "Good Enough"; Chapter 71: Avoid "Good Ideas"; Chapter
72: Great Content Creates Great Systems; Chapter 73: The Business Versus the
Angry Architect; Chapter 74: Stretch Key Dimensions to See What Breaks; Chapter
75: If You Design It, You Should Be Able to Code It; Chapter 76: A Rose by Any
Other Name Will End Up As a Cabbage; Chapter 77: Stable Problems Get
High-Quality Solutions; Chapter 78: It Takes Diligence; Chapter 79: Take
Responsibility for Your Decisions; Chapter 80: Don't Be Clever; Chapter 81:
Choose Your Weapons Carefully, Relinquish Them Reluctantly; Chapter 82: Your
Customer Is Not Your Customer; Chapter 83: It Will Never Look Like That; Chapter
84: Choose Frameworks That Play Well with Others; Chapter 85: Make a Strong
Business Case; Chapter 86: Control the Data, Not Just the Code; Chapter 87: Pay
Down Your Technical Debt; Chapter 88: Don't Be a Problem Solver; Chapter 89:
Build Systems to Be Zuhanden; Chapter 90: Find and Retain Passionate Problem
Solvers; Chapter 91: Software Doesn't Really Exist; Chapter 92: Learn a New
Language; Chapter 93: You Can't Future-Proof Solutions; 93.1 ; Chapter 94: The
User Acceptance Problem; Chapter 95: The Importance of Consommé; Chapter 96: For
the End User, the Interface Is the System; Chapter 97: Great Software Is Not
Built, It Is Grown; Colophon;
Kritik
"In diesem einzigartigen technischen Band stellen viele der führenden Softwarearchitekten wertvolle Prinzipien für Schlüsselthemen der Entwicklung vor. So geht es beispielsweise darum, die Komplexität von Software zu reduzieren und Gespräche mit den Verantwortlichen zielorientiert zu führen. Die mehr als 50 Autoren steuern aus ihrem weitreichenden Erfahrungsschatz in Einzelabhandlungen ihre Ansicht bei - damit ein erfolgreicher Softwarearchitekt technische und geschäftliche Aufgabenstellungen richtig angeht und erfolgreich meistert." - dotnetpro, April 2009 "Die Themenpalette erstreckt sich über einen weiten Bereich. Beispielhaft seien das Zusammenspiel zwischen fachlichen und technischen Anforderungen, die Kommunikation mit Stakeholdern und der Umgang mit sich verändernden Anforderungen genannt." - buschmais, Februar 2010
Autoreninfo
Richard Monson-Haefel, an independent software developer, coauthored all five editions of Enterprise JavaBeans and Java Message Service (all O'Reilly). He's a software architect specializing in multi-touch interfaces and a leading expert on enterprise computing. More detail on his work and writings can be found at Monson-Haefel.