Architecture Is For Everyone

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    Notes on slide 1

    Work with clients who need sustainable sites
    Training, Planning, and suffering

    Dries has talked about this for years
    Who here used to be a webmaster?
    You didn’t go away - you became a developer.

    “Eliminate the developer” - CCK, Views, Panels, OG, d7ux!
    I wrote “Using Drupal” - code free site recipes!
    Are we dying?

    More pieces than ever
    Pieces are bigger
    Nontrivial changes require deep understanding
    “No-code” requires knowing the code enough to avoid it

    Sarah Winchester’s mansion

    cool features.
    total chaos.
    no master plan.

    cool features.
    total chaos.
    no master plan.

    that’s software architecture.

    this is not canon, it’s fuzzy.
    What’s the difference between a dev and an architect?

    Too quick to jump to modules, features, “can we do X?”
    Need context: Winchester house was fine for its goal
    “Divide articles into pages!” break up long articles, or increase clicks?
    “We need a content staging server!” Or use workflow? OR NOT
    “We need X in core!” Do we?

    Balance Features, legacy code, performance, growth, real-world workflow, external environment (business AND tech), timelines, available resources

    we “know” many of these, but must be explicit

    the flip side: my grandfather was a machinist, and he hated architects.
    understand the details too, even if you delegate
    otherwise you’re just project manager, not an architect.

    If you only have one option, you’re doing it wrong
    Might be only one GOOD option
    Understand goals & constraints lets you get the spirit of the requests, not just the letter

    silos are good -- but only if they’re planned
    mismatched APIs in core
    overlapping modules, duplicated work, performance collisions in sites
    this is why architects love their diagrams

    Things you’re doing over and over (nodes, taxonomy, flag)
    Things you’re doing that others have (Pattern language)
    Christopher Alexander
    Patterns aren’t magic: they are lessons that have been learned

    "Use Wordpress."
    "Farm that out to an outside service."
    "Learn lessons from Movable Type's template system..."
    "How does the django team deal with scaling?"
    Don't have to become an expert at everything, but knowing how to learn from others - and get help from them - is critical.

    increase page views!
    more social features!
    escape $400,000 a year CMS!
    simplify editorial!

    Publication cycle? User participation levels? Traffic? Servers? Migrating newsroom to drupal, or just display? Legacy systems? Priorities?
    This is why specs are gold.

    How will we test?
    How will we launch/transition?
    How will we roll out new stuff AFTER launch?
    See the Economist presentation for a great example

    How are we going to get there?
    What portions are most important?

    Become wordpress?
    Become django?
    Facilitate distributions?
    Avoid commitment?

    Mostly volunteers
    Shared hosting
    Now Public (current client w/85,000 logged in users)
    PHP Language

    100 fewer lines of PHP?
    10,000 new sites?
    Code “feels better?”
    Ghosts leave us alone?

    Finding places where APIs collide
    Finding cruft of half-implemented features
    Eliminating things that are edge cases
    Adding pieces that are constantly re-implemented

    Not a code idea, but manifests in code
    Split APIs (fapi, dbtng, menus, hooks...) from “features”
    Push “features” to distros and profiles
    Plan silos, reduce assumptions, allow specialization

    1 Favorite

    Architecture Is For Everyone - Presentation Transcript

    1. architecture is for everyone a gentle introduction to thinking big
    2. hi. i’m eaton.
    3. who are you?
    4. who are you? member of a dev team someone with client someone responsible for a site a module maintainer a core dev
    5. who are you? member of a dev team someone with client someone responsible for a site a module maintainer a core dev frustrated!
    6. Bahahahahahah. hahah. ahem.
    7. “no devs” means “smart” code smart systems are complicated
    8. we’re architects, now http://www.flickr.com/photos/47325272@N00/2541408630/
    9. we’re architects, now http://www.flickr.com/photos/47325272@N00/2541408630/
    10. • 7 stories (then 3) • 160 rooms • 20,500 gallons • 10,000 windows • 17 chimneys (maybe?) • Elevators! Central heat! Chaos and madness!
    11. • 7 stories (then 3) • 160 rooms • 20,500 gallons • 10,000 windows • 17 chimneys (maybe?) • Elevators! Central heat! Chaos and madness!
    12. • 7 stories (then 3) • 160 rooms • 20,500 gallons • 10,000 windows • 17 chimneys (maybe?) • Elevators! Central heat! Chaos and madness!
    13. complexity requires a roadmap http://www.flickr.com/photos/47325272@N00/2541408630/
    14. what makes an architect? no, seriously, what?
    15. goals before features http://www.flickr.com/photos/16057786@N00/2956432732/
    16. see the forest http://www.flickr.com/photos/cmefish/3039477633
    17. know the tools http://www.flickr.com/photos/thefangmonster/490423135
    18. choices, tradeoffs
    19. coordinate, communicate
    20. coordinate, communicate
    21. identify patterns http://www.flickr.com/photos/evaekeblad/916121820
    22. identify patterns http://www.flickr.com/photos/evaekeblad/916121820
    23. look around http://www.flickr.com/photos/gerlos/3119891607
    24. building a site (architect style)
    25. • Views, of course! • ImageAPI, ImageField... • Panels? Nodequeue? • Workflow! • Organic Groups! • And that’ll be custom...
    26. WRONG!
    27. GOALS
    28. CONTEXT
    29. PROCESS
    30. ROAD
    31. not as fun but now we have a plan.
    32. but... drupal? road maps...?
    33. YES
    34. what is drupal’s goal?
    35. what are our constraints?
    36. where are we now?
    37. where are we now?
    38. how do we reduce complexity?
    39. *cough* smallcore *cough*
    40. think big, build small
    41. suggested reading
    42. suggested reading

    + Jeff EatonJeff Eaton, 2 months ago

    custom

    413 views, 1 favs, 0 embeds more stats

    A gentle introduction to "architecture" presented a more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 413
      • 413 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 1
    • Downloads 41
    Most viewed embeds

    more

    All embeds

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories