I tend to agree that a human visit to Mars is premature. With current technological knowledge, we could not make a self sustaining colony. We'd just visit for a little while and leave, accomplishing little. The goal absolutely has to be self sustainability. That means--first and foremost--understanding how/where to get air, water, food, and shelter. That means understanding how to manufacture--onsite--the tools we need to do this, because bringing them with us is not an affordable option. The obvious thing to do is to first learn how to do this. We know air and water is somewhat easily obtained on Mars. There's some question on the source of nitrogen for growing food. There's a huge question about building infrastructure out of local material. How do we obtain metals? Which are the best ores on Mars for mining? Where are they? What are the processes for extracting the metals? Answering these questions obviously has to happen before people are sent. And NASA's focus is not on these things. NASA is focused on the quest for life on Mars, and these other questions are secondary and not uttered openly because people think industry=bad, and runs counter to the idea that we need to keep sending probes to Mars to search for life, which justifies what little money they get. The only affordable options are to do this on the moon. Asteroids are not an option, because mining an asteroid is totally different than mining in a gravity well and you're dealing with different minerals and more limited source materials.
Three things need to happen here:
1. The moon must be the stepping stone.
2. Telling the American people that our focus is colonization, not searching for ET.
3. Politicians need to stop shifting NASA goals.
And for fucks sake, just stick with one heavy launch platform and stop trying to reinvent the wheel. The shuttle was a white elephant. The space station was a welfare program for the shuttle. Just use a normal fucking rocket. That's the most efficient way to put stuff into orbit. Stick with it.