Should the name of a department be encoded in a namespace?

One thread of discussion going through our internal community is this: should the .Net namespace include the name of the IT team that created it?  There are two camps: Camp 1: Declare the Owners of the Code We have a structure with about ten different IT teams, each assigned to different areas of the Microsoft…



My father used to tell stories.  He would gather us around, myself and my two older brothers, and at bedtime we would collect on his bed, and he’d weave some fanciful ribbon about three boys on a grand adventure in a jungle, with monkeys and tigers and snakes.  We would sit for what seemed like…


Is there value in consistency?

Do all of your project managers deliver the same information to their team and management?  Do all of your developers use common tools and techniques?  Do all of your testers follow the same patterns for creating test cases? Process improvement is an interesting, and sometimes overwrought term.  We can all benefit from ‘excellent practices’ but…


Can your software be TOO functional?

When deciding what package of software to purchase, or to decide if you should build your own solution, it is common to hear the question: “does it give us more than we actually need?” Example: you run a small business with a single cash register.  Do you need a cash register solution that can run…


Iterative… agile… architecture

A salesman walks into a bar near Microsoft.  He sees that there is no where to sit, but he’s dying for a drink.  After waiting a few minutes patiently for a barstool to become available, he loses his patience.  So he climbs up on top of the bar and announces that he’s a salesman, and he’s…


Should our next generation of languages require us to declare the applications’ architecture?

As languages ‘improve’ over time, we see a first principle emerge: Move responsibility for many of the ‘good practices’ into the language itself, allowing the language (and therefore the people who use it) to make better and more consistent use of those practices. With assembler, we realized that we needed a variable location to have a…


Introducing a culture of code review

I got a ping-back from another blog post written by Jay Wren.  He mentioned that his dev team doesn’t have a ‘test culture’ so he has to play a ‘noisemaker’ role when he is challenging bad designs or code. I read with interest because, to be fair, code review and design review is not usually…


going quiet for a while

I’ll be on vacation for the next 10 days, so don’t expect a lot of blogging.  I’ll try to take nice photos and post them when I get back.


Should an interface be stable when semantics are not?

I know an architect who is developing an enterprise service for the passing of contracts from one system to another, (document metadata, not the image).  He knows the needs of the destination system very well, but he defined an interface that is not sufficient to meet the needs. The interface describes the subset of data that…