<?xml version="1.0"?>
<rss version="2.0">
<channel>
  <title>Simon Brown - agile tag</title>
  <link>http://www.simonbrown.je/blog/tags/agile/</link>
  <description>My thoughts on software development and technology ... now from Jersey in the Channel Islands!</description>
  <language>en</language>
  <copyright>Simon Brown</copyright>
  <lastBuildDate>Wed, 12 Nov 2008 19:24:22 GMT</lastBuildDate>
  <generator>Pebble (http://pebble.sourceforge.net)</generator>
  <docs>http://backend.userland.com/rss</docs>
  
  
  <item>
    <title>How much architecture is enough?</title>
    <link>http://www.codingthearchitecture.com/2008/09/08/how_much_architecture_is_enough.html</link>
    
      
        <description>
          &lt;p&gt;
Thanks to everybody that came along to our &#034;in *our* brains&#034; session last week where we tried to answer the question of &lt;a href=&#034;http://www.codingthearchitecture.com/2008/09/01/how_much_architecture_is_enough.html&#034;&gt;how much architecture is enough&lt;/a&gt;. The event was part of Skills Matter&#039;s &lt;a href=&#034;http://skillsmatter.com/event/agile-scrum/london-agile-month&#034;&gt;London Agile Month&lt;/a&gt; and it was a great turnout where we had some interesting disucssion ranging from what agile is all about through to how architecture tasks should be tackled during an agile project.
&lt;/p&gt;

&lt;p&gt;
The set of slides that I used to set the scene can be downloaded from &lt;a href=&#034;http://static.codingthearchitecture.com/presentations/20080903-how-much-architecture-is-enough.pdf&#034;&gt;here&lt;/a&gt; (PDF, 0.9MB) and the video from the session can be watched from &lt;a href=&#034;http://skillsmatter.com/podcast/agile-scrum/enterprise-architects&#034;&gt;here&lt;/a&gt; (this includes the presentation and the discussion). Also, Alberto Brandolini has a really good &lt;a href=&#034;http://ziobrando.blogspot.com/2008/09/how-much-architecture-is-enough.html&#034;&gt;blog entry&lt;/a&gt;, which covers the session along with some of his own thoughts that followed. See you next month!
&lt;/p&gt;&lt;p&gt;&lt;a href=&#034;http://www.codingthearchitecture.com/2008/09/08/how_much_architecture_is_enough.html&#034;&gt;Read more...&lt;/a&gt;&lt;/p&gt;
        </description>
      
      
    
    
    
    <comments>http://www.simonbrown.je/blog/2008/09/08/how_much_architecture_is_enough.html#comments</comments>
    <guid isPermaLink="true">http://www.codingthearchitecture.com/2008/09/08/how_much_architecture_is_enough.html</guid>
    <pubDate>Mon, 08 Sep 2008 16:01:00 GMT</pubDate>
  </item>
  
  <item>
    <title>How much architecture is enough?</title>
    <link>http://www.codingthearchitecture.com/2008/09/01/how_much_architecture_is_enough.html</link>
    
      
        <description>
          &lt;p&gt;
This Wednesday, after the &lt;a href=&#034;http://www.codingthearchitecture.com/2008/08/29/software_architecture_training_in_london.html&#034;&gt;training course&lt;/a&gt; and as a part of Skills Matter&#039;s London Agile Month, we&#039;ll be running a session entitled &#034;How much architecture is enough?&#034;. Although this is billed as &#034;In the Brain of Simon Brown&#034;, it&#039;s actually going to be an &#034;In *our* Brains&#034; session where a few of us will be facilitating a group discussion.
&lt;/p&gt;

&lt;p&gt;
As for how much architecture is enough, well we&#039;ve touched upon this question before, particularly with respect to &lt;a href=&#034;http://www.codingthearchitecture.com/2008/01/18/how_much_software_design_detail_in_your_architecture_document.html&#034;&gt;the level of design detail you should put in your architecture document&lt;/a&gt; and the need for &lt;a href=&#034;http://www.codingthearchitecture.com/2006/05/02/quality.html&#034;&gt;just enough quality&lt;/a&gt;. While I don&#039;t think that software development is a relay sport, if you are planning on &lt;a href=&#034;http://www.codingthearchitecture.com/2007/05/14/the_hand_off.html&#034;&gt;handing off your architecture&lt;/a&gt;, how much do you need to do to ensure that this exercise is successful? And on the subject of &lt;a href=&#034;http://static.codingthearchitecture.com/presentations/sa2008-sharing-architectures.pdf&#034;&gt;sharing architectures&lt;/a&gt;, how much should you share and are there &lt;a href=&#034;http://www.codingthearchitecture.com/2008/08/27/style_on_top_of_substance.html&#034;&gt;more creative ways of efficiently delivering your message&lt;/a&gt;?
&lt;/p&gt;

&lt;p&gt;
There&#039;s lots to talk about and if this stuff interests you, please sign up on the &lt;a href=&#034;http://skillsmatter.com/event/agile-scrum/enterprise-architecture&#034;&gt;Skills Matter website&lt;/a&gt;. This will be the September &lt;a href=&#034;http://www.codingthearchitecture.com/pages/londonusergroup.html&#034;&gt;London User Group&lt;/a&gt; and the session starts at 6:30pm.
&lt;/p&gt;&lt;p&gt;&lt;a href=&#034;http://www.codingthearchitecture.com/2008/09/01/how_much_architecture_is_enough.html&#034;&gt;Read more...&lt;/a&gt;&lt;/p&gt;
        </description>
      
      
    
    
    
    <comments>http://www.simonbrown.je/blog/2008/09/01/how_much_architecture_is_enough.html#comments</comments>
    <guid isPermaLink="true">http://www.codingthearchitecture.com/2008/09/01/how_much_architecture_is_enough.html</guid>
    <pubDate>Mon, 01 Sep 2008 10:11:25 GMT</pubDate>
  </item>
  
  <item>
    <title>When will the offshore bubble burst?</title>
    <link>http://www.simonbrown.je/blog/2008/02/14/when_will_the_offshore_bubble_burst.html</link>
    
      
        <description>
          &lt;p&gt;
Hearing management teams talk about offshore is becoming a more frequent occurrence these days and most large organisations that I&#039;ve met in the past six months are starting to invest in offshoring if they&#039;ve not done so already. That&#039;s not really surprising when you take a holistic view of the economics, but I&#039;m convinced that the current offshore bubble will burst in the next 1-2 years, making way for a much more collaborative model. Let me explain.
&lt;/p&gt;

&lt;p&gt;
Most organisations see offshoring as a way to reduce the costs associated with software development. The basic premise is that &#034;software development is a commodity&#034; and that &#034;commodity development is low risk and can be easily offshored&#034;. Effectively, organisations are taking a &#034;software factory&#034; approach to software development where they throw specifications/contracts at offshore teams and expect working software in return. There are a couple of points that I want to pick up on here.
&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Software development is a commodity&lt;/b&gt; : I&#039;ve heard this a lot recently, from organisations on the buy-side and the sell-side (e.g. consulting companies and system integrators), but I don&#039;t agree with it. Software development is still a complex discipline and you can see this by taking a look at the rate of technology change driven by people trying to make development easier. Just look at how many Java web application frameworks are available. Sure, there are &lt;i&gt;parts&lt;/i&gt; of software that can be and have been commoditised, but there&#039;s still a lot of bespoke development that goes around it.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Offshore reduces costs&lt;/b&gt; : The most compelling reason for organisations looking to adopt offshore is that &#034;the daily rates are much lower for offshore resources than onshore resources&#034; and if you compare them in terms of cold hard cash, you can&#039;t argue with it. However, I don&#039;t think that organisations are thinking about the &lt;i&gt;additional investments&lt;/i&gt; that they need to make in order to give the current offshore model a chance of success.
&lt;br /&gt;&lt;br /&gt;
For example, it&#039;s fairly safe to say that most organisations work in a fairly ad hoc manner and need to put some investment into improving their processes to enable offshore development to work. This might include improving the way in which requirements are captured, prioritised and documented before even thinking about how best to structure the overall solution and define the work packages/specifications that will be sent offshore. Plus, you then have to factor in the additional cost of testing that will undoubtedly take place when the end-product has been developed and the potential latencies that will be introduced from teams being distributed across the globe. Sending work offshore &lt;i&gt;introduces&lt;/i&gt; work onshore to manage it.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
If you&#039;re reading between the lines, you might be thinking that I think offshoring is a bad idea, but that&#039;s not the case. The same problems apply regardless of where the &#034;external&#034; team is based because you&#039;ve artificially introduced barriers that prevent the teams from successfully working together. Offshoring just makes it harder because of differences between time zones, cultures, etc. What you have here is a &lt;b&gt;distributed &lt;a href=&#034;http://en.wikipedia.org/wiki/Waterfall_model&#034;&gt;waterfall model&lt;/a&gt;&lt;/b&gt; of software development.
&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;b&gt;Requirements&lt;/b&gt; : The buy-side organisation figures out what they want, scopes it and defines it.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Analysis&lt;/b&gt; : The buy-side organisation analyses the problem and starts designing a high-level solution. Anything from a small component to the full solution is documented in &lt;i&gt;enough detail&lt;/i&gt; so that an external team can understand and deliver the solution. I&#039;ve even heard of teams that take this process down to the pseudocode level!&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Design&lt;/b&gt; : The offshore team take the analysis and start designing software.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Implementation&lt;/b&gt; : The offshore team implement and unit test their code.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Test&lt;/b&gt; : Depending on what they are developing (i.e. a component or a whole system), the offshore team performs some higher level testing before shipping the deliverables back to the buy-side for further system and integration testing. The usual quality assurance/bug fix cycles commence, with enhancements and change requests being sent offshore.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;
Our experience in software development has proved that the waterfall model doesn&#039;t work in many cases, for a number of reasons. These range from not delivering a fit for purpose solution because the requirements change once the design is &#034;signed off&#034; to actually failing to deliver at all. Plus, from an architecture perspective, &lt;a href=&#034;http://www.codingthearchitecture.com/2007/05/14/the_hand_off.html&#034;&gt;handing-off your architecture&lt;/a&gt; to the development team also reduces your chance of a successful project. I&#039;ve been called in to look at a lot of poorly performing, unscalable, etc solutions recently where the architecture hasn&#039;t been thought out well enough. The software factory approach to software development &lt;i&gt;needs&lt;/i&gt; well defined signed-off specifications for it to work, but that&#039;s the one aspect of software development that we know just isn&#039;t possible (in the commercial world, anyway). If organisations can&#039;t get software development right using this process with an onshore team, how are they going to get that same process to work with an offshore team? Offshoring has the ability to reduce costs, but you&#039;re making some trade-offs.
&lt;/p&gt;

&lt;p&gt;
No, the real problem here isn&#039;t offshoring, it&#039;s the engagement model that organisations are using. I think that, for offshoring to work, the engagement model needs to move away from the distributed waterfall and towards something that is more inclusive, collaborative and iterative. Agile methods bring everybody together and focus their efforts towards a common goal, which is the same thing that needs to happen with offshoring. Offshore teams need to be fully brought in to the overall software project that they are helping to build and the focus needs to switch from seeing them as a service provider to seeing them as a part of the team. More involvement and more collaboration is what I think will help make offshoring a successful approach. In fact, let&#039;s not even use the term &#034;offshoring&#034;, let&#039;s just think about this as a distributed project team.
&lt;/p&gt;

&lt;p&gt;
To wrap-up; I don&#039;t think that the current &#034;software factory&#034; approach being adopted by most organisations is healthy or sustainable, and organisations are starting to become dissatisfied with the results they are getting. Waterfall approaches have failed in the past, what&#039;s different this time?
&lt;/p&gt;
        </description>
      
      
    
    
    
    <comments>http://www.simonbrown.je/blog/2008/02/14/when_will_the_offshore_bubble_burst.html#comments</comments>
    <guid isPermaLink="true">http://www.simonbrown.je/blog/2008/02/14/when_will_the_offshore_bubble_burst.html</guid>
    <pubDate>Thu, 14 Feb 2008 11:08:00 GMT</pubDate>
  </item>
  
  </channel>
</rss>
