# Product Requirements Document (PRD) A Product Requirements Document (PRD) is a useful document describing the requirements for a product or specific product features. In the past, when UML was highly popular, companies spent huge amounts of time writing thousands of pages of requirements before implementing anything. Those were the days of waterfall software development. Then, over time, people realized that those documents failed to capture the whole spectrum of information required to actually implement useful software. In addition, those documents quickly lagged behind and didn't match reality. Last but not least, everything changes, so by the time teams started the development, what the document described was often already not matching the current needs. While this old-school approach has been mostly abandoned in favor of more agile approaches, it now makes a lot more sense when using AI tools to improve development speed, especially with the rise of "agentic" systems that can "Think" and "Act". With tools such as [[Cursor.com]] and [[Cline]], it's now possible to choose between think and act modes. In think mode, the [[Large Language Models (LLMs)]] generate plans as output. And in act mode, they write code, execute commands, etc. It's especially powerful to use the think mode of those tools to create a Product Requirements Document describing the feature to implement. Then, switch to act mode, and use the PRD as input for the implementation. This approach leads to much better results with AI, because it provides them with clear guidance about what to implement and how.