Software Engineering Best Practices

Some might think that The Secret Developer is enjoying a summer vacation when they are seen out on the beach. You might even see them reading the latest crime novel on Kindle or at least think you’ve seen that.

This vacation season, The Secret Developer started to read about software engineering practices and picked up a few tips on the way.

“Actually I’m also reading the Musk book. Turns out he’s not a nice person. Who would have thought?”

Software Engineering As a Discipline

Software development needs to be viewed as a discipline rather than a craft to ensure scalability, reliability, and maintainability. We need a standardization of methodologies, practices, and QA to create software that is fit for purpose.

While the current craft allows for creativity and innovation, we need to move forward. We need to get better.

“It’s about time. We’ve been developing software for decades now, and it seems things are not getting better.”

The Areas To Improve

Here are four critical areas where software engineering needs to improve to become a solid discipline rather than a craft.

Software Security

We need to raise the security levels of applications by including better security features in programming languages as well as applications. We need to improve access control and permissions which are weak links in software engineering.

“Our security guys don’t know how to disable AirDrop on a Mac.“

Defects

We need to work on quality. Poor software quality has damaged the whole economic subsystem that supports software engineering, and this cannot continue. Applications need to make use of inspection, static analysis, and testing. Testing alone is inadequate to achieve high-quality levels.

“Defects are one of the best ways to track poor code. We can also use them to track poor coders.”

Measurement

We need to gain a better understanding of the true economic picture of software development and maintenance; we should move to activity-based costs.

We need to analyze the flaws of cost per defect and lines of code and get to the real economics of software development.

“What is not measured cannot be improved.”

Economics

We need to better understand the economics of software creation and maintenance. We need to evaluate the cost of updating legacy applications as this becomes more important as there are simply more of them in the rear-view mirror.

“If you don’t have the business case how can you know something is worth doing?”

Conclusion

If software development is going to evolve into a true engineering discipline, we need to make a change.

“Much like writing code, it requires focus”

Previous
Previous

Apple Blames Instagram for iPhone 15 Heating🔥. Shocked/Not Shocked

Next
Next

Meta Announces AI Chatbots with ‘Personality’. What Could Go Wrong?