Part of the agile philosophy is to build quickly, then revise, re-think, re-invent. The proliferation of cloud options can support your efforts to get a solution — any solution — in the hands of users quickly.
During my tenure on detail to MITRE, I was fortunate enough to be able to construct not just the cloud architecture for the Affordable Healthcare Act federal data hub and subscriber eligibility exchange, but to manage a team of multidisciplinary Java developers. My team built a prototype of the service connectors, the ESB and monitoring infrastructure (Nagios-based), and portal interfaces. One great thing about MITRE -- being able to take a vision for a solution the Government is asking for, and run with it. At the Centers for Medicare & Medicaid Services, the CIO was able to hand over the architectural guidelines and sample code to get the CMS-led effort moving forward quickly.
From past experience, I found my previous "lessons learned" borne out: my team was able to find potential points of failure early -- and inexpensively. While service oriented architecture (SOA) is not new by any stretch, such a large-scale implementation as a services network to support millions of U.S. citizens is tought, and real innovation always includes a risk of failure. By building the prototype, we sorted through many approaches that didn't work well, and focused on a few, early in the dev cycle.
Working with some really smart people at MITRE and at CMS, I was able to gather more accurate requirements. Traditional requirements gathering techniques such as interviews and focus groups sometimes come up short because non-techies may find it difficult to conceptualize a solution before seeing it. By developing a working prototype, we were able demonstrate the functionality, and help coalesce requirements for the final approach.