All Posts By

Dylan Smith

What is DevOps and Why Is It Important?

What is DevOps and Why Is It Important? I'm sure there are hundreds of posts out there trying to define DevOps. 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...

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…