Tim Murphy's .NET Software Architecture Blog

Software Architecture

There are 6 entries for the tag Software Architecture

Is It Time To Specialize?

Over my career I have made a living as a generalist. I have been a jack of all trades and a master of none. It has served me well in that I am able to move from one technology to the other quickly and make myself productive. Where it becomes a problem is deep knowledge. I am constantly digging for the things that aren’t basic knowledge. How do you make a product like WCF or Windows RT do more than just “Hello World”? As an architect I need to be a jack of all trades. This is what helps me to bring ......

Yet Another “Why Waterfall Doesn’t Work” Post

Lately I have been plunged back into an extreme waterfall project and it is eating away at my soul. Don’t get me wrong. I don’t really believe in a soul and I have never done a text book agile project, but the longer I’m on this project the more I feel like I’m in an infinite loop. Document. Review. Document. Review. At some point we may do some coding. The biggest problem with waterfall projects is that you can always add more detail to design documents. I have actually seen some documentation which ......

What Software Architects Can Learn From Baseball Teams

My friend Larry Calrkin did a whole series on Architecture by Baseball, but after going to a recent White Sox game I got to thinking about the how baseball mirrors my experience. For me it boils down to specialization, team work and leadership. Every team member has their specialty. Infielders have great reactions and throwing accuracy. Outfielders can cover distance quickly and throw long distances. There are starting pitchers who have great control and endurance and closers who throw nasty pitches ......

Platform Religion Leads To Bad Business Decisions

I have been accused of being a Microsoft fanboy which has probably become more true as the years go by. Of course this is due in great part to the fact that developing for Microsoft technologies allows me to feed my family. In truth though, despite my reservations about other platforms, I am pragmatic when it comes to recommending implementations for clients. You should always take into account things like existing installed technologies, development team capabilities and ROI when determining the ......

Blog Goals For 2013

It is the beginning of a new year. No better time to take a look what we want to accomplish over the next year. My first goal is to have more Windows 8 and Windows Phone development content. This is a technology that I really enjoy developing for and I see challenges that every developer would like answers to. Things are also evolving on a daily basis which gives us a lot to discover and discuss. I am also looking to have more architecture topics. These will be both high level concepts and integration ......

3 Reasons You Need To Know Something About Every Technology

I make my living as a consultant and a general technologist. I credit my success to the fact that I have never been afraid to pick up any product, language or platform needed to get the job done. While Microsoft technologies I my mainstay, I have done work on mainframe and UNIX platforms and have worked with a wide variety of database engines. Each one has it’s use and most times it is less expensive to find a way to communicate with an existing system than to replace it. So what are the main benefits ......