All Posts By

Dylan Smith

What is DevOps and Why Is It Important?

By Agile, All Posts, Application Lifecycle Management, DevOps, Team Foundation Server, Visual Studio 3 Comments

I’m sure there are hundreds of posts out there trying to define DevOps. What is DevOps, and why is it important? Here are my two cents: If you subscribe to the Lean software development way of thinking, you think about a pipeline of value that results in working software.  For example this might be:   Analysis -> Dev -> Test -> Deploy -> Monitor   As with any pipeline, there is likely a bottleneck somewhere…

Read More

How Can You Protect Your Cloud Applications from Outages?

By All Posts, Azure, Cloud No Comments
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...
Read More

Why Does Agile Fail? — Part Two

By Agile, All Posts, Application Lifecycle Management, Productivity

In Part 1 of this blog series, we looked at reasons Why Agile Fails due to a lack of mature technical practices. Now, 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. Reason #2: Lack of ‘Successful’ Experiences with Agile Far too often, I see teams read all about Agile…

Read More

Why Does Agile Fail? — Part One

By Agile, All Posts, Application Lifecycle Management, Productivity

I’ve worked with a lot of teams who have tried to adopt Agile and failed.  Why does agile fail? There are many reasons why this happens, but I tend to see clients struggle for 2 main reasons: Lack of Focus on Technical Practices No Agile Experience on the Team In this 2-part blog series (click here for Part 2), I’ll share some insights into the issues that may be occurring for you. Reason #1: Lack…

Read More

Choosing Aggregate Boundaries – Consistency

By All Posts, Application Lifecycle Management, Enterprise Architecture

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…

Read More

Enterprise Architecture – SOA with a Dash of PubSub

By All Posts, Application Development, Application Lifecycle Management, Enterprise Architecture

In 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 an enterprise architecture 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…

Read More

The Love/Hate Relationship with Work Item Tags

By All Posts, Application Lifecycle Management, Team Foundation Server, Visual Studio

In Microsoft Team Foundation Server (TFS) 2012 Update 2, Microsoft introduced the ability to tag Work Items. You can check out the full article form Microsoft here: 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…

Read More

Using Visual Studio Layer Diagrams for Fun and Profit

By All Posts, Application Lifecycle Management, Enterprise Architecture, Visual Studio

One of my favorite and most underused features introduced in Visual Studio 2010 was Visual Studio 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…

Read More

Why You Should Use a Single TFS Team Project

By All Posts, Application Lifecycle Management, Team Foundation Server, Visual Studio 4 Comments

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…

Read More

How MSDN and TFS Licensing Works

By All Posts, Team Foundation Server, Visual Studio

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…

Read More
Let‘s Talk.
  • Let's Talk

  • This field is for validation purposes and should be left unchanged.