UE Software engineering techniques