All Posts By

Dylan Smith

How Can You Protect Your Cloud Applications from Outages?

How Can You Protect Your Cloud Applications from Outages? Were you affected by the Amazon Web Services (AWS) outage this week? If you use Quora, Slack or Trello chances are you were.  S3 Storage services in the US-East region was essentially unavailable for 4-5 hours.  Since many other AWS services and customer applications depend on S3, this had a large wide-ranging impact across many services, sites and applications. Some popular sites that were affected included: Quora...

Imaginet Speaks! Live Event on ‘Fundamental Design Principles’ with Microsoft MVP Dylan Smith

If I could travel back in time and give the rookie developer version of myself an hour of advice, this session will be that advice. I’m specifically focusing on advice that will help us write better code. I’ve written a lot of horrible code in my career and learned a lot of lessons in the process. In my day job at Imaginet, I also get the opportunity to look at a lot of other teams code…

Why Does Agile Fail? — Part 2

By: Dylan Smith In Part 1 of this series, we looked at reasons Why Agile Fails due to a lack of mature technical practices. In Part 2 of this series, we’ll look at the next most common reason I see teams fail with Agile — which is typically due to a lack of ‘successful’ experiences with Agile projects. Far too often I see teams read all about Agile online, and some who attend conferences to hear…

Why Does Agile Fail? — Part 1

By: Dylan Smith I’ve worked with a lot of teams who have tried to adopt Agile and failed.  There are many reasons why this happens, but I tend to see clients struggle for 3 main reasons: Lack of Focus on Technical Practices No Agile Experience on the Team Missing Buy-In from Upper Management In this 3-part blog series, Ill share some insights into the issues that may be occurring for you.

Choosing Aggregate Boundaries – Consistency

Those who know me know I’m a pretty big fan of the CQRS set of design patterns. CQRS style architectures typically borrow / build-upon the DDD (Domain Driven Design) set of patterns (in fact before Greg Young coined the term CQRS he was calling it DDDD [Distributed DDD]).  One pattern that’s pretty central in DDD is the concept of Aggregates.  This is the practice of splitting your domain model up into pieces, and these pieces…

Enterprise Architecture – SOA with a Dash of PubSub

The past few weeks I’ve been helping a client come up with an Enterprise Architecture (EA), and I realized that I seem to have zero’d in on one that I would probably use at most places. First off, what do I mean by Enterprise Architecture?  I know lots of people use this to mean different things. For this post, I’m using the term Enterprise Architecture to describe how the various applications and systems in an Enterprise…

The Love/Hate Relationship with Work Item Tags

In TFS 2012 Update 2 Microsoft introduced the ability to tag Work Items (http://msdn.microsoft.com/en-us/library/vstudio/dn132606.aspx). I absolutely love the idea of tagging Work Items. Especially because they allow you to add custom metadata without needing to do any WITD customization.  As I mentioned in a previous post, this is a great help to enable the Single Team Project approach. However, there are some big problems, that IMO make Work Item Tags almost unusable for any large…

Using Visual Studio Layer Diagrams for Fun and Profit

One of my favorite and most underused features introduced in VS 2010 was Layer Diagrams.  It’s a really simple tool to learn and use, but amazingly powerful. It’s a diagramming tool that allows you to draw a diagram consisting of boxes and arrows, where the boxes are meant to represent your layers/components, and the arrows represent dependencies.  If you’ve ever been asked to whiteboard out the architecture/layers of your application, you probably got up to…

Why You Should Use a Single TFS Team Project

I seem to be spending a lot of time lately trying to convince clients that a single TFS Team Project for the entire Enterprise is the way to go.  To most people this seems counter-intuitive.  They tend to create Team Projects for each actual Project and/or Team within their Enterprise.  That just makes sense right?  Indeed, if you look at most books on TFS they will usually have a section with guidance on Scoping Team…

How MSDN and TFS Licensing Works

As most of you know it’s probably easier to understand Rocket Science than it is Microsoft Licensing.  Unfortunately, I’ve had to deal with it enough over my career that I have a pretty good grasp of at least how MSDN, Visual Studio and TFS Licensing works.  The best resource for attempting to decipher how it works is the MSDN Licensing White Paper. However, there are several gotchas with the way licensing works.  These are things…