This answer is to be seen in the context of the question, i.e. when having the need to do something, but simply not being able to procure req's and architectural decisions in time. I.e., when developers are sitting around twiddling thumbs. The contrasting 4 bullet points say "over", not "instead of"; the parts on the right-hand side are still valid, but there is a priority.
Agile development has an opinion about that. In fact, the 4 core tenets of the Agile Manifesto:
- Individuals and interactions over processes and tools
- Working software over comprehensive documentation
- Customer collaboration over contract negotiation
- Responding to change over following a plan
For your question this means: Working software is the most important objective you should have when developing software (for some definition of "working" which may include aspects like security or performance in addition to the actual features). Every other artifact (i.e. preliminary architectures living just in the form of documents) is of secondary importance.
The issues stemming from missing requirements or architectures are handled by being about to quickly respond to changes. This is a second hallmark of agile development.
While this may sound fuzzy, it is very concrete. A good development approach is styled such that from the very get-go, you are able to achieve bullet point 2 and 4 with relative ease. Granted, this is a catch-22 in some part since a good architecture is somewhat of a prerequisite to be able to respond to changes well, but then there are also ready-made "meta-architectures" like the The Twelve Factor App, which can readily be used as guidelines of how to approach things if you don't have a particular hand-crafted architecture yet; or to be more concrete, most modern programming environments come with opinions or defaults for good architecture (i.e., Spring Boot, Ruby on Rails etc.).
So, for a fresh application, you can do worse than pick some existing agile process (e.g., Scrum, Kanban etc.), take a quick reminder glance over the 12-factor app, grab a modern programming environment focused on the kind of app you want to create, and start coding. Your main goal is to get the app out to users ASAP (via the concept of the Minimum Viable Product), to gather feedback, and start the loop of continuously extending and fixing your app.
You will quickly see where your randomly picked architecture went wrong, and as you don't have a codebase of decades yet, it should be relatively easy to refactor or start individual parts from scratch after a very short time.