Building Software Without Tearing it Down

Erran Berger
3 min readbeginner
--
View Original

Overview

The article 'Building Software Without Tearing it Down' emphasizes the importance of preserving existing code rather than starting from scratch when developing software. It draws parallels between software development and construction, advocating for a more thoughtful approach to project initiation.

What You'll Learn

1

Why starting a software project by tearing down old code is often a mistake

2

How to maximize productivity by tracking time spent on projects

3

How to build effective solution architecture through collaboration

Key Questions Answered

Why is tearing down old code often a wrong instinct for engineers?
Tearing down old code can lead to unnecessary work and loss of valuable functionality. Instead, engineers should focus on remodeling existing code to enhance and build upon it, similar to how one would renovate a building rather than demolishing it.
How can engineers effectively track their time to improve productivity?
Engineers can graph their time spent on various projects to identify where they can maximize their productivity. This data-driven approach helps in understanding work patterns and optimizing time management.
What is the role of collaboration in creating solution architecture?
Creating an effective solution architecture involves collaboration among various stakeholders, ensuring that all perspectives are considered. This collaborative process leads to a more robust and well-rounded architecture.

Key Actionable Insights

1
Engineers should consider preserving existing code as a valuable asset rather than starting from scratch.
This approach not only saves time but also retains functionality that may be lost in a complete rewrite. It encourages a mindset of enhancement rather than replacement.
2
Implementing a time tracking system can significantly improve productivity.
By understanding how time is allocated across tasks, engineers can make informed decisions about where to focus their efforts for maximum impact.
3
Engage stakeholders early in the solution architecture process.
This ensures that the architecture meets the needs of all parties involved and can lead to better outcomes and smoother project execution.

Common Pitfalls

1
Starting a project by tearing down existing code can lead to wasted resources and missed opportunities.
This often happens because engineers may feel that starting fresh is the only way to innovate. To avoid this, they should assess existing code for potential improvements instead.

Related Concepts

Software Development Best Practices
Time Management In Engineering
Solution Architecture