My Philosophy on Software Design

I like to think of software design as cracking a code.  You keep working on the design over and over until you’ve finally cracked the code and an elegant design emerges.  I believe the solution exists out “there” and I just have to find it.  Albeit there is more than one solution but some are…

4

Questions on Concurrency Conflict Resolution

There’s been an e-mail thread going around in an internal Microsoft Business Framework (MBF) discussion list of the best way to handle concurrency conflicts.  Someone brought up the novel idea of asking users what they would like to happen.  So that’s what I’m doing. Currently in MBF we support two modes of concurrency which you can specify…

4

The Good and The Bad of Dogfood

When first becoming a Microsoft employee, I was excited to get to see and use many of our products before they were released to the public.  Most people love to be the one of the first at trying out brand new software.  After a while, the novelty wore off, however.  When using pre-beta daily build…

4

Distinguishing Compositions and Associations

For all the application developers out there, this is a request for comments.  In business apps there are generally two types of relationships: compositions and associations.  Compositions are tightly-coupled relationships where the composition’s lifetime is tied to its parent.  Associations are loosely-coupled reference relationships.  In designing a prescriptive framework such as the Microsoft Business Framework,…

4

Search Engine Game Show

Sometimes it’s crazy the things you think of when you wake up in the middle of the night.  Last night was one of those nights.  About 3am, I woke up, and then… Search Engine Game Show.  What an idea!  Have a trivia game show where the contestants have a computer with an Internet connection.  They’re…

5

Gimme a Buddy

Microsoft has begun a new program called Microsoft ISV Buddy Program.  “This program enables an ISV to connect and build a 1-on-1 relationship with a Microsoft employee.” (http://msdn.microsoft.com/isv/)  I signed up to be matched with an ISV.  While I haven’t been paired with one yet, I’m excited to begin.  Being able to have an ongoing…

3

It’s That Time of the Year Again

It’s annual performance review season again at Microsoft.  My favorite part of the annual review is to look at the changes to the form that were made.  This year, objectives are no longer called objectives.  They’re called commitments.  That seems to be just a step up in intensity.  Each year they need to step it up,…

1

SQL Server Yukon DTS: Success in cleaning CRM data

I was just reading an article at TechnologyEvaluation.com about the difficulty in maintaining data quality for CRM applications.  The extremely volatile nature of CRM activity leads to degradation in the data such as: Customer details that are incorrect or inconsistent with other data Duplicate records Multiple database synchronization problems Duplicate records is noted as being…

6

Metadata Mapping in O-R Mapping Technology

In my previous post I described the benefits of using Object-Relational Mapping (O-R Mapping) technology in regards to the encapsulation of change.  In this post and several subsequent posts I’m going to delve into some of the basic designs used in O-R Mapping technology.  The first deals with the actual mechanism of mapping objects to relational…

6

Object-Relational Mapping Systems Encapsulate Change

Why have an object-relational mapping (ORM) system?  Because change happens.  There’s no getting around it.  I’ll concede that ORM would not be necessary if you built a piece of software or data source which never had to be updated, extended, customized, upgraded, or have a new technology adopted.  Such a piece of software, of course, wouldn’t last too…

2