Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Why Software Architects Fail

Why Software Architects Fail

We've all seen them: Ambitious projects, starting out with grand visions, ending up as costly lessons in what not to do, leaving behind the ruins of promising paradigms, technologies, tools, and careers. But why do architecture approaches sometimes hurt instead of providing value? Why has "architect" become a negative term for some people? And what can we do to improve our own work? In this keynote, we'll look at some of the most common pitfalls that ensure you'll come up with a disaster, and discuss how they can be avoided.

Stefan Tilkov

June 05, 2013
Tweet

More Decks by Stefan Tilkov

Other Decks in Programming

Transcript

  1. Boring, boring, boring. Create Customer Find Customer List Customers Edit

    Customer Delete Customer Create Order Find Order List Orders Edit Order Delete Order Create Product Find Product List Products Edit Product Delete Product
  2. Create Customer Find Customer List Customers Edit Customer Delete Customer

    Create Order Find Order List Orders Edit Order Delete Order Create Product Find Product List Products Edit Product Delete Product
  3. ‘ ‘Some architects, when faced with a problem, think “Hey,

    I’ll use a generic solution.” Now they have problem and a GenericProblemFactoryFacade. (with apologies to jwz)
  4. ‘ ‘ When you go too far up, abstraction-wise, you

    run out of oxygen. Sometimes smart thinkers just don't know when to stop, and they create these absurd, all-encompassing, high-level pictures of the universe that are all good and ne, but don't actually mean anything at all. These are the people I call Architecture Astronauts. Joel Spolsky “Don’t Let Architecture Astronauts Scare you”, http://www.joelonso ware.com/articles/fog0000000018.html
  5. Task: Read a le of text, determine the n most

    frequently used words, and print out a sorted list of those words along with their frequencies.
  6. Donald Knuth Doug McIlroy Dr. Drang, http://www.leancrew.com/all-this/2011/12/more-shell-less-egg/ 10-page literal Pascal

    program, including innovative new data structure tr  -­‐cs  A-­‐Za-­‐z  '\n'  | tr  A-­‐Z  a-­‐z  | sort  | uniq  -­‐c  | sort  -­‐rn  | sed  ${1}q
  7. Bene ts of Complexity Challenging work New and interesting experience

    Self-esteem Community Barrier to entry Job security
  8. Vendor Selection Collect and agree on requirements Week 0 Conduct

    market research Week 8 Send out RFP to selected vendors Week 10 Evaluate responses, create shortlist, start PoC Week 14 Evaluate PoC results, recommend vendor X Week 20 Accept your CEO picked vendor Y Week 26
  9. What architects want do Shape strategy 30% Make important decisions

    30% Mentor developers 20% Explore technologies 20%
  10. What others think architects do Slow down development 20% Pick

    the wrong tools 20% Refuse to learn from devs 20% Define annoying rules 40%
  11. What architects actually do Do technical stuff 5% Act as

    salespeople 30% Try to be involved 35% Defend architecture 30%
  12. Symptom: Believing everything has to be approved by you to

    ensure it meets architecture standards
  13. An Architect’s Success Formula Dogma and rules 10% Experience 20%

    Pragmatism 20% Flexibility 10% Minimalism 10% Trends and future needs 10% Experiments & PoCs 10% Hands-on participation 10% Vendor advice 0%
  14. Questions? Comments? Stefan Tilkov, @stilkov [email protected] http://www.innoq.com/blog/st/ Phone: +49 170

    471 2625 innoQ Deutschland GmbH http://www.innoq.com Krischerstr. 100 40789 Monheim am Rhein Germany Phone: +49 2173 3366-0 innoQ Schweiz GmbH [email protected] Gewerbestr. 11 CH-6330 Cham Switzerland Phone: +41 41 743 0116