Empowering developers with autonomy, mastery, and purpose is key to effectively including security testing into the software development lifecycle.
- NASA's success in shifting left security testing into their sdlc was due to empowering developers
- Developers need autonomy, mastery, and purpose to be motivated to do security testing
- Autonomy means developers are in control of running tests and acting on results
- Mastery means developers have the skills and knowledge to effectively do security testing
- Purpose means developers understand the importance of security testing and how it contributes to the overall success of the project
NASA's success in using CodeQL to find and fix critical bugs in their software before deploying to Mars was due to empowering developers with security testing practices. By giving developers autonomy, mastery, and purpose, they were able to effectively include security testing into their sdlc and avoid late security testing and patching in production. This approach was also used in the development of the Perseverance rover, which also landed safely on Mars.