How cam I make a building's walls grow as if its being constructed?
For the walls you could use a Boolean modifier:


Create your walls.
Create an object that will mask your walls, like a cube.
Give your walls a Boolean modifier. Choose Operation > Difference and select your cube as Object.
To make the cube invisible, go in the Properties panel > Display > Maximum Draw Type > Wire, and in Cycles Settings, disable all the options.
Now when you move up or down the cube it will make your wall visible and invisible, you just have to put some keyframes.
Repeat the same operation for the other walls with new cubes.


For the roof :


Create an array of tiles, with or without an Array modifier.
Duplicate this array of tiles with a new Array modifier. Put some keyframes on the Count Value to display more and more tiles.