Learning Organizations: When Wrens Take Down Wolfpacks

What does the World War II naval campaign known as the Battle of the Atlantic have to do with learning and innovation? Quite a lot, as it turns out. Early in the war, Britain found itself in a precarious position. While being an island nation provided defensive advantages, it also came with logistical challenges. Food, […]

I fought the law (of unintended consequences) and the law won

Sometimes, what seemed to be a really good idea just doesn’t turn out that way in the end. In my opinion, a lack of a systems approach to problem solving makes that type of outcome much more likely. Simplistic responses to issues that fail to deal with problems holistically can backfire. Such ill-considered solutions not […]

Monolithic Applications and Enterprise Gravel

It’s been almost a year since I’ve written anything about microservices, and while a lot has been said on that subject, it’s one I still monitor to see what new pops up. The opening of a blog post that I read last week caught my attention: Coined by Melvin Conway in 1968, Conway’s Law states: […]

Designing Communication, Communicating Design

We work in a communications industry. We create and maintain systems to move information around in order to get things done. That information moves between people and systems in combinations and configurations too numerous to count. In spite of that, we don’t do that great a job of communicating what should be, for us, extremely […]

Design for Life

  The underlying theme of my last post, “Babies, Bathwater, and Software Architects”, was that it’s necessary to understand the role of a software architect in order to understand the need for that role. If our understanding of the role is flawed, not just missing aspects of what the role should be focusing on, but […]

Babies, Bathwater, and Software Architects

I try to be disciplined about my writing (picking themes, creating a backlog, collecting notes and links on those topics, etc.), but it seems like serendipity won’t be denied, no matter what I do. On the same day that XKCD published this cartoon, Erik Dietrich published “Software Architect as a Developer Pension Plan”. While I […]

Form Follows Function on SPaMCast 403

This week’s episode of Tom Cagley’s Software Process and Measurement (SPaMCast) podcast, number 403, features Tom’s essay on Agile practices at scale, Kim Pries on transformations, and a Form Follows Function installment based on my post “NPM, Tay, and the Need for Design”. Although the specific controversies have died down since we recorded the segment, […]

When Will We Learn?

We’ve all heard the sayings about history repeating. Did we pay attention? Did we actually hear what was said, or were we just in the room when it was mentioned? Did we learn anything? Greger Wikstrand and I have been trading posts on innovation for more than seven months. His last post, “Black hat innovation”, […]

Dealing with Technical Debt Like We Mean it

What’s the biggest problem with technical debt? In my opinion, the biggest problem is that it works. Just like the electrical outlet pictured above, systems with technical debt get the job done, even when there’s a hidden surprise or two waiting to make life interesting for us at some later date. If it flat-out failed, […]

The Hidden Cost of Cheap – UX and Internal Applications

Why would anyone worry about user experience for anything that’s not customer-facing? This question was the premise of Maurice Roach’s post in the Zühlke blog, “Empathise with your users or you won’t solve their problems”: Bring up the subject of user empathy with some engineers or product owners and you’ll probably hear comments that fall […]

Abuse Cases – What Could Go Wrong?

Last week, in a post titled “The Flaw in All Things”, John Vincent discussed the problem of seeing “the flaw in all things”: It’s overwhelming. It’s paralyzing. I can’t finish a project because I keep finding things that could cause problems. I even mentioned this to our CTO and CEO at one point when we […]

Talking about TayandYou on Architecture Corner

I had the pleasure of appearing on episode #367 of Architecture Corner, “Fail fast, learn fast”, with Greger Wikstrand and Casimir Artmann. In the episode, we discuss learning, experiments, and the idea of “fail fast” in relation to the recent incident with Microsoft’s artificial intelligence chatbot, @TayandYou. I hope you enjoy the discussion as much […]