Steps can be taken to manage flooding. This is known as river management. Often these steps involve trying to lengthen the amount of time it takes for water to reach the river channel, thereby increasing the lag time.
Hard engineering methods tend to be more expensive and have a greater impact on the river and the surrounding landscape. They will require more extensive alterations to the river to try to stop flooding.
Soft engineering methods are usually more ecologically sensitive. They will attempt to manage flood rather than prevent it.