Architecture Chat 13 (or is 14?)

The Sylvia Park Architecture chat was today, bit slow to start with, but not a bad turn out with 9 of us in the end.

First some stats:






Number of people presenting at teched 1 (Alex James)
Number of people going to teched 3
Number of people going to codecamp 7'ish

First off I asked the question, should you open source software that is key to your business, sparked by a recent conversation with and old business partner who's been considering open sourcing the product I helped develop for him - mostly because the business makes money for deploying/consulting/configuring the software more so then licensing it, and the remote chance of other people using/promoting etc. the product couldn't hurt the companies profile.

This sparked a bit of a debate, and certainly a few of the people developing products in the group had some opinions.

  • It's not a matter of make the source available and they will come, you need to actively construct a community around your product.
  • You need to make all the communications for the project visible.
  • If you cannot communicate the vision for your product clearly, you'll never get traction with the community.
  • By and large you’re better off focusing on making money, there's a long lead time before OSS projects gain traction.


 

We then moved onto something a little more hands-on, talking a bit about Rhino ETL - I ran through my experience so far (personally I'm liking it a lot) and the feedback from others was that SSIS does about 98% of what you need, with the customization work required for the other 2% taking as long as the rest of the project!  I could see RhinoETL being a great little swiss army knife for a lot of data-related projects in the future, especially with its target support.

Keith's question was asked, when is PeterB going to start blogging/bliki'ing... not any time soon I believe was the response, as he requires some kind of alter-ego... Along the same lines we also briefly talked about the decline in blogging, and what “good” blogs people read among all the noise that's out there today...  Technology-savy VC's came up in the conversation, such as Paul Graham (of "hackers and painters" fame).

Tagging & tagging file systems were next on the table (like Alex James's XTend which got a mention) and Peter noted that the upcoming service pack for Vista should make it a lot easier to organize data via "piles" i.e. dragging documents without an author over a pile of documents by a certain author will assign the author to the anonymous document.

The key point/concern was that these kinds of tasks must not make search operations harder i.e. Categorization should never penalize search operations.

Talked a little about BDD or Behaviour Driven Development, this struck a chord with Peter who has been doing something very similar with existing clients, though I'm not sure I articulated the Analysis side of the BDD very well - there's a nice BDD introductory post on the DanoNorth.net blog.

In my mind at least BDD is all about ubiquitous language – I see it as the central tenant of BDD, where energy and thought is put into keeping the business level parts of corporation or company in-line with the development/software/solution parts - tying it all together with a common language/vocabulary.

Digging in deeper we have some software frameworks to help with BDD testing:


Roy Osherove recently posted a nice "look" into the use of BehaveSharp too, worth a look.

On a similar note Test Driven Development cropped up, with the interesting question of just how you could "force" or "lead" someone through the process of developing test first (without just having them watch a screen-cast) ... easier said then done I think was the consensus.

Also briefly covered was Lightspeed 1.0 and the announcement of the versions/pricing came up... Some of us were intrigued by the model-based pricing structure :)

Incidentally Like the container tutorials series I did, I also index these blog entries (and some general information about the Sylvia Park chats) on my wiki.

Read More

2007-08-08 - Architecture Chat Tomorrow

Just a reminder that the Sylvia Park Architecture Chat is on tomorrow, 11:30am at Garrisons (as per usual).  I ummed 'n ahhed about doing it so close to the Dev Code Camp / Teched, but I can't see it doing any harm, worst case scenario we just have a smaller turnout.

So I'm looking/asking for topics, here's some things that have perked my interest over the last week or so:


See you there.
Read More

nDepend Refactoring Analysis...

About to run off to a meeting... so I'll make this quick.

Just read an interesting post by Donald Belcham on Refactoring Analysis with the help of nDepend... he's gone through the process of moving from .Net 1.1 to 2.0, then introducing interface based code, breaking classes apart to ensure they're enforcing the principle of single responsibility, moving to injecting dependencies, rolling his own primitive Inversion of Control container and finally employing the Castle Project's windsor container instead.

It pays to know a little bit about nDepend of course to understand the Abstractness vs Relational Cohesion figures... either take a look at the nDepend site, or maybe have a listen to the  .Net Rocks podcast earlier this year which covered the same topic.

I'm not sure the figures actually answer questions so much as they ask them ... but it's interesting to see how much impact his first two rounds of refactoring had on the results.

I wonder how the figures would've come out had he executed his refactoring in a different order...  maybe DI first, then breaking the classes up based on responsibility, IoC and then finally introducing interfaces... hmmm

Read More

Interesting...



So IronRuby has been released in a pre-alpha state... check out the comments on John Lam's post for some additional details not in the post itself.


c:devresourcesIronRuby-Pre-Alpha1BinRelease>rbx.exe
IronRuby Pre-Alpha (1.0.0.0) on .NET 2.0.50727.312
Copyright (c) Microsoft Corporation. All rights reserved.
>>> class RubyAlpha
... def hello
... puts "Hello"
... end
... end
=> nil
>>> r = RubyAlpha.new()
=> #
>>> r.hello
Hello
=> nil
>>>


Things of interest:
  • Lots of stuff doesn't work just yet ;o)
  • it will end up on Rubyforge, not Codeplex... and I think it's quite an appropriate decision considering the nature of the project... good to see common sense winning over marketing dogma - and it's going to be there by the end of August.

  • The project will eventually be entirely open to community contributions (I don't think that includes the code making up the DLR itself, as a shared platform that's probably something that needs to be tightly controlled)





Read More

Things have got a little less confusing..

So, big congratulations to Alex J - first an MVP and now a Microsoft employee to boot... (which I suspect trumps his MVP status, probably should be MVE now, for Employee!).

I've been working with Alex (2 Alex's... very confusing) on a pretty interesting project for the last couple of months, and it's been a lot of fun getting a brain dump from a guy who's so passionate about technology (and community too) and with so many varied and original ideas... Whenever Alex J starts a sentence with "now I've been putting some thinking around this" you generally know your about to learn something cool :)

On a side note, I'm thinking of taking over the organization/blogging etc. of the Sylvia Park Architecture Chats in the other Alex's absence... It would be a real shame to let it die once Alex J has moved to the states... at any rate, something to talk about this coming Thursday at the next chat!

Read More