Pause As a Launching Pad

A Solid Restart – Stop, Plan, Reset, Go

This special topic presentation comes during a time when things have been hectic for a while.  Therefore, we are at a crossroads and it is a good time to stop and reset our goals and plans.  The situation is not that different from our annual review and planning.  However, it is a good time to do a deeper assessment and take advantage of the calm amidst the storm. SPARK Your Next Steps While much of this reset discussion is an emphasis on past processes, we have added a twist.  The presentation provides the SPARK approach to thinking through where you are and where you want to go.  We rarely have an opportunity to come to a full stop before planning... Read more

develpreneur podcast

Object-Oriented Design : Invest In The Design Process

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 Revision We 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... Read more

develpreneur podcast

Keep It Simple – Avoid Complex Object-Oriented Designs

Software developers are known for many traits.  Unfortunately, one of those is ignoring the keep it simple philosophy.  We tend to “show off” our prowess through complex designs and implementations.  However, those rarely are the best ones in terms of maintainability and even performance.  Simplicity has its benefits. Keep It Simple – Direct Is Better While there is a value in the “scenic route” when we are out for a leisurely drive, it is not the most effective way to travel.  The same concept applies to our designs and solutions.  The direct solution is often the best, even though it may sacrifice scalability or its ability to be applied in a general fashion.  When we focus on highlighting our design... Read more

develpreneur podcast

Leverage Your Language – Use What It Gives You

An often overlooked facet of object-oriented design is how to leverage your language to speed development.  Every coding language has features and strengths to make your design or implementation better.  We should not design to a language initially.  However, we can tailor our implementation and detailed design to take advantage of these features. Leverage Your Language to Boost The Implementation Languages are implementation tools. Therefore, they come into play during that phase.  Nevertheless, you can leverage your language as you consider the details of the design.  Some approaches will either be simple or complex based on the language.  We can include the concept of interfaces or multiple-inheritance in a hierarchy.  That includes more granular steps like patterns built into the... Read more

develpreneur podcast

Finding Balance In Your Object-Oriented Design Complexity

There are many areas of life where moderation is required.  Object-oriented design complexity is one of those situations.  We can create a solution that is highly granular and flexible or one that is monolithic and simple.  However, as is often the case, the best solutions find some middle ground that keeps our application flexible and limits complexity. A Balanced Object-Oriented Design Every solution is unique and has its own constraints and requirements.  Nevertheless, we have guidelines to avoid a solution that is either over-simplified or over-engineered.  They may appear obvious but are often overlooked. Isolate unique functionality – we will not get much re-use from it. Look for repeated actions or manipulations. Focus on a unit of work. Do not... Read more

develpreneur podcast

Documentation Of Our Object-Oriented Solution

It is hard to think of a facet of software development that programmers dislike more than documentation.  This task is almost always pushed to the end, and shortcuts are used wherever possible.  However, we also are quick to complain about a lack of documentation when we pick up others’ code.  Maybe we need to give so we can get.  that is the focus of this episode. Documentation Begins With A Signature All good documents start from an outline.  There is either a written or mental plan that the author follows.  In software, this objective comes from the signatures of the class and methods.   We have a set of details we must provide for every method out there. What are the... Read more