Using Escalation to Solve Cyclic Dependencies

Thursday, October 28, 2021

As we discussed in the previous blog post, cyclic dependencies degrade the quality of a software system, leaving it inflexible and difficult to manage. As the size of a software system grows, the importance of catching and fixing cyclic dependencies grows because the overall cost of developing and maintaining the system increases. How Cyclic Dependencies …

Defensive programming with new C++ standards

Thursday, October 21, 2021

Defensive programming is a form of defensive design intended to ensure the continuing function of a piece of software under unforeseen circumstances. Defensive programming practices are often used where high availability, safety or security is needed. Defensive programming is an approach to improve software and source code, in terms of: General quality – reducing the number of software bugs and problems. Making …

Top 6 Mobile Testing Tools for Test Creation and Automation

Thursday, October 14, 2021

It’s hard to imagine effective mobile app testing without automation. Automated tests are an absolute must-have if you really want to benefit from frequent deployments and faster time to market. But before enjoying the benefits of automated mobile testing, you need to onboard some best mobile testing tools or frameworks to help you create tests. …

Modularity as a Portfolio of Options

Thursday, October 07, 2021

I have been exploring the use of financial analogies with regard to programming and design. Ward Cunningham’s Technical Debt metaphor has become well known. Prior to writing this blog entry, I looked a little deeper into Ward’s metaphor and discovered that it has been interpreted and extended in multiple ways. Since this is my view of the …