Narrative:

I was working all positions combined. Aircraft X called ready for departure on runway xx. I knew that prior to the clearance that a maintenance aircraft had previously been taxiing on it but I assumed that he was long gone as plenty of time had passed. After clearing the aircraft for departure; I saw that the taxiing aircraft had stopped and was still on the runway and it would seem aircraft X noticed it also as we stepped on each other. Departure roll never occurred. I canceled his takeoff clearance and re-cleared him once the taxiing aircraft was off the runway. In my opinion; there were several causes for this mistake:1. First and foremost; I was distracted by other duties and my scan failed. I also was the victim of my own expectation bias as plenty of time had passed that most of the other maintenance aircraft would have been off the runway at the time.2. The ramp construction has gone on for an incredible length of time and the only way that maintenance aircraft have to get from one area to the next is on the runway. Taxiing on the runway is a standard operation and is a safety issue in and of itself.3. I was distracted by updating the binders in the tower cab and other flm duties.4. The flms are required to be in the cab for 5 hours a shift. Due to the social distancing requirements associated with covid-19; the only way to accomplish all duties and meet all requirements is for the flms to work 5 hours a shift while the staffing only works 3.I don't know if there's anything that can be done on a facility level but I can speak for myself. No amount of paperwork nor organizational rules will ever pre-empt providing a safe environment for aircraft. I may have lost sight of that and I know now that there's nothing that cannot wait to be done. Paperwork can always be done later.

Google
 

Original NASA ASRS Text

Title: Tower Controller and pilot reported a runway incursion due to expectation bias. Pilot stated the Controller was working multiple positions at the time of the event.

Narrative: I was working all positions combined. Aircraft X called ready for departure on Runway XX. I knew that prior to the clearance that a maintenance aircraft had previously been taxiing on it but I assumed that he was long gone as plenty of time had passed. After clearing the aircraft for departure; I saw that the taxiing aircraft had stopped and was still on the runway and it would seem Aircraft X noticed it also as we stepped on each other. Departure roll never occurred. I canceled his takeoff clearance and re-cleared him once the taxiing aircraft was off the runway. In my opinion; there were several causes for this mistake:1. First and foremost; I was distracted by other duties and my scan failed. I also was the victim of my own expectation bias as plenty of time had passed that most of the other maintenance aircraft would have been off the runway at the time.2. The ramp construction has gone on for an incredible length of time and the only way that maintenance aircraft have to get from one area to the next is on the runway. Taxiing on the runway is a standard operation and is a safety issue in and of itself.3. I was distracted by updating the binders in the Tower Cab and other FLM duties.4. The FLMs are required to be in the Cab for 5 hours a shift. Due to the social distancing requirements associated with COVID-19; the only way to accomplish all duties and meet all requirements is for the FLMs to work 5 hours a shift while the staffing only works 3.I don't know if there's anything that can be done on a facility level but I can speak for myself. No amount of paperwork nor organizational rules will ever pre-empt providing a safe environment for aircraft. I may have lost sight of that and I know now that there's nothing that cannot wait to be done. Paperwork can always be done later.

Data retrieved from NASA's ASRS site and automatically converted to unabbreviated mixed upper/lowercase text. This report is for informational purposes with no guarantee of accuracy. See NASA's ASRS site for official report.