A system for programming electrical stimulation of a patient using an implantable electrical stimulation system comprising an implantable pulse generator and a lead (12; 100) having a plurality of electrodes (26; 125), the system comprising a processor and an implantable electrical stimulation system comprising an implantable pulse generator and a lead (12; 100) having a plurality of electrodes (26; 125); characterized in that the processor is configured to: receive a first response for each of a plurality of first monopolar stimulations performed using a subset of one or more of the electrodes (26; 125) of the lead (12; 100) as a cathode for each of the first monopolar stimulations; select a first subset of one or more of the electrodes (26; 125) based on the first responses; receive a second response for each of a plurality of second monopolar stimulations performed using a subset of one or more of the electrodes (26; 125) of the lead (12; 100) as an anode for each of the second monopolar stimulations; select a second subset of one or more of the electrodes (26; 125) based on the second responses; select a programming subset of one or more of the electrodes (26; 125) based, at least in part, on the responses associated with the first subset and second subset; receive a third response for each of a plurality of third monopolar stimulations performed using the programming subset with each of the third monopolar stimulation having a different stimulation amplitude; select a programming stimulation amplitude based on the third responses; receive direction to program the implantable pulse generator with the programming subset of one or more of the electrodes (26; 125) and the programming stimulation amplitude; and initiate a signal that provides the implantable pulse generator of the electrical stimulation system with the programming subset of one or more of the electrodes (26; 125) and the programming stimulation amplitude for generating electrical stimulation for the patient through the electrodes (26; 125) of the lead (12; 100). receive a first response for each of a plurality of first monopolar stimulations performed using a subset of one or more of the electrodes (26; 125) of the lead (12; 100) as a cathode for each of the first monopolar stimulations; select a first subset of one or more of the electrodes (26; 125) based on the first responses; receive a second response for each of a plurality of second monopolar stimulations performed using a subset of one or more of the electrodes (26; 125) of the lead (12; 100) as an anode for each of the second monopolar stimulations; select a second subset of one or more of the electrodes (26; 125) based on the second responses; select a programming subset of one or more of the electrodes (26; 125) based, at least in part, on the responses associated with the first subset and second subset; receive a third response for each of a plurality of third monopolar stimulations performed using the programming subset with each of the third monopolar stimulation having a different stimulation amplitude; select a programming stimulation amplitude based on the third responses; receive direction to program the implantable pulse generator with the programming subset of one or more of the electrodes (26; 125) and the programming stimulation amplitude; and initiate a signal that provides the implantable pulse generator of the electrical stimulation system with the programming subset of one or more of the electrodes (26; 125) and the programming stimulation amplitude for generating electrical stimulation for the patient through the electrodes (26; 125) of the lead (12; 100).