Provide shelter the natural way. Plant evergreen vegetation like a hedge, a towering evergreen, or a sprawling conifer. Do not trim the vegetation to provide extra cover although it might make your yard look messy. Some evergreen plants with fruits and seed can also be a food source for the birds.
Make a brush pile:
You can make a brush pile in your backyard by collecting sticks, twigs and branches in one corner and making a pile out of them. this may make your yard look messy but if you are creative enough you can carry it off well. Plant blooming vines around it to make it look attractive. Birds will make shelter in the spaces between the branches.
Roost boxes and bird houses:
Get a roost box or a bird house from the market and hang it somewhere with direct sunlight. A roost box is more specialized than a bird house because it has lesser ventilation holes and have an entrance from the bottom. You can make your roost box using spare wood and nails at home.
A hanging basket can even provide shelter to small birds. These baskets are made from thatch and come at very low prices.