Tags » Software Design

Domain Driven Design Building Blocks

When the Bounded Context and the Context map is clear, the building blocks can be designed.

Building Blocks exists in their Bounded Context.

A Bounded Context is the central part of DDD and marks the boundaries of a domain. 414 more words


Software Design Principles

Design principles form the foundations that design patterns are built upon. They are more fundamental than design patterns. When you follow proven design principles, your code base becomes infinitely more flexible and adaptable to change, as well as more maintainable… 66 more words



In the tech industry we’re reasonably good at capturing needs. Sometimes we skip the needs (or assume them) and go straight to requirements. That’s not great, but the intention is roughly the same: an expression of what (we believe) people need. 221 more words


If Doorknobs Were Software

If we designed doorknobs the way we design software, each one would come with a user manual.

They wouldn’t be guaranteed to work. You could spend hundreds of dollars on a new doorknob, only to find the handle doesn’t turn, and the manufacturer doesn’t offer a warranty. 169 more words


Better Software Design Ideas for the Hawaii Emergency Alert System

Continuing the discussion on the Hawaii Missile Alert which made headlines in January 2018 and turned out to be a false alarm and ended up raising panic amongst almost a million people of the state all for nothing, ( 365 more words

Exploratory Testing using "Tours"

My latest article for stickyminds.com “https://www.stickyminds.com/article/using-tours-structure-your-exploratory-testing” talks about using TOURS to enhance the exploratory tests you perform and add more structure and direction to them. 1,024 more words

Software Delivery Skills Plan 2018

If you fail to plan, you are planning to fail! ~Benjamin Franklin

A new year is upon me, and looking over the horizon I am looking to do the following work streams to help better my development skills…

118 more words
Software Development Lifecycle