Okay, maybe the "software is like construction" metaphor refers to something else. What happened next? Well, after months of waiting, some guys showed up and dug trenches in the road. They laid some pipes and then covered it back up with gravel and asphalt. Meanwhile, a big trench was dug in the dirt and concrete walls were poured on each side. Some pipes were put in the middle and the whole thing was covered up with gravel.
A metaphor-loving "architect" might point at this and say, "Yes! See, that shows how important a proper foundation is!" I don't get it. To me, it says, "if you're going to put something in the ground, dig a hole to put it in." But... it doesn't take a genius to realize this... there is no "ground" in software development. What would it even mean to "dig a hole" in a piece of software?
(Thanks to
object
Cool, ain't it?
Kind of discovery, actually. There is no gravitation in software, why do we need a foundation? More, I know a certain very large software which, provided that good set of unittests regularly checks all the crap thrown in by developers, can sustain major changes in the "background", "foundation" software, and users do not notice anything.
The whole institute of architects, senior architects, etc. Do you think the guy that invented BitTorrent, or the other guy that invented AJAX, or the other guy that invented Ruby, or the other guy that invented Rails, that any of them is an architect? Do you think Neal or Josh are architects? Was Dijkstra an architect? Only the moments it was required, not before and not after.
"After the Great Hole Digging Experience, there was more waiting. Then, just this week, a bunch more people showed up. They built the frame of each wall on the ground, then levered it up to form the walls of the building. Then they nailed boards across the tops of the walls to form the frame of the ceiling. Today--yep, they were working on a Saturday--they added plywood or something similar to the frame to form solid walls and ceiling.
Again, I just don't see the comparison. What does software development have to learn from framing a house? Do we build our pieces of our software on the ground, then lever it up to form walls? Do we nail plywood to the frame to keep out the wind and rain?"
A metaphor-loving "architect" might point at this and say, "Yes! See, that shows how important a proper foundation is!" I don't get it. To me, it says, "if you're going to put something in the ground, dig a hole to put it in." But... it doesn't take a genius to realize this... there is no "ground" in software development. What would it even mean to "dig a hole" in a piece of software?
(Thanks to
![[livejournal.com profile]](https://www.dreamwidth.org/img/external/lj-userinfo.gif)
Cool, ain't it?
Kind of discovery, actually. There is no gravitation in software, why do we need a foundation? More, I know a certain very large software which, provided that good set of unittests regularly checks all the crap thrown in by developers, can sustain major changes in the "background", "foundation" software, and users do not notice anything.
The whole institute of architects, senior architects, etc. Do you think the guy that invented BitTorrent, or the other guy that invented AJAX, or the other guy that invented Ruby, or the other guy that invented Rails, that any of them is an architect? Do you think Neal or Josh are architects? Was Dijkstra an architect? Only the moments it was required, not before and not after.
"After the Great Hole Digging Experience, there was more waiting. Then, just this week, a bunch more people showed up. They built the frame of each wall on the ground, then levered it up to form the walls of the building. Then they nailed boards across the tops of the walls to form the frame of the ceiling. Today--yep, they were working on a Saturday--they added plywood or something similar to the frame to form solid walls and ceiling.
Again, I just don't see the comparison. What does software development have to learn from framing a house? Do we build our pieces of our software on the ground, then lever it up to form walls? Do we nail plywood to the frame to keep out the wind and rain?"