Sailware

Power of Short Lists

"Short lists get done; long lists don't." I have been applying this to my side projects and tasks around the house. It's been helping me get stuff done. I got more crumpled-up completed short lists than long lists.

More gets done when I work with short lists. I spend less time thinking about the overall process and the ideal path to get there. Instead, I pick the next three tasks that would be most beneficial for reaching the conceptual end. When it comes to software or regular chores, there never really seems to be an end. It's always a conceptual end. There is always some type of cleaning, maintenance, or upgrade that always seems to show up when you think you have done it all.

Instead of drafting out the long grocery lists of todos. Grab a post-it note and write down the next three most important tasks that will make the next big difference. If one of those tasks is too vague and is really an everything task. Break that down into smaller tasks. Limit yourself to less than five tasks. Only the important ones will be written down, and anything else will follow on to the next short list. If it doesn't, it probably isn't important.

Go make your lists and get stuff done. You will be surprised at how quickly you accomplish your tasks and how much progress you will make. The iterations over the lists might just take you on unexplored paths to your project's conceptual end.

Identifying Software Complexity

A former colleague of mine referred me to the book A Philosophy of Software Design. These are some of my thoughts, as I enjoy reading this book.

The first chapter discusses the concept of complexity and describes it as such: "Complexity is anything related to the structure of a software system that makes it hard to understand and modify the system." I think this is a good description of complexity in relation to software, as it does not focus on a specific part of a software system. The author continues by also mentioning that complex software systems are hard to understand and modify, while simple software systems are easy to understand and modify.

Complex software can come in different forms and sizes. A small section of code can be complex, or a large software system could be simple. I personally have come across platforms where the idea of the software itself is complex.

When designing and building software, it is our job to understand that it is in our best interest to build simple software for ourselves and the future maintainers of the software. Everyone will be thankful for that foresight.

Lo

Hello Blog World!