Well, I was recently asked to answer some of this kind of questions and explain this broad software development concepts a little bit more. Then, I remembered I’ve actually been asked a lot regarding this topic. Great, let’s make a cheat sheet for everyone 🙂
Disclaimer: I made this mostly with knowledge coming off the top of my head and after some light googling. Of course this diagram doesn’t include everything that exists in software development but I hope it covers a lot of at least the most popular concepts that are out there.
If you think something else worth mentioning is missing, I’d be happy to read your opinions in the comments.