I recently had a conversation with a friend of mine who's teaching a JC class on Logic--on such subject. We found ourselves on said topic, however, by discussing a real-life situation that seemed to violate logic of foundational core moral standards. Things about the situation were utterly perplexing; the path from the reality of yesteryear seemed that it could not lead to today's reality. Yet, as I seem to hear so often lately: "It is what it is." Funny though... I couldn't help but notice that the logic that we tried to apply to my friend's situation was quite similar to that of the logic we try to apply to engineering a piece of software:Philosophy is the discipline concerned with questions of how one should live (ethics); what sorts of things exist and what are their essential natures (metaphysics); what counts as genuine knowledge (epistemology); and what are the correct principles of reasoning (logic).[1][2] The word is of Greek origin: φιλοσοφία (philosophía), meaning love of wisdom.[3]
We take this timeframe (SDLC) and try to mesh different sorts of tasks in to virtual compartments of the timeframe--sort of like Play Dough in to cookie cutters--to help us manage intricacies that our brains can't really handle all at once. The SDLC is really just a tool that some smart people came up with to help us get stuff done.
Logic is really just some framework that helps us explain certain things (!=all things) away in reality. Also derived by smart people.
Sometimes the Play Dough just doesn't all fit.