The best resource I am aware of for these questions is google.com
]. There are tons of different models. Agile alone has a lot of different models.
You should likely do some google searches first to get a bearing on what exactly you are looking for. Right now, I think your questions are too broad.
My experience has mostly always been some form of Agile. If you know other developers, I would recommend asking them what they use and what works and what doesn't.