3 ms·
Sure, but this is sort of like saying there is only one programming language because they're all turing complete. Code produces behavior, and that's the actual
by Groxx 4y ago
Sure, but this is sort of like saying there is only one programming language because they're all turing complete. Code produces behavior, and that's the actual goal, so why do we bother separating them and talking about it? Produce behavior! Wait, no, we're all just workers because farming is also just behavior. If you really think about it, it's all just change, let's refer to it as such, not "making a bridge" or "toasting bread".
For there not being two distinct phases: well.... it depends on how you draw the line. "Prototype works" -> every change after that is arguably maintenance, not development, since it has been developed. What you're doing is then "just" handling its interactions with the real world - roughly equivalent to repair (fix bug / replace broken component) and maintenance (prevent total failure when one host dies / lubricate parts so they don't fail as quickly).
We don't refer to lubricating and replacing parts as building the machine though. I'm not building my laptop when I plug it into a charger.
---
Even if we both stop taking things to absurd extremes: I agree things are not "developed" and then "maintained" in most modern, always-updating systems, but I can definitely separate much of what I do into "development" and "maintenance". Development is whatever is focused on getting a thing working. Maintenance is whatever is focused on adjusting the system to make that development reasonable beyond the minimum hack, or make the changes long-term palatable, or updating libraries, or enhancing observability to resolve issues faster, or restructuring things to make future changes easier, or...
The list of things we do beyond initial "development" of a feature almost totally regardless of where that line is drawn is vast, and you can often adjust how much of it you do now vs later... but you generally cannot do "some" development later. It either works or it doesn't. You have a button that does nothing or a button that does something. Sure, you might be able to split a feature into MVP and nice-to-have sub-features, but you can't say "oh we'll figure out the conditions of that if statement next month, ignore it for now".