Good architecture… how do you know?

Friday, 12tj (close!) April I gave a presentation at 4Developers conference in Warsaw. Short note, how it went and what was it about. Along with links to slides and others.

 

Idea

Because of problems with measuring and finding design flaws, highlighted last December during FooBarCamp. Because it matters if we measure or not. Because I don’t like doing unnecessary work.

 

Preparation

Well, I’ve done a fair amount of research and I’ve only realized, I merely scratched the topic’s surface. There could be a lot more said, but I had only an hour. I didn’t practice my presentation, nor did I rehearse it. Nor did I know about my audience beforehand – so, beside researching topic, I did little in terms of preperation.

Heck, I even managed to forget the power adaptor, so had to say it all in one go – my batter served well despite it’s age though! It ran 4 minutes more than the presentation required… 😉

Sources: TBA, soon.

I can say right away, even being away from my materials, that two places you want to look at  (for most formal and research papers) are Carnegie Mellon university and Jan Bosch’s site.

 

Delivery

Despite drinking till 3AM at install party just the day before, I’m told I delivered well. The feedback so far has been overwhelmingly positive. My thanks for it, though I must say, I’d like to hear more. So don’t hesitate and drop me a note please.

I liked the questions I got! Speaks well of the audience, and their quick thinking. A number of times they got ahead of me.

I did a little experiment, hoping to get feedback from the audience about what they were most interested in. So, as soon as I outlined what I believed was ground points, I asked them to choose topics:

Architektura JDD 2013 - materiały

 

Two most interesting topics were my faves, turns out:

  • how to find design flaw in a project?
  • metrics for everybody

Why you should measure and how to find a design flaw?

Why you should measure architecture was the ground topic I covered before asking the audience to choose topics.

Architektura JDD 2013 - PO CO i Wada Projektu

How to find design flaw I briefly outlined, ending in few surefire ways I know of:

  1. visualize architecture
  2. use SCM and a method like Feather’s Quadrant
  3. get your hands dirty and play Mikado

Which led straight to

Methods for everybody

I started with Cyclomatic Complexity by Thomas McCabe. It’s one of software metrics I found easy to grasp and quite useful – and also helpful in measuring architecture. See below for comparison of Apache and GNU/Linux!

Architektura JDD 2013 - McCabe

I later followed with Mikado method, technical debt (easy to show graphically, well supported tool-wise, quite easy to use), finally I got to Feather’s Quadrant, that combines both McCabe cyclomatic complexity and SCM logs to get quite a number of interesting facts about your project.

Architektura JDD 2013 - Metody dla każdego

 

This is all detailed (in Polish) on my SlideShare:

  • Why you should measure?
  • Methods for everyone
  •  

    Critical remarks:

    1. all content could have been in one place
    2. slides aren’t as nice to absorb as Prezi
    3. I might have mentioned (or underlined more) that it’s quite unlikely to ever get rid of technical debt completely

    I quite agree with all three. In addition, next time I’ll have more control of the time. I ended in control, but I had to skip few points I wanted to tell more about.

    Thank you all for coming and see you next time!
    PS. Any feedback is welcome! 🙂

    Advertisements

    Leave a Reply

    Fill in your details below or click an icon to log in:

    WordPress.com Logo

    You are commenting using your WordPress.com account. Log Out / Change )

    Twitter picture

    You are commenting using your Twitter account. Log Out / Change )

    Facebook photo

    You are commenting using your Facebook account. Log Out / Change )

    Google+ photo

    You are commenting using your Google+ account. Log Out / Change )

    Connecting to %s