<?xml version="1.0"?>
<rss version="2.0">
<channel>
  <title>Coding the Architecture</title>
  <link>http://www.codingthearchitecture.com/</link>
  <description>Software architecture for hands-on software architects</description>
  <language>en</language>
  <copyright>Coding the Architecture</copyright>
  <lastBuildDate>Mon, 29 Jun 2009 09:25:12 GMT</lastBuildDate>
  <generator>Pebble (http://pebble.sourceforge.net)</generator>
  <docs>http://backend.userland.com/rss</docs>
  
  
  <item>
    <title>Speaking at Software Architect 2009</title>
    <link>http://www.codingthearchitecture.com/2009/06/29/speaking_at_software_architect_2009.html</link>
    
      
        <description>
          &lt;p&gt;
I&#039;m pleased to announce that I&#039;m presenting a number of sessions at &lt;a href=&#034;http://www.software-architect.co.uk&#034;&gt;Software Architect 2009&lt;/a&gt;, which takes place at the end of September in London. Here are the details of the sessions I&#039;m presenting and we&#039;ll try to organise a CTA user group to coincide with the event. &lt;a href=&#034;http://www.sealisland.net&#034;&gt;Kevin&lt;/a&gt; is also presenting, but I&#039;ll let him tell you about that. :-)
&lt;/p&gt;

&lt;p&gt;
First of all, following its continued success, we&#039;re again running our 1-day software architecture workshop (which forms the basis of our longer &lt;a href=&#034;http://www.codingthearchitecture.com/2009/06/12/june_2009_training_course.html&#034;&gt;training course&lt;/a&gt;). This is a pre-conference workshop and a great way to start the conference for anybody new or unfamiliar with software architecture and the role it has in building better software.
&lt;/p&gt;

&lt;blockquote&gt;
&lt;h3&gt;From Developer to Architect&lt;/h3&gt;
&lt;p&gt;
This session is an interactive introduction to software architecture and what it means to be a software architect. It&#039;s aimed at software developers who are looking towards their first software architect role, as well as architects that are new to the role. You will gain:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;An understanding of what it means to be a software architect, and the role&#039;s responsibilities.&lt;/li&gt;
&lt;li&gt;An understanding of the trade-offs connected with architectural decisions.&lt;/li&gt;
&lt;li&gt;Some experience of what it feels like to be an architect, including gathering non-functional requirements, determining the drivers for architecture, and defining an architecture.&lt;/li&gt;
&lt;li&gt;An understanding that, as a software architect, it&#039;s okay to do some coding.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
Combining presentation, group discussion and group working, throughout the day you&#039;ll be solidifying everything you learn by defining the architecture for a small software system. The overall goal is that you can take the experience gained here and apply it to your own projects. No architecture experience required, but software development experience is assumed.
&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;
Next up is a session that will look at some of the real-world skills that are needed by software architects today. This takes our view of &lt;a href=&#034;http://www.codingthearchitecture.com/pages/book/role.html&#034;&gt;the role of a software architect&lt;/a&gt; and fleshes out the technology aspects of it.

&lt;blockquote&gt;
&lt;h3&gt;Broadening the T&lt;/h3&gt;
&lt;p&gt;
A breadth of experience is key for successful software architects, but how do you get this and what should you know? In this technical session we&#039;ll look at the things every software architect should know, drilling down into the following topics:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Architecture and design patterns&lt;/li&gt;
&lt;li&gt;Technologies, frameworks and tools&lt;/li&gt;
&lt;li&gt;Designing for and testing non-functional requirements&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;
All of this will done in the context of the Microsoft .NET and Java technology stacks, so you&#039;ll get some concrete guidance on what knowledge will help you in your role as a successful software architect.
&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;
Finally is a session that expands on Kevin&#039;s &lt;a href=&#034;http://www.codingthearchitecture.com/2008/06/11/slides_from_our_software_architect_2008_sessions.html&#034;&gt;Sharing Architectures&lt;/a&gt; presentation to look at what should be included in an architecture definition. Real-world examples will be presented here to provide some concrete examples.
&lt;/p&gt;

&lt;blockquote&gt;
&lt;h3&gt;Documenting your software architecture - why and how?&lt;/h3&gt;
&lt;p&gt;
A description of your software architecture is essential for any project of any size, explaining the rationale behind the design decisions and how the software will work in the real world. Such descriptions should include an explanation of the software structure, the architectural principles adopted, the constraints in force, the platforms on which the system is deployed and an explicit justification of how the architecture satisfies the requirements. A good software architecture document should describe what the code itself doesn&#039;t. This session will tell you how to do this.
&lt;/p&gt;
&lt;/blockquote&gt;
        </description>
      
      
    
    
    
    <comments>http://www.codingthearchitecture.com/2009/06/29/speaking_at_software_architect_2009.html#comments</comments>
    <guid isPermaLink="true">http://www.codingthearchitecture.com/2009/06/29/speaking_at_software_architect_2009.html</guid>
    <pubDate>Mon, 29 Jun 2009 09:25:12 GMT</pubDate>
  </item>
  
  <item>
    <title>Stating the obvious</title>
    <link>http://www.codingthearchitecture.com/2009/06/16/stating_the_obvious.html</link>
    
      
        <description>
          &lt;p&gt;
If you&#039;ve watched &lt;a href=&#034;http://www.codingthearchitecture.com/2009/06/15/a_developers_guide_to_load_testing_video.html&#034;&gt;A developer&#039;s guide to load testing&lt;/a&gt;, you will have seen the graph below already. It shows the results from load testing a website written in .NET with the &lt;a href=&#034;http://jakarta.apache.org/jmeter/index.html&#034;&gt;Apache JMeter&lt;/a&gt; load testing tool. Along the bottom of the graph are the actions that make up the load test script, while the vertical axis is the response time in seconds. Each line represents the results from a different test run with a different number of concurrent users.
&lt;/p&gt;

&lt;div align=&#034;center&#034;&gt;
&lt;img src=&#034;http://www.codingthearchitecture.com/images/load-testing-graph.png&#034; alt=&#034;Load testing graph&#034; /&gt;
&lt;/div&gt;

&lt;p&gt;
The interesting thing about this graph is that the average response time for any page request is just a few seconds, with the exception of the spike around a third of the way in. This spike is caused by the .NET web tier having to aggregate information from several calls to a backend system, where some resource locking bottlenecks the incoming requests. From analysing the load testing environment during the test run, we were able to ascertain where the hotspot was because (a) the CPU load for the web-tier dropped off when this call was taking place and (b) we could see the requests being queued up on the backend system. From a technical perspective then, load testing is a fantastic way to find and highlight bottlenecks in the overall architecture, providing an opportunity to present some real evidence about the performance degradation and where the hotspots are.
&lt;/p&gt;

&lt;p&gt;
Furthermore, in this example there was a general feeling that this particular action was slow, but the evidence was only empirical. People had experienced this slowness but had never actually measured it before. &lt;a href=&#034;http://www.codingthearchitecture.com/authors/kseal/&#034;&gt;Kevin&lt;/a&gt; made a comment during the last user group where he mentioned that the architect sits between the technical and business spaces, spanning the two and bringing them together. Raw results from a load test are one thing, but presenting the data in a way that makes sense to non-technical people can tell a completely different story. Sometimes your load testing results state the obvious, but sometimes they don&#039;t.
&lt;/p&gt;
        </description>
      
      
    
    
    
    <comments>http://www.codingthearchitecture.com/2009/06/16/stating_the_obvious.html#comments</comments>
    <guid isPermaLink="true">http://www.codingthearchitecture.com/2009/06/16/stating_the_obvious.html</guid>
    <pubDate>Tue, 16 Jun 2009 14:08:33 GMT</pubDate>
  </item>
  
  <item>
    <title>A developer&#039;s guide to load testing - video</title>
    <link>http://www.codingthearchitecture.com/2009/06/15/a_developers_guide_to_load_testing_video.html</link>
    
      
        <description>
          &lt;p&gt;
Just a quickie ... the video from &lt;a href=&#034;http://www.codingthearchitecture.com/2009/06/11/a_developers_guide_to_load_testing_slides.html&#034;&gt;A developer&#039;s guide to load testing&lt;/a&gt; at Skills Matter last week is now available to &lt;a href=&#034;http://skillsmatter.com/podcast/design-architecture/a-developers-guide-to-load-testing&#034;&gt;view online&lt;/a&gt;. The microphone picked up the questions and comments quite well, which is excellent. Enjoy, and feel free to use the &lt;a href=&#034;http://groups.google.com/group/codingthearchitecture&#034;&gt;Google Group&lt;/a&gt; to continue the discussion.
&lt;/p&gt;

&lt;div align=&#034;center&#034;&gt;
&lt;object width=&#034;400&#034; height=&#034;300&#034;&gt;&lt;param name=&#034;allowfullscreen&#034; value=&#034;true&#034; /&gt;&lt;param name=&#034;allowscriptaccess&#034; value=&#034;always&#034; /&gt;&lt;param name=&#034;movie&#034; value=&#034;http://vimeo.com/moogaloop.swf?clip_id=5116578&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1&#034; /&gt;&lt;embed src=&#034;http://vimeo.com/moogaloop.swf?clip_id=5116578&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1&#034; type=&#034;application/x-shockwave-flash&#034; allowfullscreen=&#034;true&#034; allowscriptaccess=&#034;always&#034; width=&#034;400&#034; height=&#034;300&#034;&gt;&lt;/embed&gt;&lt;/object&gt;
&lt;/div&gt;

&lt;p&gt;
Thanks again to &lt;a href=&#034;http://skillsmatter.com&#034;&gt;Skills Matter&lt;/a&gt;.
&lt;/p&gt;
        </description>
      
      
    
    
    
    <comments>http://www.codingthearchitecture.com/2009/06/15/a_developers_guide_to_load_testing_video.html#comments</comments>
    <guid isPermaLink="true">http://www.codingthearchitecture.com/2009/06/15/a_developers_guide_to_load_testing_video.html</guid>
    <pubDate>Mon, 15 Jun 2009 22:27:51 GMT</pubDate>
  </item>
  
  <item>
    <title>June 2009 training course</title>
    <link>http://www.codingthearchitecture.com/2009/06/12/june_2009_training_course.html</link>
    
      
        <description>
          &lt;p&gt;
I ran our &lt;a href=&#034;http://www.codingthearchitecture.com/pages/services/training.html&#034;&gt;From Developer to Architect training course&lt;/a&gt; (Coding the Architecture Workshop) earlier this week at &lt;a href=&#034;http://skillsmatter.com/go/design-architecture&#034;&gt;Skills Matter&lt;/a&gt; in London. 8 people came along, all with slightly different levels of software development/architecture experience and technology background. Historically this course has predominantly attracted people with a Java background, although this is starting to change with more people having experience of the .NET framework. As &lt;a href=&#034;http://agoncal.wordpress.com/2009/06/10/coding-the-architecture/&#034;&gt;Antonio Goncalves mentions in his blog entry about the course&lt;/a&gt;:
&lt;/p&gt;

&lt;blockquote&gt;
This workshop is completly different from what you are used to where you are sent by your company to be trained. You don&#039;t arrive, sit down, listen and leave the room being an architect. Instead you only go through 50 slides in two days, and spend your time working in small groups and interacting with the others. At the end you leave the workshop with your head full of ideas.
&lt;/blockquote&gt;

&lt;p&gt;
If you&#039;ve been along to one of the Coding the Architecture user groups then you&#039;ll know what to expect from this course. There&#039;s an element of presentation to set a baseline level of knowledge, but most of the course is very interactive and collaborative, with a focus on nurturing discussion rather than just being a 2-day question and answer session. From my perspective, it&#039;s a fantastic course to run because even *I* leave the workshop with my head full of ideas! There&#039;s some interesting discussion on &lt;a href=&#034;http://twit.tv/197&#034;&gt;TWiT 197&lt;/a&gt; on how education should be less about learning how to pass exams and more about creativity/thinking for yourself. This is exactly the rationale behind our course too.
&lt;/p&gt;

&lt;p&gt;
You can find more information about what the course covers on our &lt;a href=&#034;http://www.codingthearchitecture.com/pages/services/training.html&#034;&gt;training page&lt;/a&gt;, but I wanted to share some insight into the case study exercise. It&#039;s a collaborative exercise where groups are asked to define an architecture from a small set of functional and non-functional requirements. Given that everybody has different backgrounds and experiences, there&#039;s no right answer and the range of technical solutions can often be quite vast. What&#039;s important about the case study is looking at how to approach the architecture definition exercise ... which inputs to consider, where to start, how to convey the architecture, what level of detail to go to and, of course, which technologies to choose. The file linked below includes some of the diagrams produced as part of the case study; highlighting the different views, level of detail and notation used to convey solutions.
&lt;/p&gt;

&lt;div align=&#034;center&#034;&gt;
&lt;a href=&#034;http://static.codingthearchitecture.com/presentations/from-developer-to-architect-diagrams.zip&#034;&gt;&lt;img src=&#034;http://www.codingthearchitecture.com/images/from-developer-to-architect-diagrams-thumbnail.jpg&#034; alt=&#034;Diagrams from the training course&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;a href=&#034;http://static.codingthearchitecture.com/presentations/from-developer-to-architect-diagrams.zip&#034;&gt;Diagrams from our &#034;From Developer to Architect&#034; training course&lt;/a&gt; (ZIP, 2.7MB)
&lt;/div&gt;

&lt;p&gt;
Even without knowledge of the case study, the diagrams illustrate the variation in how architecture can be conveyed. Expect some essays about this and our overall approach to software architecture in the future; and feel free to &lt;a href=&#034;http://www.codingthearchitecture.com/authors/sbrown/&#034;&gt;get in touch&lt;/a&gt; if you have any questions about the course or how we can help you with your own software architectures. Oh, and thanks once again to everybody that came along and made it such an enjoyable couple of days. :-)
&lt;/p&gt;
        </description>
      
      
    
    
    
    <comments>http://www.codingthearchitecture.com/2009/06/12/june_2009_training_course.html#comments</comments>
    <guid isPermaLink="true">http://www.codingthearchitecture.com/2009/06/12/june_2009_training_course.html</guid>
    <pubDate>Fri, 12 Jun 2009 22:06:00 GMT</pubDate>
  </item>
  
  <item>
    <title>A developer&#039;s guide to load testing - slides</title>
    <link>http://www.codingthearchitecture.com/2009/06/11/a_developers_guide_to_load_testing_slides.html</link>
    
      
        <description>
          &lt;p&gt;
Thanks to everybody that came along to the &lt;a href=&#034;http://www.codingthearchitecture.com/2009/06/02/a_developers_guide_to_load_testing.html&#034;&gt;CTA user group earlier in the week&lt;/a&gt;. The tube strike may had reduced the numbers but we still had some great discussion about load testing. My slides are available to &lt;a href=&#034;http://static.codingthearchitecture.com/presentations/20090609-load-testing.pdf&#034;&gt;download&lt;/a&gt; (~4MB) and if anybody wants to continue the discussion, please feel free to use the &lt;a href=&#034;http://groups.google.com/group/codingthearchitecture&#034;&gt;Google Group&lt;/a&gt;.
&lt;/p&gt;

&lt;div align=&#034;center&#034;&gt;
&lt;a href=&#034;http://static.codingthearchitecture.com/presentations/20090609-load-testing.pdf&#034;&gt;&lt;img src=&#034;http://www.codingthearchitecture.com/images/20090609-load-testing-thumbnail.png&#034; alt=&#034;A developer&#039;s guide to load testing&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;a href=&#034;http://static.codingthearchitecture.com/presentations/20090609-load-testing.pdf&#034;&gt;A developer&#039;s guide to load testing&lt;/a&gt; (PDF, ~4MB) 
&lt;/div&gt;

&lt;p&gt;
I&#039;ll post an update when the Skills Matter podcast/video is available to view online.
&lt;/p&gt;

        </description>
      
      
    
    
    
    <comments>http://www.codingthearchitecture.com/2009/06/11/a_developers_guide_to_load_testing_slides.html#comments</comments>
    <guid isPermaLink="true">http://www.codingthearchitecture.com/2009/06/11/a_developers_guide_to_load_testing_slides.html</guid>
    <pubDate>Thu, 11 Jun 2009 18:40:49 GMT</pubDate>
  </item>
  
  </channel>
</rss>
