AppSec maturity DevOps process agile practices awareness program defensive programming design sprint dynamic analysis penetration testing practical security product backlog development resilience principles scrum process security architecture security design security perimeter security principles software development practice software security education static code analysis training engagement