It was a tough decision to put another new framework on the burner for the Solution Development Management System (http://www.CodePlex.com/SDMS).... It seems just as I get a framework under my belt, i.e., Composite Application Block (CAB), Smart Client Software Factory (SCSF), Web Client Software Factory (WCSF) and CompositeWPF (aka Prism) a new, and better one comes out to replace them before they have had a chance to mature - they are labeled "alternate tools" but the reality is they are tools that have the potential to become obsolete in the wake of the new framework.
To be the best I can be (for those that rely on me) I have to stay on the bleeding edge because these will be tomorrows tools; perhaps literally. The day after tomorrow they could be replaced. This reality use to stress me out; I always felt like I was behind, at least until I read Rocky Lhotka's article "Keeping sane in the wake of technologies pace"; I can't articulate why "Misery loves company" but this article changed my way of thinking (forever) - as Rocky noted I now have "chosen to embrace and revel in the change".
An excerpt from Rocky's article follows:
In 2007 I found myself becoming increasingly unhappy, feeling more and more overwhelmed by the rate of change. I felt like I was slipping farther and farther behind. However, the rate of change is outside the control of any of us individually. So this year, rather than fight or despair about it, I’ve chosen to embrace and revel in the change.
The problem with "revel in change" is that you can have no loyalties, particularly to communities or to things that you wanted to do, e.g., I had Contrib projects planned for both the SCSF and CompositeWPF that had to be abandoned. This part leaves me with a deep sense of regret; feeling like I abandoned the "community team". I rationalize the feeling by remembering that I have a higher priority to my current and future contracts (it doesn't always help)....
So tomorrow's tool is the Managed Extensibility Framework (MEF). Since it is Glenn Block's baby I am not concerned that it doesn't even offer a CTP or Beta. I'm sure I'll take a hit for this - I'll have to constantly refactor (which is fine for my Open Source project). For clients it can be more risky and has to be weighed heavily... I remember convincing my clients, when .NET 2.0 was in beta, that I should write their applications using it. This ended up being a smart decision but I took some serious black-eyes when .NET 2.0 was released; security was increased from beta to release and the sites went down and I was facing problems that there was no googling for - it brought new meaning to the term "Bleeding Edge" because I bled profusely (I lived).
My current client does have a golden rule that I can bring anything in-house, and train the team on it, as long as it is released. Should my next contract have a similiar rule (which I can respect) then I hope to have an infrastructure in place, and understanding of the framework, so that no time is spent on infrastructure - only Use Case.
It's time to bleed....
MEF and CompositeWPF will co-exist
Tags:
mef,
compositewpf
Categories:
CompositeWPF |
MEF