ABSTRACT

Agile software development refers to software development lifecycle methodologies based on the idea of iterative development, in which requirements and solutions evolve through collaboration between self-organizing, cross- functional teams. Scrum and Kanban are the dominant implementations of Agile, and Scrum is the one most often found in software development organizations. With the successful rise and proof of viability of Scrum to speed up software development, further changes made to speed up how software is deployed came on the scene with the marriage of development and operations. Scrum role team titles are only relevant in establishing each person’s specific expertise, but they don’t lock those who are in that role into only performing that activity. As that work progresses and a final draft of a system design is available, the process of threat modeling and attack surface analysis will help to remove design defects that could lead to the most expensive and hardest to remediate vulnerabilities.