Tagged: London

Architecting: It’s (not) what you think with Ruth Malan

Firstly, this post is not really mine, it’s more an “ad” for a workshop coming up in the UK during the Software Architect Conference in London in October presented by the legendary @RuthMalan who was behind the Visual Architecting Process

I’ll be going to the conference and Ruth’s workshop – if you’re in to Architecture , you may want to check out the conference and workshops. Now, over to Ruth:

Abstract: We will spend time with the usual suspects — (re)factoring, dependencies, naming, forces, trade-offs, mechanism design, system and component boundaries and interaction surfaces… And some sketchy ones — making the system design visual and drawing people in. We will take some silver bullets* — relationships of goodwill and commitment to objectivity — to heart, and be playful, exploring (the interaction between) the various facets of architectural design:

  • strategic and structural significance: identifying strategic outcomes and defining challenges; design of system capabilities and system structure; system qualities and mechanism design;
  • decision scope: decisions at broader scopes (system, mechanism, service) and decisions at narrow or local scopes (units) considering intentionality and emergence;
  • timing of decisions: clearing the fog of uncertainty/putting ground under the feet and the “last responsible moment”, iteration and evolution

And we will take our fallibilities, biases, foibles into account. How? That is indeed it. Our focus will be on how. We will use creating a draft (set of views of the) software architecture to situate our discussions and practice system thinking and modeling, strategic thinking (understanding what is shapingly important in the user context and business and technology space), and design improvement strategies. Our orientation is to co-creation of systems that have desired structural integrity properties, including resilience, but also design integrity and dynamic unity.

Our goal is to surface key matters of architectural judgment, drawing out myths and misconceptions, and sharing, positioning and connecting useful conceptions, strategies and techniques, and laws, principles, heuristics and other guidance.

Pre-requisites: The main prerequisite is to be open, playful and engaged. I facilitate moving through really vital shifts in perception and put useful tools in the architect’s toolbelt, but we have to throw our lots in together, co-create together, playing when it is time to play — to explore and get options on the table — and, when it is time, getting serious and making strategically significant decisions the group coheres around.

About: Having worked in the software architecture field since the mid-90’s, Ruth Malan has arguably played a pioneering role, helping to define architectures and the process by which they are created and evolved, and helping to shape the role of the software, systems and enterprise architect. She and Dana Bredemeyer created the Visual Architecting Process which is recognised by the Open Group and emphasizes: architecting for business agility, system integrity and economic, technical, organizational and environmental sustainability. Creating architectures that are good, right and successful, where:

  • good: technically sound;
  • right: meets stakeholders goals and fits context and purpose; and
  • successful: actually delivers strategic outcomes.

Translating business strategy into technical strategy and leading the implementation of that strategy. Applying guiding principles like:

  • extraordinary moment
  • minimalist architecture
  • connect-the-dots

So we can Be Agile and Create Options…

ClojureX 2012 London

Yesterday I attended the Skills Matter ClojureX conference – one of the best I’ve been to. It had the same feeling as JavaOne before it got all commercial and Apple’s WWDC before every person and their animal started attending… As one person remarked, an “ordinary conference” would of taken two days to deliver what this one did in one!

The standard of talks was consistently high, and only one speaker payed the price of “live coding” with things not quite going to plan. Even that session was still fun as the audience shouted out possible solutions to her problem (think group programming :). A small price to pay when you consider how much live coding increases the quality of the presentations – one of the advantages of the REPL.

What were my favourites?

  • Live Programming with Clojure – this was the intro presentation and literally ROCKED!
  • The Refined Clojurist – I’ve been thinking about working with Prolog and Clojure. No More! Now I know about Core.Logic and the fact that it’s effectively a “mini Prolog”. I’ll definitely be coding and writing more about this.
  • The Language of the System – Hey, this is Rich Hickey’s talk, so it goes without saying that it’s interesting and covers a lot of thought provoking ground.

I must also mention (as I did in a tweet) that almost 1/2 the people at the conference were working on commercial products for Banks, Media companies, Start-ups and I’m sure a whole lot more. It wasn’t until near the end of the day that I personally met someone who wasn’t a commercial Clojure programmer! Anyone who dis’s Clojure as “academic” or “too geeky” had better watch out because it’s in your rear-view mirror and it’s a Ferrari! If your competitors start using it (well) then you won’t know what hit you. Overall I came away feeling extremely positive for the prospects of Clojure in the industry.

The videos are certainly worth watching, but if you don’t have time, here are the takeaways I got as a mind-map (which I’ve been using for the past few years to take notes – I find it more effective). As I knew that the talks would be on-line (some of them were within an hour or so!) my notes are about topics of immediate interest to me – mostly around new tools to investigate or articles to read, so if one of the topics really interests you then it will be worth watching the related video.

ClojureX

and also in list form if you’re in to that ;-)

  • ClojureX
    • Core.Logic
      • Post Functional
        • Talk from TechMesh
        • miniKanren
        • Constraint Logic Programming
      • Ciao!
        • Lien repl :headless
        • How about working on Definite Clause
          Grammars?
    • USwitch
      • Mississippi
        • Lib for data validation?
      • Part of Forward Group
      • Charts
        • D3.AS
        • C2
    • Playing Nice
    • Google+
    • Persistent Data Structures
      • Book: Purely functional data structures
      • Phil Bagwell
    • The Language of the System
      • Riak
      • Armstrong Thesis
      • Coursera
      • Eden
        • Better than json
      • ZooKeeper
      • Use java.util.concurrent.queue
    • Music
      • Monome
      • MaxMSP
      • JazzMutant Lemur
      • Arc
      • Performance
      • Sifuka
        • On iPad
      • Ableton Live
      • jsui
    • ClojureScript
      • MongoDB
      • Express – application
      • Hiccups – library
      • Catnip – CS IDE?
    • Sam Aaron
      • Freesound Website
      • EMACS Live
    • API design
      • Clojure Training
        • 23-25 Jan ’13
    • Web
      • James Reeves