1974-ben a Western Kentucky Egyetemen matematikából vizsgázott. Kettő évig egy középiskolában matematikát tanított. 1978-ban szerzett pilóta jogosítványt. Szolgálati repülőgépe az F–4 Phantom II volt. 1983-ig Japánban, Dél-Koreában és a Fülöp-szigeteken szolgált. 1983-ban átképezték az F/A–18 gépre. 1986-ban tesztpilóta kiképzésben részesült. Tesztpilótaként az F/A–18 Hornet, az A–7 Corsair II, valamint az F–4 Phantom II különböző fejlesztéseit repülte, tesztelte. Több mint 6600 órát repült, több mint 30 különböző repülőgépen.
1990. január 17-től a Lyndon B. Johnson Űrközpontban részesült űrhajóskiképzésben. Kiképzett űrhajósként tagja több támogató (tanácsadó, problémamegoldó) csapatnak. Négy űrszolgálata alatt összesen 42 napot, 0 órát és 5 percet (1008 óra) töltött a világűrben. Űrhajós pályafutását 2005 februárjában fejezte be. A NASA Mission Assurance Johnson Space Center (JSC) igazgatóhelyettese.
STS–68, az Endeavour űrrepülőgép 7. repülésének pilótája. A Space Lab Radar (SRL–2) segítségével a globális környezeti változások tanulmányozását végezték egy környezeti és geológiai program keretében. A Föld felszínéről radartérképet készítettek. Több mint 14 000 fényképet készítettek. Első űrszolgálata alatt összesen 11 napot, 5 órát és 46 percet (270 óra) töltött a világűrben. 7 569 092 kilométert (4 703 216 mérföldet) repült, 182 kerülte meg a Földet.
STS–79, az Atlantis űrrepülőgép 17. repülésének pilótája. Hatodik repülés a Mirűrállomásra. Magával vitte az új dokkoló rendszert, illetve a hosszútávra berendezkedő legénységet. Második űrszolgálata alatt összesen 10 napot, 3 órát és 19 percet (243 óra) töltött a világűrben. 6 300 000 kilométert (3 900 000 mérföldet) repült, 160 kerülte meg a Földet.
STS–89 az Endeavour űrrepülőgép 12. repülésének parancsnoka. A nyolcadik Shuttle–Mir dokkolással több mint 9000 kilogramm tudományos felszerelést, logisztikai hardvert és vizet is szállított. Az előírt repülési, tudományos és kísérleti program felelőse. Összesen 8 napot, 19 órát és 48 percet (211 óra) töltött a világűrben. 5 800 000 kilométert (3 600 000 mérföldet) repült, 138 kerülte meg a Földet
STS–106 az Atlantis űrrepülőgép 22. repülésének parancsnoka. Alapellátásként 29 700 kilogramm árút (élelmiszer, víz, akkumulátorok, hálózati átalakítók, WC, fitneszgépek) szállított. Űrséták alatt (kutatás, szerelés) elvégezték az előírt programokat. Legfőbb feladata a robotkarok működtetése, karbantartása volt. Első űrszolgálata alatt összesen 11 napot, 19 órát és 12 percet (283 óra) töltött a világűrben. 7 900 000 kilométert (4 900 000 mérföldet) repült, 185 kerülte meg a Földet