In particular I want to present the bullet points from one slide and then address another aspect regarding levels of automation:
- The pilot flying should remain as 'one' with the aircraft in any low altitude maneuvering environment with the autopilot engaged
- To maintain situational awareness of both aircraft performance and flight path.
- The autopilot and autothrottles have limitations which affect performance
- Crews are returning to the autopilot in an attempt to resolve a deteriorating situation
- Autopilot and Autothrottles, however good, cannot recover the aircraft from a critical flight attitude
If we consider what we do in software engineering, and especially in areas where there are strong privacy and security aspects such as any form of web and database development, do we end up relying upon our skills and technique or do we blindly follow process and procedure? Do we blindly follow waterfall or agile processes to their logical conclusion and attempt to beat that deadline and deliver something knowing that the quality of the delivered product is deteriorating. Do we allow our processes to become our overly trusted autopilots?
Finally three levels of automation were presented: low, medium, high. The lowest corresponds to hand flying, the medium to using the autopilot to guide the plane and the highest using the flight management computer to run everything.
I want to discuss these in a later post, but for now I'll leave it as an exercise to map these level to how we act in a given software engineer project.
Probably the biggest takeaway from this lesson in aviation when applied to any aspect of software engineering is:
If you are losing control of any aspect of project then the process won't correct it; only you as a software engineer will - if you take control.