29

Software is like gardening

 5 years ago
source link: https://www.tuicool.com/articles/hit/rieaE3j
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Recently I've been reading The Pragmatic Programmer (for the second time :grin:), and I came to one analogy that struck me hard, and changed my whole thinking about software development.

In the chapter 6, called While you are coding , page 184, the author says:

Unfortunately, the most common metaphor for software development is building construction. [...] Rather than construction, software is more like gardening--it is more organic than concrete.[...] You constantly monitor the health of the garden, and make adjustments (to the soil, the plants, the layout) as needed.

This just made me realize the contradictions I've been living with and the need to come to terms with software development and its real lifecycle. More often than not, software is not just written and that's it. It evolves over time as needs arise. The code you wrote 6 months ago might be rewritten, and that's fine. Dependencies update, your software changes due to it. Et cetera.

This may not be news to you as a software developer, but an unpleasant quantity of non-technical people who works with developers, may not understand this and think this is like building construction (as I did before). This is your pitch for them:

Software is not static. Software is alive.

Thanks for reading.

Credits: Photo by Markus Spiske on Unsplash


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK