Saturday, 14 March 2009

97 Things Every Software Architect Should Know - The Book

The following are the original, unedited contributions for the book 97 Things Every Software Architect Should Know, which is available at O'Reilly Media , Amazon.com and your local book stores.








Don't put your resume ahead of the requirements by Nitin Borwankar
Simplify essential complexity; diminish accidental complexity by Neal Ford
Chances are your biggest problem isn't technical by Mark Ramm
Communication is King; Clarity and Leadership its humble servants by Mark Richards
Architecting is about balancing by Randy Stafford
Seek the value in requested capabilities by Einar Landre
Stand Up! by Udi Dahan
Skyscrapers aren't scalable by Micheal Nygard

You're negotiating more often than you think by Michael Nygard
Quantify by Keith Braithwaite
One line of working code is worth 500 of specification by Allison Randal
There is no one-size-fits-all solution by Randy Stafford
It's never too early to think about performance by Rebecca Parsons
Application architecture determines application performance by Randy Stafford
Commit-and-run is a serious crime. Respect your Colleagues by Niclas Nilsson
There Can be More than One by Keith Braithwaite
Business Drives by Dave Muirhead
Simplicity before generality, use before reuse by Kevlin Henney
Architects must be hands on by John Davies
Continuously Integrate by Dave Bartlett
Avoid Scheduling Failures by Norman Carnovale
Architectural Tradeoffs by Mark Richards
Database as a Fortress by Dan Chak
Use uncertainty as a driver by Kevlin Henney
Scope is the enemy of success by Dave Quick
Reuse is about people and education, not just architecture by Jeremy Meyer
There is no 'I' in architecture by Dave Quick
Get the 1000ft view by Erik Doernenburg
Try before choosing by Erik Doernenburg
Understand The Business Domain by Mark Richards
Programming is an act of design by Einar Landre
Time changes everything by Philip Nelson
Give developers autonomy by Philip Nelson
Value stewardship over showmanship by Barry Hawkins
Warning, problems in mirror may be larger than they appear by Dave Quick

The title of software architect has only lower-case 'a's; deal with it by Barry Hawkins
Software architecture has ethical consequences by Michael Nygard
Everything will ultimately fail by Michael Nygard
Context is King by Edward Garson
It's all about performance by Craig L Russell

Engineer in the white spaces by Michael Nygard
Talk the Talk by Mark Richards
Heterogeneity Wins by Edward Garson
Dwarves, Elves, Wizards, and Kings by Evan Cofsky
Learn from Architects of Buildings by Keith Braithwaite
Fight repetition by Niclas Nilsson
Welcome to the real world by Gregor Hohpe
Don't Control, but Observe by Gregor Hohpe
Janus the Architect by Dave Bartlett
Architects focus is on the boundaries and interfaces by Einar Landre

Challenge assumptions - especially your own by Timothy High

Record your rationale by Timothy High
Empower developers by Timothy High

It is all about the data by Paul W. Homer

Control the data, not just the code by Chad LaVigne

Don't Stretch The Architecture Metaphorsby David Ing

Focus on Application Support and Maintenance by Mncedisi Kasper
Prepare to pick twoby Bill de hOra

Prefer principles, axioms and analogies to opinion and taste by Michael Harmer
Start with a Walking Skeleton by Clint Shank
Share your knowledge and experiencesby Paul W. Homer
Make sure the simple stuff is simple by Chad LaVigne
If you design it, you should be able to code it by Mike Brown
The ROI variable by George Malamidis
Your system is legacy, design for it by Dave Anderson
If there is only one solution, get a second opinion by Timothy High
Understand the impact of change by Doug Crawford

You have to understand Hardware too by Kamal Wickramanayake
Shortcuts now are paid back with interest later by Scot Mcphee
"Perfect" is the Enemy of "Good Enough" by Greg Nyberg

Avoid "Good Ideas" by Greg Nyberg

Great content creates great systems by Zubin Wadia
The Business Vs. The Angry Architect by Chad LaVigne

Stretch key dimensions to see what breaks by Stephen Jones

Before anything, an architect is a developer by Mike Brown

A rose by any other name will end up as a cabbage by Sam Gardiner
Stable problems get high quality solutions by Sam Gardiner
It Takes Diligence by Brian Hart
Take responsibility for your decisions by Yi Zhou
Dont Be a Problem Solver by Eben Hewitt
Choose your weapons carefully, relinquish them reluctantlyby Chad LaVigne

Your Customer is Not Your Customer by Eben Hewitt
It will never look like that by Peter Gillard-Moss
Choose Frameworks that play well with others by Eric Hawthorne
Making a strong business case by Yi Zhou
Pattern Pathology by Chad LaVigne
Learn a new language by Burk Hufnagel
Dont Be Clever by Eben Hewitt
Build Systems to be Zuhanden by Keith Braithwaite
Find and retain passionate problem solvers by Chad LaVigne
Software doesnt really exist by Chad LaVigne
Pay down your technical debt by Burk Hufnagel
You can't future-proof solutions by Richard Monson-Haefel
The User Acceptance Problem by Norman Carnovale

The Importance of Consommé by Eben Hewit

For the end-user, the interface is the system by Vinayak Hegde

Great software is not built, it is grown by Bill de hora

No comments:

Post a Comment