We wrap up the season with a focus on the design process. There is a cost to doing this, as with most things of value. However, you will find that the benefits in tighter, easier to maintain, and higher quality code are worth the investment. We can use the tools and frameworks we have to take shortcuts to an object-oriented solution or be better by spending time on design.
Object-Oriented Design Is A RevisionWe have discussed how the solution is always our primary focus. Developers solve problems. Therefore, our "why" is crafting a solution. The emphasis is on the solution not on the craft. Once we have a solution we are comfortable with, then we can look to mold it into something better. Therein lies the rub. We have a solution so we could push forward to implementation. On the other hand, we can spend time refining the solution. The wise developer chooses the latter approach.
The Design Process Is An InvestmentThere is no question that design time is an investment in our implementation. A brute-force approach is often an option. However, those solutions rarely hold up over time. Even duct tape has its limits. Thus, time spent on design assumes we will be able to make up that time in future endeavors to maintain, scale, or enhance our implementation. That makes efficiency and clarity the primary goals for our design process. We want to craft code that is worth re-use and that can handle relying on it for bigger and better things than this one solution.
Stopping When NeededWe also are going on hiatus for a while with the podcast. This is going to be our last episode until further notice. It does point to the value of making decisions and acting once a decision is made rather than some arbitrary time frame. We often talk about goals and regular reviews of our plans. However, sometimes it is best to act sooner rather than later. That can help us avoid investing in things that we see of lesser value.