While automating GUI one has to be very careful, do not start the automating when the project starts, else you will ends up re-writing the the automation scripts. Many a times vendors provide training and support of automation tools to the resources. If not, then you will be considered an outsider expert. Developing and maintaining test automation frameworks and automated scripts, it requires a lot of time and expertise and thus, it is considered as a long term investment.
Before start automating a set if functional and stable features has to be ready. It will consider wise if you are sure that the GUI and features will not change. The cost of maintaining will go high if you will automate and proceed the features that are keep on changing in GUI.
Last but the most important thing need to be considered is to maintain the scripts and work up to date. Design the scripts in a way that it needs less maintenance in the future. Make the plan and accomplish the 'automation strategy'.