<?xml version="1.0"?>
<rss version="2.0">
<channel>
  <title>Coding the Architecture - sbrown</title>
  <link>http://www.codingthearchitecture.com/authors/sbrown/</link>
  <description>Software architecture for developers</description>
  <language>en</language>
  <copyright>Coding the Architecture</copyright>
  <lastBuildDate>Tue, 09 Feb 2010 15:15:23 GMT</lastBuildDate>
  <generator>Pebble (http://pebble.sourceforge.net)</generator>
  <docs>http://backend.userland.com/rss</docs>
  
  
  <item>
    <title>Are you a software architect?</title>
    <link>http://www.infoq.com/articles/brown-are-you-a-software-architect</link>
    
      
        <description>
          &lt;p&gt;
The line between software development and software architecture is a tricky one. Some people will tell you that it doesn&#039;t exist and that architecture is simply an extension of the design process undertaken by developers. Others will make out it&#039;s a massive gaping chasm that can only be crossed by lofty developers who believe you must always abstract your abstractions and not get bogged down by those pesky implementation details. As always, there&#039;s a pragmatic balance somewhere in the middle, but it does raise the interesting question of how you move from one to the other.
&lt;/p&gt;&lt;p&gt;&lt;a href=&#034;http://www.infoq.com/articles/brown-are-you-a-software-architect&#034;&gt;Read more...&lt;/a&gt;&lt;/p&gt;
        </description>
      
      
    
    
    
    <category>What is the the role of a software architect?</category>
    
    <comments>http://www.codingthearchitecture.com/2010/02/09/are_you_a_software_architect.html#comments</comments>
    <guid isPermaLink="true">http://www.infoq.com/articles/brown-are-you-a-software-architect</guid>
    <pubDate>Tue, 09 Feb 2010 15:15:23 GMT</pubDate>
  </item>
  
  <item>
    <title>Software architecture: where do you start?</title>
    <link>http://www.codingthearchitecture.com/2010/02/03/software_architecture_where_do_you_start.html</link>
    
      
        <description>
          &lt;p&gt;
You may have seen this on &lt;a href=&#034;http://blogs.msdn.com/matt_deacon/archive/2010/01/22/iasa.aspx&#034; target=&#034;_blank&#034;&gt;Matt Deacon&#039;s blog&lt;/a&gt; already ... I&#039;m running a session for the IASA UK chapter on the 9th of March in London.
&lt;/p&gt;

&lt;blockquote&gt;
&lt;h3&gt;Where do you start?&lt;/h3&gt;
&lt;p&gt;
One of the hardest things about software development is being asked to come up with a design when all you&#039;re given is a set of requirements and a blank sheet of paper. Many software teams will dive straight into the code and while this can initially be very productive, the slippery slope of constant refactoring is awaiting those teams that haven&#039;t quite found a design that works. Often, a little forethought is all that&#039;s needed to get the development process heading in the right direction. So where do you start?
&lt;/p&gt;
&lt;p&gt;
This session will answer this question, presenting some simple techniques for tackling software architecture while dispelling the myths about the need for complex tools and big design up front.
&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;
I&#039;m planning the content for this session at the moment and it&#039;s going to be a mix of presentation, discussion and probably some group work to get you all drawing a few boxes and lines. We&#039;re going to cover a very very quick overview of what software architecture is all about before moving on to see what drives and influences it. Once this is done, we&#039;ll look at how to actually design software from a blank sheet of paper, focussing on some techniques to help you determine what components you need and how best to organise them. A nice side effect of the techniques we&#039;ll use to define architecture is that they can also be used to share architecture, so we&#039;ll wrap up by looking at how to document software architectures in a simple yet effective way.
&lt;/p&gt;

&lt;p align=&#034;center&#034;&gt;
&lt;a href=&#034;http://wheredoyoustart.eventbrite.com&#034; target=&#034;_blank&#034;&gt;&lt;img src=&#034;http://www.codingthearchitecture.com/images/iasa-uk.png&#034; alt=&#034;IASA UK&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
You can find more information about this event and register &lt;a href=&#034;http://wheredoyoustart.eventbrite.com&#034; target=&#034;_blank&#034;&gt;here&lt;/a&gt;. I&#039;m really looking forward to it and hope to see you there.
&lt;/p&gt;
        </description>
      
      
    
    
    
    <category>How do you share software architecture?</category>
    
    <category>How do you define software architecture?</category>
    
    <comments>http://www.codingthearchitecture.com/2010/02/03/software_architecture_where_do_you_start.html#comments</comments>
    <guid isPermaLink="true">http://www.codingthearchitecture.com/2010/02/03/software_architecture_where_do_you_start.html</guid>
    <pubDate>Wed, 03 Feb 2010 09:42:45 GMT</pubDate>
  </item>
  
  <item>
    <title>The tension between software architects and their employers</title>
    <link>http://www.codingthearchitecture.com/2010/01/27/the_tension_between_software_architects_and_their_employers.html</link>
    
      
        <description>
          &lt;p&gt;
Sergey Mikhanov has written a blog entry called &lt;a href=&#034;http://www.mikhanov.com/2010/01/26/why-i-dont-believe-in-software-architects-120&#034; target=&#034;_blank&#034;&gt;Why I don&#039;t believe in software architects&lt;/a&gt; that, along with the follow-up comments, makes for a good read. It discusses some of the ways that software architecture is typically viewed (e.g. models rather than code) along with some thoughts about how coding should be included as a part of the role. Since this site is called &#034;Coding the Architecture&#034; and &lt;a href=&#034;http://www.codingthearchitecture.com/pages/book/role.html&#034; target=&#034;_blank&#034;&gt;role of a software architect&lt;/a&gt; talks about how coding should play a part, I&#039;m not going to dwell on that particular aspect. What I do like about Sergey&#039;s blog entry is that it highlights the often familiar (yet rarely discussed) tension between software architects and their employer.
&lt;/p&gt;

&lt;blockquote&gt;
What about career path then? Well, I can&#039;t give any personal advice here except for the &#034;avoid advertised &#039;software architect&#039; positions&#034;. The best company will allow you to keep writing code while expanding your area of influence wider and wider into the company products at the same time. This is what really software architecture is about.
&lt;/blockquote&gt;

&lt;p&gt;
I&#039;ve been fortunate in that I&#039;ve retained a large hands-on element as a part of my role and I&#039;ve written code on most of the development projects that I&#039;ve been involved in. I&#039;m a firm believer that you&#039;re in control of creating your own opportunities and that the reason I&#039;ve remained hands-on comes down to expressing that it&#039;s a crucial part of the role. For me it&#039;s simple ... coding is essential when designing software because I need to keep my skills up to date and understand that what I&#039;m designing will work. Plus, it&#039;s fun and I&#039;m not worried about admitting it.
&lt;/p&gt;

&lt;p&gt;
Unfortunately many organisations seem to think that coding is the easy part of the software development process, which is why they see an opportunity to save some money and let somebody else do it. They view cutting code as low-value. Tension therefore arises because there&#039;s a disconnect between the seniority of the software architect in the organisation and the low-value associated with the coding activities.
&lt;/p&gt;

&lt;p&gt;
In my experience, this doesn&#039;t happen in small organisations because everybody usually has to get involved in whatever is needed. No, it&#039;s those larger organisations where the tension is greatest. I spent some time working for a medium size consulting firm where my job grade put me squarely inline with the management and heads of business units, yet I still used to write code. In some ways it was quite an achievement to be graded as a manager and write code on a daily basis, yet it often felt very uncomfortable as other managers would try to push my name into boxes on the organisational chart.
&lt;/p&gt;

&lt;p&gt;
Being in this situation is tricky and only you can get yourself out of it. A number of developers/architects have been in touch to say that they&#039;ve found my &lt;a href=&#034;http://www.codingthearchitecture.com/presentations/sa2008-why-software-projects-fail/&#034; target=&#034;_blank&#034;&gt;Why software projects fail&lt;/a&gt; presentation really useful as a basis for expressing to their organisations what they would like their role to be. &lt;a href=&#034;http://www.codingthearchitecture.com/pages/book/role.html&#034; target=&#034;_blank&#034;&gt;The role of a hands-on software architect&lt;/a&gt; discusses the same thing in a shorter format and both have been used as the basis for &#034;terms of reference&#034; for software architecture roles in organisations. Whether you&#039;re in an organisation where this is happening or you&#039;re looking to move on, be clear about how you view the role of a software architect and be prepared to stand your ground.
&lt;/p&gt;
        </description>
      
      
    
    
    
    <category>What is the the role of a software architect?</category>
    
    <comments>http://www.codingthearchitecture.com/2010/01/27/the_tension_between_software_architects_and_their_employers.html#comments</comments>
    <guid isPermaLink="true">http://www.codingthearchitecture.com/2010/01/27/the_tension_between_software_architects_and_their_employers.html</guid>
    <pubDate>Wed, 27 Jan 2010 23:25:40 GMT</pubDate>
  </item>
  
  <item>
    <title>2009 highlights and plans for 2010 - part 4</title>
    <link>http://www.codingthearchitecture.com/2010/01/08/2009_highlights_and_plans_for_2010_part_4.html</link>
    
      
        <description>
          &lt;p&gt;
Onwards then. The plan for 2010 is simple ... more content about pragmatic software architecture and more training. I particularly want to tackle the practical side of the software design process, including how to approach software design given a blank sheet of paper. We already have a body of material about this &lt;a href=&#034;http://www.codingthearchitecture.com/pages/define.html&#034;&gt;on the site&lt;/a&gt; and in &lt;a href=&#034;http://www.softwarearchitecturefordevelopers.com&#034;&gt;the training course&lt;/a&gt;, but I want to consolidate it further with a very simple set of techniques to use for those &#034;where do I start?&#034; moments. I don&#039;t want to create an &#034;architecture process&#034;, no, just a small collection of techniques that you can pull out of your toolbox when the time is right.
&lt;/p&gt;

&lt;p&gt;
The other thing that I want to do is publish some sample software architecture documents. We have &lt;a href=&#034;http://www.codingthearchitecture.com/pages/book/software-architecture-document-guidelines.html&#034;&gt;software architecture document guidelines&lt;/a&gt; but I&#039;ve had a *lot* of requests for some concrete examples. This will go nicely hand-in-hand with the content above to form a great pack of guidance for anybody tackling software design.
&lt;/p&gt;

&lt;p&gt;
Finally, Kevin and I are speaking at some events in the first few months of this year, with a view to lining some more up too.
&lt;/p&gt;

&lt;div align=&#034;center&#034;&gt;
&lt;table&gt;
&lt;tr&gt;
&lt;td width=&#034;50%&#034; align=&#034;center&#034;&gt;
&lt;a href=&#034;http://www.qconlondon.com&#034;&gt;&lt;img src=&#034;http://www.codingthearchitecture.com/images/qcon.png&#034; alt=&#034;QCon London 2010&#034; border=&#034;0&#034; width=&#034;180&#034; /&gt;&lt;/a&gt;
&lt;br /&gt;
Kevin and I will be running two sessions at &lt;a href=&#034;http://www.qconlondon.com&#034;&gt;QCon London 2010&lt;/a&gt;. The first is &lt;a href=&#034;http://qconlondon.com/london-2010/presentation/Software+Architecture+for+Developers&#034;&gt;one-day version of our training course&lt;/a&gt;, while Kevin will also be talking about &lt;a href=&#034;http://qconlondon.com/london-2010/presentation/MorganDirect%3A+OSGi+and+industrial-strength+Swing&#034;&gt;OSGi and industrial-strength Swing&lt;/a&gt;.
&lt;/td&gt;
&lt;td width=&#034;50%&#034; align=&#034;center&#034;&gt;
&lt;a href=&#034;http://www.devweek.com&#034;&gt;&lt;img src=&#034;http://www.codingthearchitecture.com/images/devweek2010.jpg&#034; alt=&#034;DevWeek 2010&#034; border=&#034;0&#034; /&gt;&lt;/a&gt;
&lt;br /&gt;
I&#039;ll be speaking at &lt;a href=&#034;http://www.devweek.com&#034;&gt;DevWeek 2010 in London&lt;/a&gt;, presenting &lt;a href=&#034;http://www.codingthearchitecture.com/2009/11/09/speaking_at_devweek_2010.html&#034;&gt;two talks about improving software quality&lt;/a&gt; (automated builds in .NET and load testing).
&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;/div&gt;

&lt;p&gt;
I&#039;m really looking to the year ahead, helping more people broaden their software development careers and build better software. If there&#039;s anything that you&#039;d particularly like to see us cover, please feel free to &lt;a href=&#034;http://www.codingthearchitecture.com/authors/sbrown/&#034;&gt;get in touch&lt;/a&gt;.
&lt;/p&gt;
        </description>
      
      
    
    
    
    <comments>http://www.codingthearchitecture.com/2010/01/08/2009_highlights_and_plans_for_2010_part_4.html#comments</comments>
    <guid isPermaLink="true">http://www.codingthearchitecture.com/2010/01/08/2009_highlights_and_plans_for_2010_part_4.html</guid>
    <pubDate>Fri, 08 Jan 2010 10:18:03 GMT</pubDate>
  </item>
  
  <item>
    <title>2009 highlights and plans for 2010 - part 3</title>
    <link>http://www.codingthearchitecture.com/2010/01/07/2009_highlights_and_plans_for_2010_part_3.html</link>
    
      
        <description>
          &lt;p&gt;
My final highlight from 2009 is that we improved our &lt;a href=&#034;http://www.softwarearchitecturefordevelopers.com&#034;&gt;Software Architecture for Developers&lt;/a&gt; training course by &lt;a href=&#034;http://www.codingthearchitecture.com/2009/10/29/software_architecture_for_developers.html&#034;&gt;restructuring it and adding more content&lt;/a&gt;. We&#039;ve run this course for several hundred people now and the feedback is consistently excellent. Predominantly it&#039;s software developers that attend the course although the amount of existing software architecture experience varies wildly; from people in a pure development role through to others that have done some software architecture/design before. Despite the differing levels of experience, feedback says that the course consolidates existing knowledge and provides clear pragmatic advice on how to actually tackle software architecture and design. We cut through buzzwords and industry fashions, instead taking a common-sense and no-nonsense approach to software design.
&lt;/p&gt;

&lt;p&gt;
I&#039;d say that the majority of people attending the course do have an understanding of their role in the organisation that they work for, although often that same view isn&#039;t always shared by everybody in their team. Our discussion of the software architecture role provides some very clear guidelines around this and, again, it&#039;s something that people really value because they can use it to help them shape their own role and responsibilities.  
&lt;/p&gt;

&lt;p align=&#034;center&#034;&gt;
&lt;img src=&#034;http://www.codingthearchitecture.com/images/book/role-1.png&#034; alt=&#034;Role summary for a hands-on software architect&#034; /&gt;
&lt;/p&gt;

&lt;p&gt;
One of the things that prompted the enhancements to the course is that we&#039;ve seen how people often struggle when it comes to tackling software design from a big picture perspective. I&#039;ve seen this during my consulting work but it&#039;s also often apparent during the case study exercise where we provide a set of requirements and ask people to spend about half a day designing a software system. It sounds easy when you see the requirements, but in reality it&#039;s easier to get caught up in too much or too little detail. The former sees people thinking too much about the code while the latter sees the system designed as a single box on a sheet of paper. Successful software design needs a balance of both and understanding this is exactly what the case study exercise is all about. It&#039;s also worth pointing out that the same techniques can be used when dealing with major system enhancements, so it&#039;s not all about greenfield software design.
&lt;/p&gt;

&lt;p align=&#034;center&#034;&gt;
&lt;img src=&#034;http://www.codingthearchitecture.com/images/book/start-with-the-big-picture-4.png&#034; alt=&#034;All views of the architecture&#034; /&gt;
&lt;/p&gt;

&lt;p&gt;
The course has evolved a great deal over the past year and what we have now really does provide a very rounded, balanced and pragmatic view of software architecture. If you&#039;re tasked with designing software and aren&#039;t sure where to start, this could be the course for you. It doesn&#039;t seem to be the done thing for training providers, but I&#039;ve published a &lt;a href=&#034;http://www.softwarearchitecturefordevelopers.com/preview.html&#034;&gt;preview of the course slides&lt;/a&gt; to give a feel for the content we cover and to illustrate that we have a very different approach to your regular slide-driven training courses. With only 146 slides over two days, you aren&#039;t going to get death by PowerPoint here!
&lt;/p&gt;

&lt;p&gt;
In part 4 we&#039;ll look forward to 2010 and outline some of our plans.
&lt;/p&gt;
        </description>
      
      
    
    
    
    <comments>http://www.codingthearchitecture.com/2010/01/07/2009_highlights_and_plans_for_2010_part_3.html#comments</comments>
    <guid isPermaLink="true">http://www.codingthearchitecture.com/2010/01/07/2009_highlights_and_plans_for_2010_part_3.html</guid>
    <pubDate>Thu, 07 Jan 2010 08:51:58 GMT</pubDate>
  </item>
  
  <item>
    <title>2009 highlights and plans for 2010 - part 2</title>
    <link>http://www.codingthearchitecture.com/2010/01/06/2009_highlights_and_plans_for_2010_part_2.html</link>
    
      
        <description>
          &lt;p&gt;
In addition to the &lt;a href=&#034;http://www.codingthearchitecture.com/2010/01/05/2009_highlights_and_plans_for_2010_part_1.html&#034;&gt;new content&lt;/a&gt;, 2009 saw us present at a number of conferences and events over the year, with all of the slides being able to download and view online. Here are some highlights.
&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&#034;http://www.codingthearchitecture.com/presentations/sa2009-documenting-your-software-architecture-why-and-how/&#034;&gt;Documenting your software architecture - why and how?&lt;/a&gt;: This presentation was about why you should document your software architecture and how to do it. It complements our &lt;a href=&#034;http://www.codingthearchitecture.com/pages/book/software-architecture-document-guidelines.html&#034;&gt;software architecture document guidelines&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#034;http://www.codingthearchitecture.com/presentations/sa2009-broadening-the-t/&#034;&gt;Broadening the T&lt;/a&gt;: This presentation covered the skills needed by hands-on software architects; including seeing the big picture, dealing with non-functional requirements, using patterns at the architecture level, testing architectures, monitoring and diagnosing performance problems.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#034;http://www.codingthearchitecture.com/presentations/dw2009-pitfalls-for-new-software-architects/&#034;&gt;Pitfalls for new software architects&lt;/a&gt;: As it says on the tin ... what should you watch out for as a software architect?&lt;/li&gt;
&lt;li&gt;&lt;a href=&#034;http://www.codingthearchitecture.com/presentations/sa2009-from-developer-to-architect/&#034;&gt;From developer to architect&lt;/a&gt;: This is our one-day tutorial session that provides a whistle-stop tour of software architecture. It&#039;s basically a stripped down and older version of our recently enhanced &lt;a href=&#034;http://www.softwarearchitecturefordevelopers.com&#034;&gt;two-day training course&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
Stay tuned for details of our 2010 presentation schedule.
&lt;/p&gt;
        </description>
      
      
    
    
    
    <comments>http://www.codingthearchitecture.com/2010/01/06/2009_highlights_and_plans_for_2010_part_2.html#comments</comments>
    <guid isPermaLink="true">http://www.codingthearchitecture.com/2010/01/06/2009_highlights_and_plans_for_2010_part_2.html</guid>
    <pubDate>Wed, 06 Jan 2010 08:18:00 GMT</pubDate>
  </item>
  
  <item>
    <title>2009 highlights and plans for 2010 - part 1</title>
    <link>http://www.codingthearchitecture.com/2010/01/05/2009_highlights_and_plans_for_2010_part_1.html</link>
    
      
        <description>
          &lt;p&gt;
Happy new year all! Despite the financial climate, 2009 turned out to be a fairly busy year. The rationale behind &lt;a href=&#034;http://www.codingthearchitecture.com&#034;&gt;Coding the Architecture&lt;/a&gt; is to be a useful resource for hands-on, pragmatic software architects written by people with the same background. For this reason I&#039;m delighted to report that most of my working time in 2009 was spent in front of Visual Studio writing C# code! There was, of course, a balance of the &lt;a href=&#034;http://www.codingthearchitecture.com/pages/role.html&#034;&gt;software architecture tasks&lt;/a&gt;, but the majority of my time *was* spent writing code. I&#039;ve always believed that good software architects should remain hands-on to some degree and I still believe that today. Software architecture is about understanding how to design software from the big picture perspective while understanding the technology that you&#039;re going to use to ultimately build the software. Having both the big picture and the detail in mind puts you in an excellent position to deliver successful working software. And that&#039;s really what the software industry is about.
&lt;/p&gt;

&lt;p&gt;
In the past I&#039;ve tended to focus on writing about the &lt;a href=&#034;http://www.codingthearchitecture.com/pages/role.html&#034;&gt;role of the software architect&lt;/a&gt; and 2009 saw a broadening out to cover other aspects of software architecture such as how you start actually &#034;doing&#034; software architecture. There were a number of blog entries and essays written during 2009 - here are some of the highlights.
&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&#034;http://www.codingthearchitecture.com/pages/book/strategy-rather-than-code.html&#034;&gt;Strategy rather than code&lt;/a&gt;: What *is* enterprise architecture and is it the next step for your software career?&lt;/li&gt;
&lt;li&gt;&lt;a href=&#034;http://www.codingthearchitecture.com/pages/book/you-dont-need-a-uml-tool.html&#034;&gt;You don&#039;t need a UML tool&lt;/a&gt;: A short essay about why you don&#039;t need a UML tool to do software architecture.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#034;http://www.codingthearchitecture.com/pages/book/start-with-the-big-picture.html&#034;&gt;Start with the big picture&lt;/a&gt;: This essay talks about the levels of detail you might go into when you&#039;re defining a software system.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#034;http://www.codingthearchitecture.com/pages/book/the-code-doesnt-tell-the-whole-story.html&#034;&gt;The code doesn&#039;t tell the whole story&lt;/a&gt;: The code might be the ultimate deliverable, but it isn&#039;t everything.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#034;http://www.codingthearchitecture.com/pages/book/software-architecture-is-a-platform-for-conversation.html&#034;&gt;Software architecture is a platform for conversation&lt;/a&gt;: An essay that explains why you should talk to people during the software architecture definition process.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#034;http://www.codingthearchitecture.com/2009/02/07/the_other_interface.html&#034;&gt;The Other Interface&lt;/a&gt;: Why you shouldn&#039;t ignore logging in your software.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#034;http://www.codingthearchitecture.com/pages/book/software-architecture-document-guidelines.html&#034;&gt;Software architecture document guidelines&lt;/a&gt;: Software documentation should be complementary to the code and describe what the code itself doesn&#039;t. This essay provides some guidelines as to what you might want to include.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
If you&#039;re new to the site, have a look around because there&#039;s some excellent content that&#039;s easier to find now that we&#039;ve &lt;a href=&#034;http://www.codingthearchitecture.com/2009/10/14/site_updates.html&#034;&gt;reorganised the site into the what, role, define, share and deliver categories&lt;/a&gt;. Expect more to be added in the coming weeks and look out for part 2 where I&#039;ll run through some of our other highlights from 2009.
&lt;/p&gt;
        </description>
      
      
    
    
    
    <comments>http://www.codingthearchitecture.com/2010/01/05/2009_highlights_and_plans_for_2010_part_1.html#comments</comments>
    <guid isPermaLink="true">http://www.codingthearchitecture.com/2010/01/05/2009_highlights_and_plans_for_2010_part_1.html</guid>
    <pubDate>Tue, 05 Jan 2010 20:15:46 GMT</pubDate>
  </item>
  
  <item>
    <title>December 2009 training summary</title>
    <link>http://www.codingthearchitecture.com/2009/12/18/december_2009_training_summary.html</link>
    
      
        <description>
          &lt;p&gt;
&lt;img src=&#034;http://www.codingthearchitecture.com/images/20091208-whiteboard.jpg&#034; alt=&#034;Diagrams from the training course&#034; align=&#034;right&#034; style=&#034;margin-left: 8px; margin-bottom: 8px;&#034; /&gt;I&#039;ve had a few people ask me for a write-up of the recent &lt;a href=&#034;http://www.softwarearchitecturefordevelopers.com&#034;&gt;training course&lt;/a&gt;, so I thought I&#039;d put something together. This was the first time I&#039;ve run the course with the &lt;a href=&#034;http://www.codingthearchitecture.com/2009/10/29/software_architecture_for_developers.html&#034;&gt;new content and structure&lt;/a&gt; in place and the feedback was excellent. In the past, I think I&#039;d always assumed that people had their own way of designing software so we never explicitly covered this in any detail other than offering guidance during the main case study exercise. The course now includes much more content and  guidelines for designing software although it doesn&#039;t go so far as to define a complete end-to-end process. Jason Gorman has a good blog entry called &lt;a href=&#034;http://parlezuml.com/blog/?postid=862&#034;&gt;Value Is Not The Opposite Of Waste: Why I Don&#039;t Buy Into Process Improvement&lt;/a&gt; that talks about how simply putting a process in place doesn&#039;t necessarily make things better. And I agree. I don&#039;t particularly want to preach a &#034;software architecture process&#034;, but I do want to highlight the principles of good software design and how to successfully come up with a software architecture. I&#039;d rather ensure people have the correct knowledge and understanding that can then be used and adapted to fit in with *their* way of working. Having said that, I still think that I&#039;d like to put slightly more guidance around some techniques that can be used to get to the &lt;a href=&#034;http://www.codingthearchitecture.com/pages/book/start-with-the-big-picture.html&#034;&gt;big picture and beyond&lt;/a&gt;. I have some ideas on this and will write them up after the Christmas break.
&lt;/p&gt;

&lt;p&gt;
The reorganisation of the course content into the same &lt;a href=&#034;http://www.codingthearchitecture.com/2009/10/14/site_updates.html&#034;&gt;five areas as the website&lt;/a&gt; has also worked really well and makes for a much more logical flow from introducing architecture and the software architecture role through to defining, sharing (e.g. documenting) and delivering/evaluating software architecture. I had a really great time in London running the course at the new Skills Matter offices. For those of you already booked on the March 2010 course in London, I look forward to seeing you there.
&lt;/p&gt;
        </description>
      
      
    
    
    
    <comments>http://www.codingthearchitecture.com/2009/12/18/december_2009_training_summary.html#comments</comments>
    <guid isPermaLink="true">http://www.codingthearchitecture.com/2009/12/18/december_2009_training_summary.html</guid>
    <pubDate>Fri, 18 Dec 2009 13:28:54 GMT</pubDate>
  </item>
  
  <item>
    <title>You don&#039;t need a UML tool</title>
    <link>http://www.codingthearchitecture.com/2009/12/04/you_dont_need_a_uml_tool.html</link>
    
      
        <description>
          &lt;p&gt;
When tasked with the job of coming up with an architecture and design for a new software system, one of the first questions people ask is about which tool they should use. Such discussions usually focus around the Unified Modeling Language (UML) and whether their organisation has any licenses for some of the more well-known UML tools.
&lt;/p&gt;

&lt;div align=&#034;center&#034;&gt;
&lt;img src=&#034;http://www.codingthearchitecture.com/images/book/you-dont-need-a-uml-tool-1.png&#034; alt=&#034;Whiteboard vs UML tool?&#034; /&gt;
&lt;/div&gt;

&lt;p&gt;
&lt;a href=&#034;http://www.codingthearchitecture.com/pages/book/you-dont-need-a-uml-tool.html&#034; target=&#034;_blank&#034;&gt;Read the full essay...&lt;/a&gt;
&lt;/p&gt;
        </description>
      
      
    
    
    
    <category>How do you define software architecture?</category>
    
    <comments>http://www.codingthearchitecture.com/2009/12/04/you_dont_need_a_uml_tool.html#comments</comments>
    <guid isPermaLink="true">http://www.codingthearchitecture.com/2009/12/04/you_dont_need_a_uml_tool.html</guid>
    <pubDate>Fri, 04 Dec 2009 19:27:06 GMT</pubDate>
  </item>
  
  <item>
    <title>Software architecture is a platform for conversation</title>
    <link>http://www.codingthearchitecture.com/2009/12/01/software_architecture_is_a_platform_for_conversation.html</link>
    
      
        <description>
          &lt;p&gt;
If you&#039;re writing software as a part of your day-to-day job, then it&#039;s likely that your software isn&#039;t going to live in isolation. We tend to feel safe in our little project teams, particularly when everybody knows each other and team spirits are high. We&#039;ve even built up development processes around helping us communicate better, prioritise better and ultimately deliver better software. However, most software projects are still developed in isolation by teams that are locked away from their users and their operational environments.
&lt;/p&gt;

&lt;div align=&#034;center&#034;&gt;
&lt;img src=&#034;http://www.codingthearchitecture.com/images/book/software-architecture-is-a-platform-for-conversation-1.png&#034; alt=&#034;Software architecture is a platform for conversation&#034; /&gt;
&lt;/div&gt;

&lt;p&gt;
&lt;a href=&#034;http://www.codingthearchitecture.com/pages/book/software-architecture-is-a-platform-for-conversation.html&#034; target=&#034;_blank&#034;&gt;Read the full essay...&lt;/a&gt;
&lt;/p&gt;
        </description>
      
      
    
    
    
    <category>How do you define software architecture?</category>
    
    <comments>http://www.codingthearchitecture.com/2009/12/01/software_architecture_is_a_platform_for_conversation.html#comments</comments>
    <guid isPermaLink="true">http://www.codingthearchitecture.com/2009/12/01/software_architecture_is_a_platform_for_conversation.html</guid>
    <pubDate>Tue, 01 Dec 2009 22:03:13 GMT</pubDate>
  </item>
  
  </channel>
</rss>
