Many of the same techniques are used. The agile philosophy and associated approaches directly address risk.
In traditional project management (PM) and software development life cycle (SDLC) much time and, therefore, cost are sunk into the Analysis, Requirements, Planning, and Design steps before any realizable value is created. If, for whatever reason, the project is terminated then all of that is lost. Testing is traditionally executed after Development is complete. The longer the gap between the activities, the greater the impact: this ping-ponging of effort results in development having to revisit those items and delays planned work. Misunderstandings and miscommunications related to requirements are compounded by the layers and time between initial gathering and the delivery of the product; users express desires and wait for delivery. Weekly status calls where workers report against a project plan are usually the only insight into progress. postmortem conducted for Lessons Learned to be applied in the future is the only input for process improvement.
With an agile approach, once the purpose and vision is established, the work is done in incremental iterations that include all applicable aspects of the SDLC including testing. Test first approaches also promote less waste by avoiding unnecessary work and helping to ensure needs are met. When the organization needs to change priorities, i.e. seize a market opportunity, the completed work is releasable; there is little to no sunk cost to be lost. User involvement and the expectation of change due to increased learning throughout the effort results in a more useful solution. The continuous involvement of business people results in less delays and greater understanding of progress. Having the work available ensure a more empirical measurement of effort and outcomes. Regular inspection and retrospection for improving the way work is done is a key aspect of being agile.