I think most teams using agile, or developing software with some agile practices are in fact working within a hybrid process, where the requirements gathering and analysis, the writing of offers and contracts, and sometimes the delivery of the software all happen in waterfall style phases, and only the development itself is conducted in iterations and with agile technical practices. I still think this is a bit better than full on waterfall. Depending on context of course. It may not be as good as full on agile either.