For better or worse, I think a lot about what makes software development successful, and closely aligned with what the end user wants. A technical lead on Google+ was asked about how the engineering process was different. He really summed it up nicely.
"We put extra emphasis on engineering speed/agility--we try to release code updates on a daily basis while still keeping quality/stability/latency as high as you'd expect from google. This helps us move fast and respond quickly to user feedback."
Notice he doesn't even have to preach it... it's just a matter of fact. The feedback part is the special sauce. The hardest lesson for me to learn in this occupation, and one not widely accepted until really the last few years, is that it's arrogant to believe you have all of the answers up front. All the more reason to keep those stakeholders in the loop early, and iterate quickly based on their feedback.